--- name: brainstorming-ideas description: Turn ideas into designs through collaborative dialogue. Use when user wants to brainstorm, design features, explore approaches, or think through implementation before coding. user-invocable: true allowed-tools: - AskUserQuestion - Task - TodoWrite - Read - Grep - Glob - Write - mcp__perplexity-ask__perplexity_ask - WebFetch - Bash(git *) argument-hint: [] --- # Brainstorming Ideas Into Designs Transform vague ideas into fully-formed designs through structured collaborative dialogue. **Use TodoWrite** to track these 7 phases: 1. Understand the idea (dialogue first, no agents) 2. Explore requirements (Starbursting questions) 3. Checkpoint - offer exploration/research options 4. Research similar solutions (if requested) 5. Present approaches with recommendation 6. Validate design incrementally 7. Document and next steps --- ## Core Principles - **Dialogue first** - Ask the user before spawning any agents - **One question at a time** - Never batch multiple questions - **Multiple choice preferred** - Easier to answer than open-ended - **"Other" always available** - Free text input for custom responses - **YAGNI ruthlessly** - Challenge every feature's necessity - **Incremental validation** - Present design in 200-300 word sections - **Agents on request** - Only explore/research when user chooses it --- ## Phase 1: Understand the Idea Start with dialogue, not agents. Ask the user directly. ### 1a. Initial Question Use AskUserQuestion: | Header | Question | Options | | --------- | ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Idea type | What would you like to brainstorm? | 1. **New feature** - Add new functionality 2. **Modification** - Change existing behavior 3. **Integration** - Connect with external system 4. **Exploration** - Not sure yet, let's discover | ### 1b. Follow-up (based on response) Ask clarifying questions using AskUserQuestion. Keep it conversational: - "Can you describe this in a sentence or two?" (free text via "Other") - "What triggered this idea?" with context-appropriate options - "Is there an existing feature this builds on?" --- ## Phase 2: Explore Requirements (Starbursting) Ask questions **one at a time** using AskUserQuestion. Adapt based on idea type. ### Question Framework (5WH) | Question Type | When to Ask | Example AskUserQuestion | | ------------- | ------------------------------ | ------------------------------------------------------------------------------------ | | **WHO** | Always first | "Who will use this?" → Options: Existing users, New segment, Internal, API consumers | | **WHY** | After WHO | "What problem does this solve?" → Options based on detected pain points | | **WHAT** | After WHY is clear | "What's the core capability?" → Open or options based on research | | **WHERE** | For integrations/modifications | "Where should this live?" → Options based on codebase exploration | | **HOW** | After approach research | "How should we implement?" → Present 2-3 technical approaches | ### Adaptive Questioning - Skip questions when answers are obvious from context - If user seems certain, move faster to approaches - If user seems uncertain, explore deeper with sub-questions - Use "Other" option to allow custom responses --- ## Phase 3: Checkpoint - Gather More Context? After understanding requirements, **ask before spawning any agents**: | Header | Question | Options | | --------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Next step | How should we proceed? | 1. **Explore codebase** - Check existing patterns and tech stack 2. **Research solutions** - Look up how others solve this 3. **Both** - Explore then research 4. **Skip to approaches** - I know what I want | ### If user chooses "Explore codebase": ``` Task( subagent_type="Explore", prompt="Quick scan: project structure, tech stack, patterns relevant to [user's idea]", run_in_background=false ) ``` Then summarize findings and ask: "Based on this, should we also research external solutions?" ### If user chooses "Research solutions": Proceed to Phase 4. ### If user chooses "Skip to approaches": Jump directly to Phase 5 (Present Approaches). --- ## Phase 4: Research Similar Solutions (If Requested) Only run when user explicitly chose research in Phase 3. ### 4a. Perplexity Query ``` mcp__perplexity-ask__perplexity_ask({ messages: [{ role: "user", content: "How do leading [industry] products implement [feature type]? Include architectural patterns, UX approaches, and trade-offs. Focus on [tech stack] implementations." }] }) ``` ### 4b. Follow Citations After Perplexity response, WebFetch top 2-3 relevant sources: ``` WebFetch(url="", prompt="Extract implementation details, code patterns, and lessons learned for [feature]") ``` ### 4c. Synthesize Findings Present research summary before asking approach preference: ```markdown ## Research Findings **Common patterns:** - [Pattern 1]: Used by X, Y. Trade-off: ... - [Pattern 2]: Used by Z. Trade-off: ... **Recommended for our context:** [Pattern] because [reasons] ``` --- ## Phase 5: Present Approaches Use AskUserQuestion with 2-4 options: | Header | Question | Options | | -------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | | Approach | Which approach fits best? | 1. **[Recommended]** - Description + key trade-off 2. **[Alternative]** - Description + key trade-off 3. **Minimal** - YAGNI version | ### Approach Template For each option, briefly cover: - **What**: Core implementation - **Trade-offs**: Complexity vs flexibility, Now vs later - **Fits when**: Scenario where this shines --- ## Phase 6: Validate Design Incrementally Present design in sections (~200-300 words each). After each section, use AskUserQuestion: | Header | Question | Options | | -------- | ------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | | Validate | Does this [section] look right? | 1. **Yes, continue** - Move to next section 2. **Needs changes** - I'll explain 3. **Go back** - Revisit earlier decisions | ### Design Sections 1. **Architecture Overview** - Components, responsibilities, relationships 2. **Data Flow** - How information moves through the system 3. **API/Interface** - External contracts and user interactions 4. **Error Handling** - Failure modes and recovery strategies 5. **Testing Strategy** - How to verify it works ### YAGNI Checkpoints At each section, actively challenge: - "Do we need this now, or is it speculative?" - "What's the simplest version that solves the problem?" - "Can we defer this complexity?" --- ## Phase 7: Document and Next Steps ### 7a. Write Design Document ``` Write( file_path="docs/plans/YYYY-MM-DD--design.md", content="# [Feature] Design\n\n## Problem\n...\n## Solution\n...\n## Architecture\n..." ) ``` ### 7b. Commit Design ```bash git add docs/plans/*.md && git commit -m "docs: add [feature] design document" ``` ### 7c. Implementation Handoff Use AskUserQuestion: | Header | Question | Options | | ---------- | ------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Next steps | Ready to proceed with implementation? | 1. **Create worktree** - Isolated workspace via using-git-worktrees 2. **Create plan** - Detailed implementation steps 3. **Done for now** - Just save the design | --- ## Methodology Reference This skill incorporates proven brainstorming techniques: | Technique | How It's Used | | ------------------------- | ------------------------------------------------------------------------------------------- | | **Starbursting (5WH)** | Structured questions in Phase 2 | | **Design Thinking** | Empathize (context) → Define (WHY) → Ideate → Prototype (design sections) | | **SCAMPER** | For modifications: Substitute, Combine, Adapt, Modify, Put to other use, Eliminate, Reverse | | **Reverse Brainstorming** | "How could this fail?" during validation | | **Mind Mapping** | Architecture section visualizes relationships | --- ## Examples ``` /brainstorming-ideas # Start open-ended brainstorm /brainstorming-ideas user notifications # Brainstorm notification feature /brainstorming-ideas auth flow # Brainstorm authentication changes ``` **Execute this collaborative brainstorming workflow now.**