This skill should be used before implementing features, building components, or making changes. It guides exploring user intent, approaches, and design decisions before planning. Triggers on "let's brainstorm", "help me think through", "what should we build", "explore approaches", ambiguous feature requests, or when the user's request has multiple valid interpretations that need clarification.
83
79%
Does it follow best practices?
Impact
85%
1.34xAverage score across 3 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./plugins/compound-engineering/skills/brainstorming/SKILL.mdThis skill provides detailed process knowledge for effective brainstorming sessions that clarify WHAT to build before diving into HOW to build it.
Brainstorming is valuable when:
Brainstorming can be skipped when:
Before diving into questions, 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."
Ask questions one at a time to understand the user's intent. Avoid overwhelming with multiple questions.
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? |
Exit Condition: Continue until the idea is clear OR user says "proceed" or "let's move on"
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.
Design Doc Structure:
---
date: YYYY-MM-DD
topic: <kebab-case-topic>
---
# <Topic Title>
## What We're Building
[Concise description—1-2 paragraphs max]
## Why This Approach
[Brief explanation of approaches considered and why this one was chosen]
## Key Decisions
- [Decision 1]: [Rationale]
- [Decision 2]: [Rationale]
## Open Questions
- [Any unresolved questions for the planning phase]
## Next Steps
→ `/ce:plan` for implementation detailsOutput Location: docs/brainstorms/YYYY-MM-DD-<topic>-brainstorm.md
Present clear options for what to do next:
/ce:planDuring brainstorming, actively resist complexity:
Keep sections short—200-300 words maximum. After each section of output, pause to validate understanding:
This prevents wasted effort on misaligned designs.
| Anti-Pattern | Better Approach |
|---|---|
| Asking 5 questions at once | Ask one at a time |
| 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 |
Brainstorming answers WHAT to build:
Planning answers HOW to build it:
When brainstorm output exists, /ce:plan should detect it and use it as input, skipping its own idea refinement phase.
269fa55
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.