From claude-skills
Guides structured brainstorming to clarify requirements, explore design alternatives, and produce an approved design doc before implementation.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-skills: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.
Presenting a design before implementation prevents several costly failure modes:
This applies to every project, including simple ones. A todo list, single-function utility, or config change can all ship the wrong thing. The design can be concise for simple projects (a few sentences), but it should exist and be approved before implementation begins.
See Common Pitfall 1 below for the detailed failure mode and prevention steps.
Work through these phases systematically. Each step builds on the previous one:
docs/plans/YYYY-MM-DD-<topic>-design.md and commit to preserve decisionsdigraph 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 next step is invoking writing-plans to move from design to detailed planning. Other implementation skills (frontend-design, mcp-builder, etc.) come after the plan is written. This sequencing ensures the implementation plan itself has been validated and can guide the work effectively.
Understanding the idea:
Exploring approaches:
Presenting the design:
Documentation:
docs/plans/YYYY-MM-DD-<topic>-design.md
(create the docs/plans/ directory if it doesn't exist: mkdir -p docs/plans)Implementation:
User: "Let's add dark mode to the app"
Brainstorming workflow:
docs/plans/YYYY-MM-DD-dark-mode-design.mdExpected output: Validated design document + transition to planning
User: "I need a function to format phone numbers"
Brainstorming workflow:
Expected output: Even "simple" utilities get a design first
User: "We should migrate from REST to GraphQL"
Brainstorming workflow:
Expected output: Multi-phase design with migration strategy
Symptoms: User wants to skip brainstorming and go straight to code
Cause: Perceives design phase as overhead for "simple" tasks
Solution:
Symptoms: Design document includes code snippets, file structures, or step-by-step instructions
Cause: Confusing design (what/why) with planning (how/when)
Solution:
Symptoms: After starting work, user requests different behavior or approach
Cause: Design wasn't concrete enough or assumptions weren't validated
Solution:
Symptoms: User keeps asking for more options or isn't satisfied with any design
Cause: Unclear success criteria or user isn't sure what they want
Solution:
What happens: You recognize a task as straightforward (single component, small utility, config change) and proceed directly to implementation, planning to sort out details while coding.
Why it backfires: "Simple" tasks are where assumptions are most dangerous because they feel obvious. You code one behavior, the user expected another, and by the time you learn this the scaffolding is already in place and needs rework.
How to avoid it: Treat simplicity as a reason to make brainstorming faster, not to skip it. A 30-second conversation ("This is a single-file utility that does X, right?") prevents a 30-minute refactor. Even explicit agreement on what seems obvious is valuable.
What happens: You present a design, the user asks a clarifying question, and you interpret that as mild interest and start writing code while "thinking about their feedback."
Why it backfires: The user is still evaluating. Code written before approval is often code that needs rewriting. You've signaled that you're moving forward when the design isn't locked down.
How to avoid it: Wait for explicit approval language ("Looks good," "Let's go with that," "Ship it") before invoking writing-plans. A single clarifying question means the design isn't final — revise and re-present.
What happens: After design approval, you're tempted to jump straight to frontend-design, mcp-builder, or another implementation skill rather than invoke writing-plans first.
Why it backfires: Implementation skills are powerful but unstructured. They work best when given a detailed plan that specifies scope, acceptance criteria, and technical decisions. Skipping the plan means the skill has to reinvent it, leading to inefficient work and potential scope creep.
How to avoid it: Always invoke writing-plans as the bridge between brainstorming and implementation. Let it formalize the decisions from brainstorming into a concrete plan that implementation skills can follow.
What happens: You present a design that's philosophically sound but lacks concrete details — "We'll have a responsive grid that shows items" without saying how many columns, what breakpoints, or how filtering works.
Why it backfires: Implementation starts with questions because the design doesn't answer them. You end up in a loop where the implementer has to guess at details, implement them wrong, and you have to revise.
How to avoid it: Make designs concrete enough that an implementer can start work without opening the design doc and asking questions. Include examples, specific numbers, edge cases, and trade-off decisions. If a detail feels unclear to you, it'll be unclear during implementation.
npx claudepluginhub ckorhonen/claude-skillsGuides structured brainstorming before any creative work: explores user intent, requirements, and design before implementation. Prevents wasted effort from unexamined assumptions.
Guides a structured brainstorming process: asks questions one at a time, explores approaches, presents design in sections, and documents plans.
Refines rough ideas into fully-formed designs through collaborative questioning, alternative exploration, and incremental validation before coding or planning.