skills/brainstorming/SKILL.md
Use when designing complex multi-step features, building new components, or planning significant behavior changes that require design exploration before implementation.
npx skillsauth add sipengxie2024/superpower-planning brainstormingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Help turn ideas into fully formed designs and specs through natural collaborative dialogue.
Announce at start: "I'm using the brainstorming skill to explore this design."
Start by understanding the current project context, then ask questions to refine the idea. Once you understand what you're building, present the design and get user approval.
<EXTREMELY-IMPORTANT> 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. </EXTREMELY-IMPORTANT>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:
Explore project context (Iterative Retrieval) — don't just scan files once. Use a structured loop to progressively discover relevant context:
Cycle 1 — Broad Sweep:
.planning/archive/*.md for relevant historical archives — if found, read related archives and note relevant Key Decisions and Lessons Learned under a ## Historical Context section.planning/findings.mdEvaluate & Identify Gaps:
Cycle 2–3 — Targeted Refinement (only if gaps remain):
.planning/findings.md with new discoveries after each cycle (2-Action Rule)Stop when: 3+ high-relevance files identified AND no critical context gaps remain, OR 3 cycles completed. Don't over-explore — 3 deeply understood files beats 10 skimmed ones.
Scope check — before refining details, determine whether the request actually describes multiple independent subsystems. If yes, propose decomposition first.
Ask clarifying questions — ask one question at a time via AskUserQuestion to understand purpose, constraints, success criteria. Record key user answers and decisions to .planning/findings.md.
Propose 2-3 approaches — with trade-offs and your recommendation, presented via AskUserQuestion for user to choose.
Present design — in sections scaled to complexity, get user approval after each section via AskUserQuestion.
Write design doc — save to .planning/design.md (initialize .planning/ first if needed).
Spec self-review — quick inline check for placeholders, contradictions, ambiguity, scope (see below).
Spec interview — ask: "Do you want to run a spec interview to refine details in the design?" (default: yes). If yes, invoke superpower-planning:spec-interview with the design doc as target. If user skips, proceed.
User review gate — explicitly ask the user to review the written spec before planning.
Ask about worktree — use AskUserQuestion to ask whether to create an isolated git worktree for implementation (invoke superpower-planning:git-worktrees if yes, skip if no).
Transition to implementation — invoke writing-plans skill to create implementation plan.
digraph brainstorming {
"Explore project context" [shape=box];
"Scope too large?" [shape=diamond];
"Decompose into sub-projects" [shape=box];
"Ask one clarifying question" [shape=box];
"Propose 2-3 approaches" [shape=box];
"Present design sections" [shape=box];
"User approves design?" [shape=diamond];
"Write design doc to .planning/" [shape=box];
"Spec self-review\n(fix inline)" [shape=box];
"Run spec interview?" [shape=diamond];
"Invoke spec-interview skill" [shape=box];
"User reviews spec?" [shape=diamond];
"Ask: create worktree?" [shape=diamond];
"Create worktree" [shape=box];
"Invoke writing-plans skill" [shape=doublecircle];
"Explore project context" -> "Scope too large?";
"Scope too large?" -> "Decompose into sub-projects" [label="yes"];
"Scope too large?" -> "Ask one clarifying question" [label="no"];
"Decompose into sub-projects" -> "Ask one clarifying question";
"Ask one clarifying question" -> "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 to .planning/" [label="yes"];
"Write design doc to .planning/" -> "Spec self-review\n(fix inline)";
"Spec self-review\n(fix inline)" -> "Run spec interview?";
"Run spec interview?" -> "Invoke spec-interview skill" [label="yes"];
"Run spec interview?" -> "User reviews spec?" [label="skip"];
"Invoke spec-interview skill" -> "User reviews spec?";
"User reviews spec?" -> "Write design doc to .planning/" [label="changes requested"];
"User reviews spec?" -> "Ask: create worktree?" [label="approved"];
"Ask: create worktree?" -> "Create worktree" [label="yes"];
"Ask: create worktree?" -> "Invoke writing-plans skill" [label="no"];
"Create worktree" -> "Invoke writing-plans skill";
}
The terminal state is invoking writing-plans. The allowed intermediate skills before writing-plans are: spec-interview (to refine the design) and git-worktrees (to isolate work). Do NOT invoke any implementation skill.
Understanding the idea:
AskUserQuestion callExploring approaches:
AskUserQuestionPresenting the design:
AskUserQuestion after each section to confirm it looks right[NEEDS-EVIDENCE] inline and continue. Do NOT block design progress to gather evidence, but do NOT silently assume either.Documentation:
.planning/design.mdInitialize .planning/ directory:
${CLAUDE_PLUGIN_ROOT}/scripts/init-planning-dir.sh to create the directory with canonical templatesprogress.md with tasks derived from the design.planning/findings.mdSpec Self-Review: After writing the spec document, review it yourself with fresh eyes:
Fix any issues inline. No need to re-review — just fix and move on.
User Review Gate: After the self-review, ask the user to review the written spec before proceeding.
Implementation:
spec-interview and git-worktrees are allowed intermediate steps before it.)[NEEDS-EVIDENCE] and move on — don't block, don't silently assumedevelopment
Use when a spec or requirements exist for a multi-step task and an implementation plan needs to be written before touching code
data-ai
Use when about to claim work is complete, fixed, or passing, before committing or creating PRs.
data-ai
Use when executing implementation plans with parallel task groups or individual tasks too heavy for subagent context limits.
development
Use when implementing any feature or bugfix, before writing implementation code