home / skills / bbeierle12 / skill-mcp-claude / brainstorming
This skill guides feature ideation and design through structured, incremental questioning, helping teams define scope before coding.
npx playbooks add skill bbeierle12/skill-mcp-claude --skill brainstormingReview the files below or copy the command above to add this skill to your agents.
---
name: brainstorming
description: Use when starting any feature, project, or design work. Guides collaborative design refinement through incremental questioning before any code is written.
---
# Brainstorming
## Core Principle
**Design before code. Always.**
Don't jump into implementation. Tease out the spec through conversation first.
## The Brainstorming Process
### Step 1: Understand the Goal
Ask clarifying questions:
- What problem are we solving?
- Who is the user?
- What does success look like?
- What are the constraints?
**One question at a time** - Don't overwhelm with multiple questions.
### Step 2: Explore the Space
- What are the possible approaches?
- What are the trade-offs?
- What similar problems exist?
- What patterns apply?
### Step 3: Propose Alternatives
Always present **2-3 approaches** before settling:
```markdown
## Option A: [Name]
- Pros: ...
- Cons: ...
- Best when: ...
## Option B: [Name]
- Pros: ...
- Cons: ...
- Best when: ...
## Option C: [Name]
- Pros: ...
- Cons: ...
- Best when: ...
**Recommendation:** Option [X] because...
```
### Step 4: Incremental Validation
Present design in digestible chunks:
- Show one section at a time
- Get sign-off before moving on
- Allow for course corrections
### Step 5: Document the Design
Save to: `docs/plans/YYYY-MM-DD-<topic>-design.md`
## YAGNI Ruthlessly
During brainstorming, actively remove:
- Features that "might be nice"
- Edge cases that "could happen"
- Abstractions for "future flexibility"
- Optimizations for "scale we might need"
Ask: **"Do we need this for the MVP?"**
## Question Techniques
### Multiple Choice Preferred
Instead of: "How should we handle errors?"
Ask: "For error handling, should we: A) Return error codes, B) Throw exceptions, C) Use Result types?"
### Constrained Questions
Instead of: "What should the API look like?"
Ask: "Should this be REST, GraphQL, or RPC?"
### Assumption Surfacing
- "I'm assuming X. Is that correct?"
- "This depends on Y. Is that available?"
- "The constraint seems to be Z. Agreed?"
## Output: Design Document
```markdown
# [Feature Name] Design
## Problem Statement
What problem are we solving?
## Goals
- Goal 1
- Goal 2
## Non-Goals
- Explicitly out of scope item 1
- Explicitly out of scope item 2
## Proposed Solution
Overview of the approach
## Alternatives Considered
Why we didn't choose other approaches
## Technical Design
### Component A
...
### Component B
...
## Open Questions
- Question 1
- Question 2
## Next Steps
1. Step 1
2. Step 2
```
## Transition to Implementation
After design is approved:
1. Ask: "Ready to set up for implementation?"
2. Use `using-git-worktrees` skill to create isolated workspace
3. Use `writing-plans` skill to create detailed implementation plan
## Anti-Patterns
### Don't Do This
- Start coding before design is clear
- Present only one option
- Ask open-ended questions when specific ones work
- Skip validation of each section
- Assume requirements are complete
- Over-engineer the initial design
This skill guides teams through structured brainstorming before any code is written. It enforces a design-first mindset, surfaces assumptions, and produces a compact design document that can be reviewed and approved. The process emphasizes short, incremental steps and multiple alternatives so decisions are deliberate and testable.
The skill asks targeted, one-at-a-time questions to clarify goals, users, success criteria, and constraints. It explores the solution space, presents 2–3 concrete alternatives with pros/cons, and collects incremental sign-off on each section. Finally, it consolidates decisions into a concise design document and lists next steps for implementation.
How many alternatives should I present?
Present 2–3 distinct approaches with pros, cons, and when each is best. That balance gives options without overwhelming reviewers.
What counts as MVP scope?
MVP includes only what is required to deliver the core user value and measurable success criteria. Exclude speculative features, broad abstractions, and optimizations for scale not yet needed.