From meridian
Use before any new feature, significant change, or architectural decision
How this skill is triggered — by the user, by Claude, or both
Slash command
/meridian:brainstorm [feature or idea to design][feature or idea to design]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Turn ideas into thorough specs through collaborative dialogue.
Turn ideas into thorough specs through collaborative dialogue.
Do NOT invoke any implementation skill, write any code, scaffold any project, or take any implementation action until the spec is written and the user has approved it.Invoke this skill automatically when:
Explore project context — check files, docs, recent commits, existing patterns. Understand what exists before proposing changes.
Also consult the auto-memory system (MEMORY.md is already in context). Read any feedback or user memories that bear on this work — recurring rules the user has stated before ("test before claiming done", "no AI attribution in commits", "always use existing utils", "no comment slop") belong pre-populated in the spec's User Constraints section, not waiting on the user to restate them session after session. If a memory is stale relative to the current code, trust the code and update or remove the memory rather than acting on it.
Assess scope — if the request spans multiple independent subsystems, decompose first. Each subsystem gets its own brainstorm -> spec -> execute cycle. Subsystems are "independent" when they don't share data models, UI components, or cross-cutting concerns. If two pieces need to agree on a shared interface, design them together.
Identify research needs — if the task involves external APIs, libraries, or patterns you haven't verified, invoke meridian:research before continuing. Do not design around assumptions about how an API works.
Ask clarifying questions — but only when the answer changes the spec. Questions are gates with cost: every AskUserQuestion stalls progress and trades the user's attention for information you could often have inferred. Ask only when both are true:
If both are not clearly true, write the spec section first with your best inference (mark non-obvious assumptions explicitly so they're easy to spot) and let the user redirect during review (step 11). One batched question per brainstorm is the working default. Two is fine for a genuine architecture fork. Three or more is a smell — fold the rest into your spec as marked assumptions; users push back faster on a concrete draft than on a multiple-choice questionnaire.
When you do ask, use AskUserQuestion with concrete options and batch related questions in a single call rather than spreading them across turns.
When the user states a constraint or preference ("no X", "always use Y", "don't Z"), note it immediately for the spec's User Constraints section. These accumulate throughout the brainstorm. If the spec is already written, update it — constraints discovered during later discussion are just as binding.
Challenge if needed — if you believe the approach is wrong, follow the Challenge Protocol (see meridian bootstrap skill). Present all viable alternatives with genuine merits. Once the user decides, proceed with their choice fully.
Propose approaches — present 2-3 approaches via AskUserQuestion. Each option's label is the approach name, description covers tradeoffs and merits. Use the preview field for code snippets or architecture sketches when they'd help the user compare. Put your recommendation first with "(Recommended)" in the label.
Present design in sections — scaled to complexity. Simple sections get a few sentences. Complex sections get detail. Get user approval after each section before moving on.
Write spec file — save to .meridian/specs/YYYY-MM-DD-<topic>.md.
execute will append a Progress Log section as implementation proceeds — the spec becomes the durable state record across sessions.Self-review the spec — before dispatching the subagent reviewer:
Spec review (isolated subagent) — dispatch a subagent using the template at spec-reviewer-prompt.md in this directory. Paste the spec content and project CLAUDE.md into the prompt. The subagent returns only a material-issues list.
Loop rule: re-review as long as each pass surfaces material issues and you address them. Stop when a pass returns "No material issues found" — or when a pass surfaces only wording nits and rephrasings. The exit condition is the shape of the findings, not a pass count. Don't cut a real review short, but don't keep dispatching to chase a perfect-prose verdict either.
User reviews spec — present the spec, ask for changes. Iterate if needed.
Transition — once approved, invoke meridian:execute to implement.
AskUserQuestion for choices and approvals; batch related questions rather than spreading them across turnsmeridian routing, or direct invocationexecuteresearchexecute.npx claudepluginhub kodingdev/meridianGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.