From superpowers
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
How this skill is triggered — by the user, by Claude, or both
Slash command
/superpowers:brainstormingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Help turn ideas into fully formed designs and specs through natural collaborative dialogue.
Help turn ideas into fully formed designs and specs through natural collaborative dialogue.
Start by understanding the current project context, then ask questions one at a time to refine the idea. Once you understand what you're building, present the design and get user approval.
Do NOT invoke any implementation skill, write any code, scaffold any project, or take any implementation action until you have presented a design and the user has approved it. This applies to EVERY project regardless of perceived simplicity. NEVER use the AskUserQuestion tool or any structured/interactive question tool during brainstorming. ALL questions MUST be asked as plain conversational prose. "Multiple choice" means presenting options inline in natural language — never as a tool call or structured prompt.Every project goes through this process. A todo list, a single-function utility, a config change — all of them. "Simple" projects are where unexamined assumptions cause the most wasted work. The design can be short (a few sentences for truly simple projects), but you MUST present it and get approval.
You MUST create a task for each of these items and complete them in order:
obsidian:vault skill is available, save there; otherwise default to docs/plans/YYYY-MM-DD-<topic>-design.md; if in a Git repo, ask the user before committingdigraph brainstorming {
"Explore project context" [shape=box];
"Ask clarifying questions" [shape=box];
"Propose 2-3 approaches" [shape=box];
"Present design sections" [shape=box];
"User approves design?" [shape=diamond];
"Write design doc" [shape=box];
"Invoke writing-plans skill" [shape=doublecircle];
"Explore project context" -> "Ask clarifying questions";
"Ask clarifying questions" -> "Propose 2-3 approaches";
"Propose 2-3 approaches" -> "Present design sections";
"Present design sections" -> "User approves design?";
"User approves design?" -> "Present design sections" [label="no, revise"];
"User approves design?" -> "Write design doc" [label="yes"];
"Write design doc" -> "Invoke writing-plans skill";
}
The terminal state is invoking writing-plans. Do NOT invoke frontend-design, mcp-builder, or any other implementation skill. The ONLY skill you invoke after brainstorming is writing-plans.
Core principle: When new information invalidates your approach, going backward is faster than patching forward.
Understanding the idea:
Exploring approaches:
Presenting the design:
You can and should revisit earlier steps when:
Don't force forward progression when going backward would give better results.
This is not about being "stuck" - it's about getting clarity before continuing.
If you catch yourself thinking any of these, STOP and go backward:
Reality: When fundamental constraints change, adapting forward = patching over the wrong approach.
Documentation:
obsidian:vault skill is available, use it to save the design document to the vaultdocs/plans/YYYY-MM-DD-<topic>-design.mdImplementation:
npx claudepluginhub fnichol/claude-code-plugins --plugin superpowersGuides structured brainstorming before any creative work: explores user intent, requirements, and design before implementation. Prevents wasted effort from unexamined assumptions.
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
Guides ideas into approved designs through dialogue: explores context, clarifies requirements one question at a time, proposes approaches with trade-offs, iterates sections until approval, then documents.