brainstorm
Collaborative requirements discovery session optimized for AI coding workflows. Creates task directories, seeds PRDs, runs codebase research, proposes concrete implementation approaches with trade-offs, and converges on MVP scope through structured Q&A. Use when requirements are unclear, multiple implementation paths exist, trade-offs need evaluation, or a complex feature needs scoping before development.
What this skill does
# Brainstorm - Requirements Discovery (AI Coding Enhanced) **CoreRule**: Interview me relentlessly about every aspect of this plan until we reach a shared understanding. Walk down each branch of the design tree, resolving dependencies between decisions one-by-one. For each question, provide your recommended answer. Ask the questions one at a time. If a question can be answered by exploring the codebase, explore the codebase instead. --- Guide AI through collaborative requirements discovery **before implementation**, optimized for AI coding workflows: * **Task-first** (capture ideas immediately) * **Action-before-asking** (reduce low-value questions) * **Research-first** for technical choices (avoid asking users to invent options) * **Diverge → Converge** (expand thinking, then lock MVP) --- ## When to Use Triggered from `$start` when the user describes a development task, especially when: * requirements are unclear or evolving * there are multiple valid implementation paths * trade-offs matter (UX, reliability, maintainability, cost, performance) * the user might not know the best options up front --- ## Core Principles (Non-negotiable) 1. **Task-first (capture early)** Always ensure a task exists at the start so the user's ideas are recorded immediately. 2. **Action before asking** If you can derive the answer from repo code, docs, configs, conventions, or quick research — do that first. 3. **One question per message** Never overwhelm the user with a list of questions. Ask one, update PRD, repeat. 4. **Prefer concrete options** For preference/decision questions, present 2–3 feasible, specific approaches with trade-offs. 5. **Research-first for technical choices** If the decision depends on industry conventions / similar tools / established patterns, do research first, then propose options. 6. **Diverge → Converge** After initial understanding, proactively consider future evolution, related scenarios, and failure/edge cases — then converge to an MVP with explicit out-of-scope. 7. **No meta questions** Do not ask "should I search?" or "can you paste the code so I can continue?" If you need information: search/inspect. If blocked: ask the minimal blocking question. --- ## Step 0: Ensure Task Exists (ALWAYS) Before any Q&A, ensure a task exists. If none exists, create one immediately. * Use a **temporary working title** derived from the user's message. * It's OK if the title is imperfect — refine later in PRD. ```bash TASK_DIR=$(python3 ./.trellis/scripts/task.py create "brainstorm: <short goal>" --slug <auto>) ``` Create/seed `prd.md` immediately with what you know: ```markdown # brainstorm: <short goal> ## Goal <one paragraph: what + why> ## What I already know * <facts from user message> * <facts discovered from repo/docs> ## Assumptions (temporary) * <assumptions to validate> ## Open Questions * <ONLY Blocking / Preference questions; keep list short> ## Requirements (evolving) * <start with what is known> ## Acceptance Criteria (evolving) * [ ] <testable criterion> ## Definition of Done (team quality bar) * Tests added/updated (unit/integration where appropriate) * Lint / typecheck / CI green * Docs/notes updated if behavior changes * Rollout/rollback considered if risky ## Out of Scope (explicit) * <what we will not do in this task> ## Technical Notes * <files inspected, constraints, links, references> * <research notes summary if applicable> ``` --- ## Step 1: Auto-Context (DO THIS BEFORE ASKING QUESTIONS) Before asking questions like "what does the code look like?", gather context yourself: ### Repo inspection checklist * Identify likely modules/files impacted * Locate existing patterns (similar features, conventions, error handling style) * Check configs, scripts, existing command definitions * Note any constraints (runtime, dependency policy, build tooling) ### Documentation checklist * Look for existing PRDs/specs/templates * Look for command usage examples, README, ADRs if any Write findings into PRD: * Add to `What I already know` * Add constraints/links to `Technical Notes` --- ## Step 2: Classify Complexity (still useful, not gating task creation) | Complexity | Criteria | Action | | ------------ | ------------------------------------------------------ | ------------------------------------------- | | **Trivial** | Single-line fix, typo, obvious change | Skip brainstorm, implement directly | | **Simple** | Clear goal, 1–2 files, scope well-defined | Ask 1 confirm question, then implement | | **Moderate** | Multiple files, some ambiguity | Light brainstorm (2–3 high-value questions) | | **Complex** | Vague goal, architectural choices, multiple approaches | Full brainstorm | > Note: Task already exists from Step 0. Classification only affects depth of brainstorming. --- ## Step 3: Question Gate (Ask ONLY high-value questions) Before asking ANY question, run the following gate: ### Gate A — Can I derive this without the user? If answer is available via: * repo inspection (code/config) * docs/specs/conventions * quick market/OSS research → **Do not ask.** Fetch it, summarize, update PRD. ### Gate B — Is this a meta/lazy question? Examples: * "Should I search?" * "Can you paste the code so I can proceed?" * "What does the code look like?" (when repo is available) → **Do not ask.** Take action. ### Gate C — What type of question is it? * **Blocking**: cannot proceed without user input * **Preference**: multiple valid choices, depends on product/UX/risk preference * **Derivable**: should be answered by inspection/research → Only ask **Blocking** or **Preference**. --- ## Step 4: Research-first Mode (Mandatory for technical choices) ### Trigger conditions (any → research-first) * The task involves selecting an approach, library, protocol, framework, template system, plugin mechanism, or CLI UX convention * The user asks for "best practice", "how others do it", "recommendation" * The user can't reasonably enumerate options ### Research steps 1. Identify 2–4 comparable tools/patterns 2. Summarize common conventions and why they exist 3. Map conventions onto our repo constraints 4. Produce **2–3 feasible approaches** for our project ### Research output format (PRD) Add a section in PRD (either within Technical Notes or as its own): ```markdown ## Research Notes ### What similar tools do * ... * ... ### Constraints from our repo/project * ... ### Feasible approaches here **Approach A: <name>** (Recommended) * How it works: * Pros: * Cons: **Approach B: <name>** * How it works: * Pros: * Cons: **Approach C: <name>** (optional) * ... ``` Then ask **one** preference question: * "Which approach do you prefer: A / B / C (or other)?" --- ## Step 5: Expansion Sweep (DIVERGE) — Required after initial understanding After you can summarize the goal, proactively broaden thinking before converging. ### Expansion categories (keep to 1–2 bullets each) 1. **Future evolution** * What might this feature become in 1–3 months? * What extension points are worth preserving now? 2. **Related scenarios** * What adjacent commands/flows should remain consistent with this? * Are there parity expectations (create vs update, import vs export, etc.)? 3. **Failure & edge cases** * Conflicts, offline/network failure, retries, idempotency, compatibility, rollback * Input validation, security boundaries, permission checks ### Expansion message template (to user) ```markdown I understand you want to implement: <current goal>. Before diving into design, let me quickly diverge to consider three categories (to avoid rework later): 1. Future evolution: <1–2 bullets> 2. Related scenarios: <1–2 bullets> 3. Failure/edge cases: <1–2 bullets> For this MVP, which
Related in Productivity
gitea-workflow
IncludedOrchestrate agile development workflows for Gitea repositories using the tea CLI. Use when working with Gitea-hosted repos and asking to 'run the workflow', 'continue working', 'what's next', 'complete the task cycle', 'start my day', 'end the sprint', 'implement the next task', or wanting guided step-by-step development assistance. Keywords: workflow, orchestrate, agile, task cycle, sprint, daily, implement, review, PR, standup, retrospective, gitea, tea.
microsoft-graph-gateway
IncludedRoute Microsoft Graph work in this workspace. Use when users want to read or write Outlook mail, calendar events, contacts, OneDrive or SharePoint files, Teams, Planner, To Do, users, groups, directory data, or arbitrary Microsoft Graph endpoints from VS Code. Prefer WorkIQ for common read scenarios. Use Microsoft Graph for write actions and gap-read scenarios that need exact Graph properties, filters, permissions, or endpoints.
copilotkit
IncludedUse when building with CopilotKit — setup, development, integrations, debugging, upgrading, or contributing. Routes to the appropriate specialized skill based on the task.
wordly-wisdom
IncludedProvides calibrated decision analysis using Charlie Munger-style multiple mental models, inversion, incentive mapping, circle-of-competence checks, misjudgment audits, second-order effects, and forecast updates. Use when the user asks for an oracle take, a hard call, a decision memo, a premortem, an outside view, a red-team, a sanity-check, what am I missing, think this through, or wants a strategy, hire, investment, plan, product, partnership, or major life choice analysed. Avoid for simple factual lookups or time-sensitive legal, medical, or market questions without fresh evidence.
swain-session
IncludedSession management and project status dashboard. Owns the full session lifecycle (start/work/close/resume), focus lane, bookmarks, worktree detection, and tab naming. Also serves as the project status dashboard — shows active epics, progress, actionable next steps, blocked items, tasks, GitHub issues, and recommendations. Worktree creation is deferred to swain-do task dispatch (SPEC-195). Triggers on: 'session', 'status', 'what's next', 'dashboard', 'overview', 'where are we', 'what should I work on', 'show me priorities', 'bookmark', 'focus on', 'session info'.
gandi
IncludedComprehensive Gandi domain registrar integration for domain and DNS management. Register and manage domains, create/update/delete DNS records (A, AAAA, CNAME, MX, TXT, SRV, and more), configure email forwarding and aliases, check SSL certificate status, create DNS snapshots for safe rollback, bulk update zone files, and monitor domain expiration. Supports multi-domain management, zone file import/export, and automated DNS backups. Includes both read-only and destructive operations with safety controls.