From nicopowers
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
/nicopowers: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. ## Grounded Decisions and Plain-Language HandoffsGround decisions in the current repository, relevant documentation, and recent history before asking the user. Resolve discoverable facts yourself and keep factual gaps separate from choices that require human judgment.
If docs/learnings/README.md exists, read the index first and open only the
notes relevant to the current design. If the index is absent, do nothing; do
not create it or scan the directory during brainstorming.
When the design contains real independent decisions, REQUIRED SUB-SKILL:
Use nicopowers:grilling. Its numbered frontier rounds replace the one-question
rule only for decisions that are simultaneously unblocked. When no real
independent decision exists, continue the one-question clarification flow and
do not manufacture a grilling session.
Present every design and written specification with a plain-language first layer before technical detail. Explain what is being made, why it matters, how it behaves for the user, the important choices and trade-offs, material risks or uncertainty, and what happens next. Then give the technical source of truth.
This delta changes decision discovery and handoff shape only. Preserve the upstream design-approval, written-specification, spec self-review, user-review, and writing-plans gates below.
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:
docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md and commitdigraph 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];
"Spec self-review\n(fix inline)" [shape=box];
"User reviews spec?" [shape=diamond];
"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" -> "Spec self-review\n(fix inline)";
"Spec self-review\n(fix inline)" -> "User reviews spec?";
"User reviews spec?" -> "Write design doc" [label="changes requested"];
"User reviews spec?" -> "Invoke writing-plans skill" [label="approved"];
}
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.
Understanding the idea:
Exploring approaches:
Presenting the design:
Design for isolation and clarity:
Working in existing codebases:
Documentation:
docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md
Spec Self-Review: 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.
User Review Gate: After the spec review loop 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 spec review loop. Only proceed once the user approves.
Implementation:
Markdown is the canonical design and specification record. Keep it complete and understandable on its own.
Offer a self-contained interactive companion only after the plain-language design explanation and only when interaction, layout, state changes, or side-by-side comparison would provide material visual value that materially improves understanding. Wait for the user's consent before creating it.
On consent, write a complete self-contained HTML document directly to
.tmp/specification-companion-<timestamp>.html. Keep CSS, JavaScript, and assets inline, then open the file directly for the user. If the document cannot
be created or opened, fall back to Markdown and continue the same design flow.
The companion is optional context, never a gate for design approval, the written specification, or planning. When a visual must remain durable, capture a screenshot and embed it in the Markdown artifact; do not commit the HTML companion.
npx claudepluginhub proxynico/nicopowers --plugin nicopowersCreates, edits, and verifies skills using a test-driven development approach with pressure scenarios and subagents.