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.
Guides exploring user intent and design approaches before implementing features or building components.
/plugin marketplace add everyinc/compound-engineering-plugin/plugin install compound-engineering@compound-engineering-pluginThis skill inherits all available tools. When active, it can use any tool Claude has access to.
This 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 details
Output 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.
Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use for discovering, retrieving, and improving prompts.
Search, retrieve, and install Agent Skills from the prompts.chat registry using MCP tools. Use when the user asks to find skills, browse skill catalogs, install a skill for Claude, or extend Claude's capabilities with reusable AI agent components.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.