3.4 KiB
Brainstorming Pattern
Required design refinement for non-trivial concepts before implementation.
Purpose
Refine rough ideas into clear designs through drafting, self-critique, and trade-off surfacing. Prevents building the wrong thing.
When to Use
Required for:
- New tool concepts (skills, agents, commands)
- Significant architectural changes
- User has nascent idea not ready for implementation
- Multiple valid approaches exist
Skip when:
- User gives clear, unambiguous instructions
- Task is purely mechanical (file moves, renames)
- Fixing specific bugs with obvious solutions
- User explicitly says "just do it"
Core Principles
-
Draft first, ask later. Don't interrogate the user. Use judgment to draft, then surface gaps.
-
Conceptual, not implementation. Output is design decisions and constraints. Implementation details come later.
-
Always checkpoint. Write a defer file after critique. Nothing is lost if user leaves.
-
Self-critique before presenting. Find your own issues before the user does.
Implementation Checklist
Tools implementing this pattern must:
- Detect when brainstorming is needed (vs execution)
- Draft a complete conceptual design first
- Self-critique against domain anti-patterns
- Surface trade-offs requiring user decisions
- Write checkpoint to
.claude/deferred/ - Give user clear options: leave or continue
Workflow Structure
1. Understand intent (1-2 questions max)
└─→ What problem? Who consumes it? Constraints?
2. Draft conceptual design
└─→ Purpose, decisions, structure, constraints
└─→ Identify script candidates (mechanical, repeatable components)
3. Self-critique
└─→ Alignment with intent
└─→ Domain anti-patterns
└─→ Missing pieces
└─→ Over-engineering
4. Present and checkpoint
└─→ Show design
└─→ Write defer file
└─→ Offer: leave or continue
5. Resolution (if continuing)
└─→ Work through trade-offs
└─→ Dispatch subagents for implementation
Output Format
## Purpose
What this solves, in one paragraph.
## Design Decisions
- Decision 1: choice and why
- Decision 2: ...
## Structure
Conceptual architecture - components, relationships, boundaries.
## Constraints
- What this must do
- What this must NOT do
## Open Questions
- Questions that surfaced during drafting
Anti-patterns
Question barrage: Asking 5+ questions before drafting anything. Draft with assumptions, then validate.
Implementation creep: Including file paths, code snippets, exact structures. Stay conceptual.
Skipping critique: Presenting first draft without self-review. Always critique before showing.
Forced brainstorming: Brainstorming when user gave clear instructions. Most interactions are execution, not exploration.
Script Identification
When refining a skill design, identify which components are mechanical vs. judgment-based. Mechanical components (validation, scaffolding, structured transformations) are script candidates—note these in the design output. See Deterministic Scripting for heuristics and language selection.
Cross-references
- Defer Work - Checkpoint mechanism
- Domain Hooks - Domain-specific questions
- Deterministic Scripting - When to use scripts vs AI