trellis-brainstorm
Guides collaborative requirements discovery before implementation. Creates task directory, seeds PRD, asks high-value questions one at a time, researches technical choices, and converges on MVP scope. Use when requirements are unclear, there are multiple valid approaches, or the user describes a new feature or complex task.
git clone --depth 1 https://github.com/fy-agent/fyagent /tmp/trellis-brainstorm && cp -r /tmp/trellis-brainstorm/.cursor/skills/trellis-brainstorm ~/.claude/skills/trellis-brainstormSKILL.md
# Trellis Brainstorm ## Non-Negotiable Planning Contract A request to build, implement, fix, refactor, or "go ahead" is not approval to leave planning. Task-creation consent is also not implementation approval. For every non-trivial task, the user must respond at least once after the initial request before implementation begins. If no clarification is needed, that response must approve the final planning summary described below. While any user-owned product, scope, UX, compatibility, risk, or acceptance decision remains unresolved, end the turn with exactly one highest-value question. Do not edit product code, dispatch implementation, or run `task.py start`. ## Non-Negotiable Evidence Rule If a question can be answered by exploring the codebase, explore the codebase instead. This is mandatory. Before asking the user a question, first check whether the answer is already available in code, tests, configs, docs, existing specs, or task history. Do not ask the user to confirm facts that the repository can answer. Ask only for product intent, preference, scope, risk tolerance, acceptance behavior, or decisions that remain ambiguous after inspection. Repository evidence establishes current behavior and technical constraints. The user's intended behavior, feature scope boundaries, and UX preferences are never answerable by repository evidence alone, even when an existing pattern exists; existing patterns are options and recommendation evidence, not decisions. --- Use this skill during Phase 1 planning to turn the user's request into clear requirements and planning artifacts. ## Preconditions Use this skill only after task-creation consent has been given and the user is ready to enter Trellis planning. If no task exists yet, create one: ```bash TASK_DIR=$(python ./.trellis/scripts/task.py create "<short task title>" --description "<one-line summary>" --slug <slug>) ``` Use a concise title from the user's request. Both the title and `--description` must be non-empty — `create` rejects blanks, and a record with either one empty is refused at archive. Use a slug without a date prefix. `task.py create` adds the `MM-DD-` directory prefix automatically. `task.py create` creates the default `prd.md`. Update that file with the current understanding before asking follow-up questions. ## Planning Flow 1. Capture the user's request and initial known facts in `prd.md`. 2. Inspect available evidence before asking questions: - code, tests, fixtures, and configs - README files, docs, existing specs, and domain notes - related Trellis tasks, research files, and session history when present 3. Separate what you found into: - confirmed facts - product intent still needed from the user - scope or risk decisions still needed from the user - likely out-of-scope items 4. If a user-owned decision remains, ask the single highest-value question, include your recommendation and trade-off, then stop. Do not perform implementation work in the same turn. 5. After each user answer, update `prd.md`, recompute the decision inventory, and repeat from step 2. 6. When no user-owned decision remains, create or update `design.md` and `implement.md` for complex tasks. 7. Run the requirement convergence gate, then the PRD convergence pass. 8. Present the final planning summary and stop. Do not run `task.py start` or edit product code in the same turn. 9. Only a subsequent user message that explicitly approves the latest planning summary authorizes `task.py start` and implementation. If the artifacts change materially after approval, repeat the final review. Do not invent a project-specific product/spec hierarchy. If the repository already has product, domain, or spec docs, use them. If it does not, proceed with the evidence that exists. ## Question Rules Ask only one question per message. Each question must include: - the decision needed - why the answer matters - your recommended answer - the trade-off if the user chooses differently Do not ask process questions such as whether to search, inspect files, or continue brainstorming. Do the evidence work directly. Ask the user only when the remaining issue is a product decision, preference, scope boundary, or risk tolerance choice. Recommendations are not default selections. Never choose a recommended product decision on the user's behalf merely because the user asked for implementation. Do not manufacture clarification questions when the request and repository evidence already resolve every decision. In that case, proceed directly to the final planning summary, which still requires a subsequent explicit approval. The final review is a required phase-transition gate, not a prohibited process question. Task-creation consent, the initial implementation request, and approval given before the latest final summary do not satisfy this gate. ## Thinking Framework: First Principles Analysis When requirements are vague, solutions feel over-engineered, or you're about to add complexity "because everyone does" — decompose to fundamental truths before reasoning upward. ### Step 1: Restate the Problem Strip away implementation details to one sentence. > Bad: "We need to add Redis caching to the user profile endpoint" > Good: "User profile data takes too long to load" ### Step 2: List Fundamental Truths What is absolutely true (not opinion or convention)? | Category | Examples | |----------|----------| | **Physical constraints** | Network latency ≥ 0, disk I/O has limits | | **Business rules** | "Users must see their own data" | | **Technical invariants** | "Data must be consistent" | | **User needs** | "The user wants X within Y seconds" | ### Step 3: Challenge Assumptions For each component of the current plan: - **Fact or convention?** "We always use REST" — why? - **What if we removed this?** If nothing breaks, it's unnecessary. - **Solving the actual problem or a symptom?** Trace the causal chain. - **Who benefits from this complexity?
Discovers and injects project-specific coding guidelines from .trellis/spec/ before implementation begins. Reads spec indexes, pre-development checklists, and shared thinking guides for the target package. Use when starting a new coding task, before writing any code, switching to a different package, or needing to refresh project conventions and standards.
Deep bug analysis to break the fix-forget-repeat cycle. Analyzes root cause category, why fixes failed, prevention mechanisms, and captures knowledge into specs. Use after fixing a bug to prevent the same class of bugs.
Use Trellis channel for live multi-agent collaboration, spawned workers, cross-agent review, progress inspection, forum channels, and channel log debugging.
Comprehensive quality verification: spec compliance, lint, type-check, tests, cross-layer data flow, code reuse, and consistency checks. Use when code is written and needs quality verification, before committing changes, or to catch context drift during long sessions.
Resume work on the current task. Loads the workflow Phase Index, figures out which phase/step to pick up at, then pulls the step-level detail via get_context.py --mode phase. Use when coming back to an in-progress task and you need to know what to do next.
Wrap up the current session: verify quality gate passed, remind user to commit, archive completed tasks, and record session progress to the developer journal. Use when done coding and ready to end the session.
Understand and customize the local Trellis architecture inside a user project. Use when modifying .trellis plus platform hooks, settings, agents, skills, commands, prompts, workflows, the channel runtime (trellis channel), bundled runtime agents under .trellis/agents/, selectable workflow templates, registry-backed spec refresh, cross-session memory (trellis mem) generated by trellis init, or AI-facing bundled skills (trellis-channel, trellis-session-insight, trellis-spec-bootstrap) and bundled-skill auto-dispatch flow.
Reach into past AI conversation history through the `trellis mem` CLI. Use whenever the user asks 'how did we solve X last time', 'have we discussed this before', 'what was the decision on X', 'remind me what we did in this task', '上次怎么解的', '之前讨论过吗', '想起一段对话', or when starting a brainstorm that overlaps prior work, debugging a familiar bug, continuing a task across sessions, or doing a finish-work review. Returns raw past dialogue; decide for the moment whether to update spec, append to task notes, quote inline in the answer, or just internalize.