Agent skill
brainstorm
Use when starting any non-trivial feature, design, or behavior change - before writing code or creating tasks. Guides collaborative design exploration through focused questioning to produce a validated spec.
Install this agent skill to your Project
npx add-skill https://github.com/randalmurphal/claude-config/tree/main/skills/brainstorm
SKILL.md
Brainstorming
Overview
Turn ideas into fully formed designs through focused collaborative dialogue before any implementation begins.
Core principle: Understand the problem completely before proposing solutions. One question at a time. YAGNI ruthlessly.
Announce at start: "I'm using the brainstorming skill to explore the design before we build anything."
When to Use
- New features or components
- Behavior changes to existing systems
- Refactors with multiple valid approaches
- Anything where jumping straight to code would be premature
Skip for: Typos, one-line fixes, config changes, tasks with crystal-clear requirements already written.
The Process
Phase 1: Understand the Idea
Ask questions to understand what's actually needed. One question per message. Prefer multiple-choice when possible (reduces cognitive load).
Good questions:
- "Is this for internal use or public-facing?" (scoped)
- "Which of these matters more: speed or correctness?" (prioritization)
- "Does this need to work with X, or is it standalone?" (boundaries)
Bad questions:
- "Can you describe the entire feature?" (too broad)
- "What are all the requirements?" (lazy, makes human do the work)
Stop asking when you can explain the feature back to them and they say "yes, that's it."
Phase 2: Explore Approaches
Propose 2-3 approaches with clear trade-offs. Always include a recommendation and why.
## Approaches
### A: [Name] (Recommended)
- How: [brief description]
- Pro: [main advantage]
- Con: [main disadvantage]
### B: [Name]
- How: [brief description]
- Pro: [main advantage]
- Con: [main disadvantage]
**Recommendation:** A because [specific reason for this project].
YAGNI ruthlessly - Remove unnecessary features from all proposals. "We could also add X" is not helpful unless X was requested.
Phase 3: Present the Design
Once approach is agreed, present the design in chunks of 200-300 words. Ask after each chunk: "Does this look right so far?"
Don't dump a 2000-word spec. Break it up:
- Architecture / high-level approach
- Key interfaces / data structures
- Edge cases / error handling
- Testing strategy
Phase 4: Document
After validation, produce a clean design document:
# [Feature Name] Design
## Goal
[One sentence]
## Approach
[2-3 sentences]
## Success Criteria
- [ ] Measurable outcome 1
- [ ] Measurable outcome 2
## Key Decisions
- [Decision]: [Rationale]
## Non-Goals
- [Thing we're explicitly NOT doing]
## Constraints
- [Hard requirement]
## Migration/Removal (if replacing existing code)
| Old Code | New Code | Action |
|----------|----------|--------|
| [existing file/system] | [replacement] | DELETE / KEEP / MIGRATE |
**Rules:**
- DELETE = remove entirely, no fallback
- KEEP = explicitly needed for compatibility (state why)
- MIGRATE = data migration required before deletion
**No hedging.** "Deprecate or migrate" is not an action. Pick one.
## Testing Strategy
- [How we verify this works]
Common Mistakes
| Mistake | Fix |
|---|---|
| Asking too many questions at once | One question per message |
| Proposing solutions before understanding | Finish Phase 1 first |
| Including unrequested features | YAGNI - remove them |
| Presenting one approach | Always 2-3 with recommendation |
| Giant spec dump | Break into 200-300 word chunks |
| Skipping validation | Ask "does this look right?" after each section |
Red Flags
Never:
- Start coding before design is validated
- Add "nice to have" features unprompted
- Present design without getting approach agreement first
- Skip the chunked presentation (giant dumps get skimmed, not read)
- Use hedging language for code removal ("deprecate or migrate", "keep for compatibility")
- Leave old code fate ambiguous — DELETE or KEEP with explicit rationale
Always:
- One question at a time
- Multiple-choice when possible
- YAGNI every proposal
- Get explicit sign-off before proceeding
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-prompting
Write effective prompts for Task tool sub-agents, slash commands, and system prompts. Covers Claude 4.x prompting patterns, context engineering, output format specification, and parallel delegation. Use when spawning sub-agents, creating slash commands, or writing system prompts.
test-driven-development
Use when implementing any feature, bug fix, or behavior change - before writing implementation code. Enforces strict RED-GREEN-REFACTOR cycle where tests are written and seen failing before any production code exists.
spec-formats
Templates for brainstorm artifacts and manifest.json. Load when using /spec.
review-initiative
Use after /breakdown-work or manual initiative creation, before running tasks. Use when initiative has 5+ tasks, multiple dependencies, or references a design document.
MCP Integration
Set up and use MCP (Model Context Protocol) servers to extend Claude Code capabilities including PRISM semantic memory, filesystem access, and database integration. Use when setting up MCP servers, debugging MCP connections, or understanding MCP tool usage.
systematic-debugging
Use when debugging any failure, bug, or unexpected behavior - especially before attempting any fix. Enforces root cause investigation before implementation to prevent fix-thrashing and symptom-masking.
Didn't find tool you were looking for?