Turns rough feature requests and architecture decisions into an approved design document before any code is written. Includes adversarial failure-mode checks and spec self-review.
How this skill is triggered — by the user, by Claude, or both
Slash command
/superpowers-optimized:brainstormingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Turn rough requests into an approved design before implementation.
Turn rough requests into an approved design before implementation.
Do not write code, edit files, or invoke implementation skills until design approval is explicit.
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.
CLAUDE.md / AGENTS.md and long-term collaboration is expected, consider using claude-md-creator to create a minimal, high-signal context file.docs/specs/YYYY-MM-DD-<topic>-design.md.writing-plans.digraph brainstorming {
"Explore project context" [shape=box];
"Assess scope" [shape=diamond];
"Decompose into sub-projects" [shape=box];
"Ask clarifying questions" [shape=box];
"Propose 2-3 approaches" [shape=box];
"Present design sections" [shape=box];
"User approves design?" [shape=diamond];
"Failure-mode check" [shape=box];
"Save design doc" [shape=box];
"Spec self-review\n(fix inline)" [shape=box];
"User reviews spec?" [shape=diamond];
"Invoke writing-plans" [shape=doublecircle];
"Explore project context" -> "Assess scope";
"Assess scope" -> "Decompose into sub-projects" [label="4+ subsystems"];
"Assess scope" -> "Ask clarifying questions" [label="manageable"];
"Decompose into sub-projects" -> "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?" -> "Failure-mode check" [label="yes"];
"Failure-mode check" -> "Save design doc";
"Save design doc" -> "Spec self-review\n(fix inline)";
"Spec self-review\n(fix inline)" -> "User reviews spec?";
"User reviews spec?" -> "Save design doc" [label="changes requested"];
"User reviews spec?" -> "Invoke writing-plans" [label="approved"];
}
The terminal state is invoking writing-plans. Do NOT invoke frontend-design, or any other implementation skill. The ONLY skill you invoke after brainstorming is writing-plans.
After writing the spec document, look at it with fresh eyes:
Fix any issues inline. No need to re-review — just fix and move on.
After the spec self-review passes, ask the user to review the written spec before proceeding:
"Spec written and committed to
<path>. Please review it and let me know if you want to make any changes before we start writing out the implementation plan."
Wait for the user's response. If they request changes, make them and re-run the self-review. Only proceed once the user approves.
Include:
Apply senior engineering judgment during design:
docs/specs/).writing-plans is invoked as the next skill.npx claudepluginhub repozy/superpowers-optimized --plugin superpowers-optimizedGuides structured brainstorming to explore user intent, requirements, and design before implementation. Prevents premature coding by enforcing design approval.
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.
Guides structured brainstorming before any creative work: explores user intent, requirements, and design before implementation. Prevents wasted effort from unexamined assumptions.