Pre-implementation brainstorming process: deep interview protocol, approach exploration, and design doc generation. Provides process knowledge for `/workflows:brainstorm`. Use when brainstorming inline without the full command workflow, or when clarifying ambiguous requirements.
From compound-engineeringnpx claudepluginhub iliaal/compound-engineering-plugin --plugin compound-engineeringThis skill uses the workspace's default tool permissions.
references/deep-interview.mdSearches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Executes pre-written implementation plans: critically reviews, follows bite-sized steps exactly, runs verifications, tracks progress with checkpoints, uses git worktrees, stops on blockers.
Clarify WHAT to build before HOW to build it.
No implementation until the design is approved. Brainstorming produces a design document, not code. Do not invoke implementation skills, write production code, or create files outside docs/brainstorms/ until the user explicitly approves the design and moves to planning.
Before diving into questions, do two things:
Ground in the codebase (when applicable). If the brainstorm relates to existing code, read the relevant modules, patterns, and constraints before generating options. This prevents suggesting approaches that conflict with the actual architecture. Skip for purely abstract brainstorms (tech choices, product direction) where no codebase context applies.
Right-size the artifact. Match ceremony to problem size. If the brainstorm resolves in 3 messages, don't force a formal design doc -- a summary comment is enough. If it spans multiple sessions and touches architecture, write the full Phase 3 doc. No ceremony tax.
Assess whether brainstorming is needed:
Signals that requirements are clear:
Signals that brainstorming is needed:
If requirements are clear, suggest: "Your requirements seem clear. Consider proceeding directly to planning or implementation."
If the request describes multiple independent subsystems (e.g., "build a platform with chat, file storage, billing, and analytics"), flag this immediately. Don't spend questions refining details of a project that needs decomposition first.
User context calibration (before diving into the idea):
Read signals from the user's first message to calibrate communication register:
Adjust question style accordingly. Technical users get architecture-level probing. Non-technical users get experience-level probing. Don't ask about this calibration -- just do it. If signals are ambiguous, default to the vocabulary the user is already using.
Explore project context first: Before asking questions, read existing files, docs, and recent commits related to the idea. Understanding what exists prevents asking questions the codebase already answers and grounds the conversation in reality.
Ask questions one at a time by default. When probing a single dimension (e.g., data model, auth flow), 2-3 related questions together is acceptable -- see Question Clustering below.
Question Techniques:
Prefer multiple choice when natural options exist
Start broad, then narrow
Validate assumptions explicitly
Ask about success criteria early
Key Topics to Explore:
| Topic | Example Questions |
|---|---|
| Purpose | What problem does this solve? What's the motivation? |
| Users | Who uses this? What's their context? |
| Constraints | Any technical limitations? Timeline? Dependencies? |
| Success | How will you measure success? What's the happy path? |
| Edge Cases | What shouldn't happen? Any error states to consider? |
| Existing Patterns | Are there similar features in the codebase to follow? |
| Non-goals | What is explicitly NOT in scope? |
See deep-interview.md for deep interview techniques.
Exit Condition: Continue until the idea is clear OR user says "proceed". Before moving to Phase 2, summarize understanding in 3-5 bullets and confirm with the user.
After understanding the idea, propose 2-3 concrete approaches.
Structure for Each Approach:
### Approach A: [Name]
[2-3 sentence description]
**Pros:**
- [Benefit 1]
- [Benefit 2]
**Cons:**
- [Drawback 1]
- [Drawback 2]
**Best when:** [Circumstances where this approach shines]
Guidelines:
Summarize key decisions in a structured format. For each major component, verify isolation and clarity: it must answer "what does it do, how do you use it, what does it depend on?" and be independently understandable and testable. If working in an existing codebase, note which existing patterns to follow and where targeted improvements fit naturally.
Design Doc: Save to docs/brainstorms/YYYY-MM-DD-<topic>-brainstorm.md. Required sections: What We're Building, Why This Approach, Key Decisions (with rationale), Open Questions, Next Steps. Collapse the Q&A interview log in a <details> block. Include YAML frontmatter with date and topic. Commit to git -- design decisions are project history.
Present the design doc to the user for approval. The user explicitly confirming the design is the gate to proceed. When invoked via workflows:brainstorm, the command handles spec review dispatch and next-step orchestration.
| Anti-Pattern | Better Approach |
|---|---|
| Asking 5 questions at once | Ask one at a time across dimensions; cluster 2-3 within a dimension |
| Jumping to implementation details | Stay focused on WHAT, not HOW |
| Proposing overly complex solutions | Start simple, add complexity only if needed |
| Ignoring existing codebase patterns | Research what exists first |
| Making assumptions without validating | State assumptions explicitly and confirm |
| Creating lengthy design documents | Keep it concise--details go in the plan |
docs/brainstorms/YYYY-MM-DD-<topic>-brainstorm.mdBrainstorming answers WHAT to build. Planning answers HOW. When brainstorm output exists, workflows:plan detects it and skips idea refinement.
workflows:plan (always)