10 ways to use the Claude brainstorming skill (2026)
Ten ways to point obra’s brainstorming skill at a real decision — decompose an over-scoped platform, weigh 2-3 architecture approaches, pressure-test module boundaries, cut a feature list with YAGNI, and hold the hard gate that stops the agent coding before there’s an approved design — each as a single Claude Code prompt with the artifact it writes.
Already know what skills are? Skip to the cookbook. First time? Read the explainer first. Want the whole brainstorm → plan → TDD → review pipeline, not just this stage? That’s the Superpowers guide. Deciding whether to adopt Superpowers at all? The worth-it review. This post zooms into the brainstorming stage.

On this page · 21 sections▾
- What this skill does
- The cookbook
- Install + README
- Watch it built
- 01 · One-liner to an approved design spec (the core loop)
- 02 · Decompose an over-scoped 'platform' into sub-projects
- 03 · Weigh 2-3 architecture approaches with a recommendation
- 04 · Pressure-test module boundaries before you write them
- 05 · Brainstorm a change inside an existing (messy) codebase
- 06 · Turn 'make it better' into concrete requirements
- 07 · Use the visual companion to settle a layout decision
- 08 · Run a YAGNI pass to cut a bloated feature list to the wedge
- 09 · Self-review the spec before it becomes a plan
- 10 · Enforce the hard gate — no code before an approved design
- Community signal
- The contrarian take
- Real design-first workflows
- Gotchas
- Pairs well with
- FAQ
- Sources
What this skill actually does
Sixty seconds of context before the cookbook — what the brainstorming skill is, what Claude returns when you invoke it, and the one thing it does NOT do for you. It’s a workflow skill from obra’s (Jesse Vincent’s) Superpowers framework: it runs a structured questioning-and-design process before any code gets written.
What this skill actually does
“Refines rough ideas into fully-formed designs through collaborative questioning, alternative exploration, and incremental validation.”
— obra (Jesse Vincent), the skill author · /skills/brainstorming
What Claude returns
Invoke it and Claude runs a structured design dialogue instead of coding. It explores your repo, then asks one question at a time — multiple choice where it can — about purpose, constraints, and success criteria. It proposes 2-3 approaches with a recommendation, presents the design in sections you approve one by one (architecture, components, data flow, error handling, testing), then writes a spec to docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md, commits it, self-reviews it for placeholders and contradictions, and hands off to writing-plans.
What it does NOT do
It writes no code and invokes no implementation skill — the only handoff is writing-plans. And it blocks on your answers, one question at a time, so it is not a fire-and-forget one-shot.
How you trigger it
Brainstorm this feature with me before we write any code.Use the brainstorming skill — turn this rough idea into an approved design spec.Explore 2-3 approaches and design this first; don't implement yet.Cost when idle
~100 tokens at idle — just the skill's name and trigger description sit in the system prompt. The 9-step checklist and the visual-companion guide load only when the skill fires.
The cookbook
Each entry below points the brainstorming skill at a different kind of decision. They lean on a different mechanic each time — scope decomposition, the 2-3-approaches step, the design-for-isolation check, the visual companion, YAGNI, the spec self-review, the hard gate — so by the end you’ve seen the whole skill, not just its front door. Every entry pairs with a skill or MCP server you already have on mcp.directory. You don’t have to run them in order; each is a standalone recipe.
Install + README
If the skill isn’t on your machine yet, here’s the one-liner. The full install panel (Codex, Copilot, Antigravity variants) and the complete README live on the skill page.
One-line install · by obra
Open skill pageInstall
mkdir -p .claude/skills/brainstorming && curl -L -o skill.zip "https://mcp.directory/api/skills/download/6" && unzip -o skill.zip -d .claude/skills/brainstorming && rm skill.zipInstalls to .claude/skills/brainstorming
Watch it built
A clean end-to-end Superpowers walkthrough. Watch the opening specifically: the brainstorming skill fires before any code, asks its questions, and refuses to implement until the design is approved — the live version of use cases 1 and 10.
One-liner to an approved design spec (the core loop)
Turn a vague one-line feature request into a committed, approved design spec — one question at a time — with zero code written until you say yes.
ForAnyone starting an ambiguous feature where the shape of the answer isn't obvious yet.
The prompt
Use the brainstorming skill on this idea: 'add saved views to our issue tracker.' Explore the repo first, then ask me questions one at a time — multiple choice where you can — about purpose, constraints, and what success looks like. Propose 2-3 approaches with trade-offs and your recommendation. Once I approve, write the design to docs/superpowers/specs/ dated today and commit it. Do not write any implementation code.What slides.md looks like
# Design: Saved views for the issue tracker
Date: 2026-07-09 · Status: APPROVED
## Context
Users re-apply the same filters every day. Goal: name + persist a filter set.
## Approach (chosen: B — server-side, per-user)
A) localStorage only B) server-side per-user C) shared team views
Chose B: syncs across devices, sets up C later. YAGNI on C for v1.
## Components
- views.repository (CRUD, one job, tested in isolation)
- views.api (GET/POST /views)
- filter serializer (URL <-> stored JSON)
## Error handling / Testing
- 404 on missing view; unit tests per unit; e2e for save + recall
-> Committed to docs/superpowers/specs/2026-07-09-saved-views-design.mdOne-line tweak
Add 'sketch the data flow before the questions' and the skill offers its visual companion first — a diagram in a browser tab instead of prose.
Decompose an over-scoped 'platform' into sub-projects
Stop a 'build me a platform' request from becoming one giant unbuildable spec. The skill flags multi-subsystem scope and splits it into sequenced sub-projects.
ForFounders and leads who describe the whole product in a single sentence.
The prompt
I want to build a creator platform: chat, file storage, billing, and analytics. Use the brainstorming skill. Before refining any details, assess scope. If this is several independent subsystems, say so, decompose it into sub-projects, tell me how they depend on each other and the order to build them, then brainstorm only the first sub-project through the normal design flow.What slides.md looks like
Scope check: this is 5 independent subsystems, not one project.
Decomposing before we design anything:
1. identity + accounts (no deps — build first)
2. chat (deps: 1)
3. file storage (deps: 1)
4. billing (deps: 1)
5. analytics (deps: 2, 3, 4 — build last)
Each sub-project gets its own spec -> plan -> implementation cycle.
Starting with #1 (accounts). Q1 of that brainstorm:
What identity model — email/password, SSO-only, or both?One-line tweak
Swap the ordering line for 'sequence by risk, not dependencies' if you want to de-risk billing early instead of building the dependency graph bottom-up.
Weigh 2-3 architecture approaches with a recommendation
Settle a single architecture decision with real trade-offs and an opinionated recommendation — not a wishy-washy 'it depends.'
ForEngineers at a fork in the road who want the options named before they commit.
The prompt
Use the brainstorming skill for exactly one decision: how should we run background jobs in our Rails app? Give me 2-3 approaches with honest trade-offs, lead with the one you'd pick and why, and stop there — this is the approaches step, not the full design. No code.What slides.md looks like
Background jobs — 3 approaches (recommendation first):
A) Solid Queue (Postgres-backed) <- recommended
+ no new infra; transactional with your existing DB
- throughput ceiling vs Redis at very high volume
B) Sidekiq + Redis
+ battle-tested, high throughput - adds Redis to ops
C) Managed (SQS + workers)
+ scales infinitely - vendor lock-in, local-dev friction
Recommend A: you're at ~200 jobs/min; Postgres handles that and
you avoid running Redis. Revisit B only past ~5k jobs/min.One-line tweak
Add 'and sketch each option as a Mermaid diagram' to have the visual companion render the three data flows side by side instead of describing them.
Pressure-test module boundaries before you write them
Catch a tangled design before it becomes code — force every module to pass the 'what does it do, how is it used, what does it depend on' test.
ForAnyone whose last feature turned into one 900-line file. The boundary check that prevents the sequel.
The prompt
Here's my rough plan for notifications: one NotificationManager that formats, batches, sends, retries, and logs. Use the brainstorming skill's design-for-isolation check. For each proposed unit tell me what it does, how it's used, and what it depends on. Flag anything doing too much and propose tighter boundaries so each unit can be tested independently. Don't write code yet.What slides.md looks like
Boundary review — your single NotificationManager does 5 jobs.
Splitting into units that can each be tested in isolation:
formatter does: text/HTML from a template depends: templates
batcher does: group by user + window depends: a clock
sender does: one channel send depends: provider SDK
retry-policy does: backoff decision depends: nothing (pure)
Boundary test: can you change the batcher's internals without
touching the sender? Now yes. Before, no — that's why it was one file.One-line tweak
Add 'and mark which units are pure functions' — pure units (retry-policy) get the cheapest tests, so it's worth planning them first.
Brainstorm a change inside an existing (messy) codebase
Add a feature to a legacy service without ignoring its patterns or rewriting half of it. The skill explores first, follows the grain, and scopes only the improvements the work needs.
ForEngineers working in code they didn't write and can't rewrite this quarter.
The prompt
We need to add webhook retries to our billing service (legacy, ~5 years old). Use the brainstorming skill. Explore the current structure and its patterns first, then follow them. Where the existing code genuinely blocks the work — e.g. the 600-line BillingController — propose a targeted improvement, but don't scope any refactoring that doesn't serve retries. Present the design in sections.What slides.md looks like
Explored the repo first. Existing patterns I'll follow:
- service objects in app/services/* (not fat controllers)
- Result objects, not exceptions, for control flow
Design (with the grain):
- new WebhookRetryJob mirrors the existing RefundRetryJob
- reuse the Result pattern already in PaymentGateway
Targeted improvement (needed for this work): extract WebhookSender
out of the 600-line BillingController — the retry loop can't be
tested while it lives inside the controller.
Out of scope: the rest of BillingController stays as-is.One-line tweak
Drop the 'targeted improvement' clause if you want a purely additive change and the smallest possible diff for review.
Turn 'make it better' into concrete requirements
Convert a mushy stakeholder ask into a crisp set of requirements you can design against — one answerable question at a time.
ForAnyone handed 'our search is bad, make it better' with no other detail.
The prompt
Stakeholder ask: 'our in-app search is bad, make it better.' Use the brainstorming skill. Don't propose anything yet — first pin down purpose, constraints, and success criteria by asking me one question at a time, multiple choice where possible. Stop after about five questions and play back the requirements you've captured before we look at approaches.What slides.md looks like
Q1 — What's "bad" today? (pick the biggest one)
a) irrelevant results b) too slow
c) misses recent items d) no typo tolerance
> a and c
Q2 — Success looks like...?
a) top result correct ~90% of the time
b) results under 200ms c) both
> a
Captured so far -> purpose: relevance, not speed.
constraint: keep current infra. success: top-1 correct 90%
on our real query log. Next: 2-3 ranking approaches (no code yet).One-line tweak
Add 'keep going until you're 90% confident you could write the spec' to trade a few more questions for a tighter requirements set.
Use the visual companion to settle a layout decision
Decide a UI question by looking at real mockups in a browser tab instead of arguing about it in prose. The skill offers the companion only when a question is genuinely visual.
ForAnyone brainstorming a screen where 'which layout?' is a see-it question, not a describe-it one.
The prompt
We're designing an onboarding wizard. Use the brainstorming skill. When we hit a genuinely visual question — like which wizard layout works — offer the visual companion so I can compare mockups in a browser, and keep the conceptual questions (what a 'step' means, validation rules) in the terminal. Walk me through it one decision at a time.What slides.md looks like
Conceptual (terminal): how many steps, and can users skip ahead?
> 3 steps, no skipping.
Visual (this one's clearer shown than told):
> "This next part might be easier if I show you — I can put
together mockups, diagrams, and comparisons in a browser tab
as we go. Want me to? I'll open it for you."
[you accept] -> tab opens:
left-rail vs top-stepper vs single-scroll
Pick the layout in the tab; the conceptual choices stay in here.One-line tweak
Decline the companion and the whole session stays text-only — the skill won't offer again unless you raise it. The gate is per-question, not a mode.
Run a YAGNI pass to cut a bloated feature list to the wedge
Take a 12-feature 'v1' wishlist and cut it to the smallest thing that ships value — with the skill defending each cut out loud.
ForTeams whose v1 has quietly become a v3. The scope knife.
The prompt
Here's the feature list for our 'v1' comments system: threading, reactions, mentions, markdown, edit history, moderation queue, spam ML, export, i18n, real-time, read receipts, pinning. Use the brainstorming skill and apply YAGNI ruthlessly. Cut to the smallest v1 that delivers the core value, tell me what you cut and why, and what's a deliberate 'later.' Then present the trimmed design.What slides.md looks like
YAGNI pass on 12 features -> v1 is 3:
KEEP (the core value): post a comment, threading, markdown
LATER (real, just not now): reactions, mentions, edit history
CUT (until proven needed): spam ML, read receipts, pinning,
export, i18n, real-time, moderation queue
Why: the wedge is "discuss in context." Everything else is
weight until people actually comment. Ship 3, learn, then revisit
the LATER list with real usage instead of guesses.One-line tweak
Add 'assume 100k daily active users' and the skill keeps more — moderation queue and spam ML move from CUT to LATER once abuse is a real risk at that scale.
Self-review the spec before it becomes a plan
Catch the TBDs, contradictions, and two-way-readable requirements in a design doc before they turn into bugs in the plan.
ForAnyone about to hand a spec to a teammate or a subagent that will take it literally.
The prompt
Read docs/superpowers/specs/2026-07-09-saved-views-design.md. Run the brainstorming skill's spec self-review: scan for placeholders (TBD/TODO), check the sections don't contradict each other, check it's scoped to a single plan, and flag any requirement that could be read two ways — then rewrite those to be explicit. Fix inline and show me the diff. Don't start the plan yet.What slides.md looks like
Spec self-review — the four checks:
[placeholder] "cache TTL: TBD" -> set to 60s (matches the API)
[contradiction] §2 says "per-user",
§4 says "per-team" -> picked per-user; fixed §4
[scope] one plan's worth? yes.
[ambiguity] "views load fast" -> "P95 < 150ms on the
500-issue fixture"
Fixed inline. The spec is now unambiguous and internally consistent.
Ready for your review before we write the plan.One-line tweak
Add 'and run writing-clearly-and-concisely over it' to tighten the prose too, not just the logic — the SKILL.md names that companion by hand for exactly this.
Enforce the hard gate — no code before an approved design
Make 'no code before an approved design' a rule the agent enforces on itself — even when you (or it) are tempted to skip straight to implementation.
ForAnyone who has watched an agent start editing files ten seconds into a vague request.
The prompt
For this whole session, enforce the brainstorming skill's hard gate: do not write code, scaffold, or run any implementation skill until we've brainstormed a design and I've approved it — no matter how simple the task looks. If I ask you to jump to code, refuse and tell me why, then take me back to the design. When the spec is approved, hand off to writing-plans and nothing else.What slides.md looks like
> "just add the endpoint, skip the design"
Holding the gate. The brainstorming skill blocks implementation
until there's an approved design — and this applies even to a
one-endpoint change, because that's exactly where an unexamined
assumption hides. Two questions and you'll have a spec to approve.
...[design approved]...
-> Spec committed. Invoking writing-plans — the only next step.
(Not frontend-design, not any other implementation skill.)One-line tweak
This gate is the whole point — but for a true one-line fix, just don't invoke brainstorming. Reach for test-driven-development or edit directly; the ceremony isn't free.
Community signal
Three voices that frame why a brainstorming skill exists at all. The first names the problem — models don’t stop to ask. The second is the skill doing its job — a hard gate refusing to code. The third is why the resulting design doc keeps the agent on track.
“The largest problem I have with LLMs is that they are seemingly incapable of stopping to ask clarifying questions.”
nightski · Hacker News
From the Superpowers launch thread. This is the problem the brainstorming skill exists to fix — it makes stopping to ask the default, one question at a time.
“I watched Claude refuse to write code I asked it to write, because the design doc wasn't approved yet. A flat refusal, with the rationale spelled out in plain English, citing a hard gate inside something called the brainstorming skill.”
Tommaso Nervegna · Blog
A designer's adoption story — the brainstorming skill's hard gate doing exactly what use case 10 promises. (Lightly trimmed to length; full text on the page.)
“The technique of maintaining a design document and a plan/progress document that get updated after each change seems to make a big difference in keeping the LLM on track.”
wrs · Hacker News
Why the artifact matters. The brainstorming skill's whole output is that design document — committed to docs/superpowers/specs/ before any code is written.
The contrarian take
Not everyone thinks a brainstorming skill needs to exist. The sharpest version of that objection, from the launch thread, is simonw (Simon Willison):
“I think the asking clarifying questions thing is solved already. Tell a coding agent to "ask clarifying questions" and watch what it does!”
simonw (Simon Willison) · Hacker News
From the Superpowers launch HN thread.
Simon is right that any capable model will ask if you tell it to. But the brainstorming skill isn't betting on whether Claude can ask — it's betting on discipline. It makes the questions the default (no 'amcq' to remember), enforces one at a time so you're not staring at a wall of six, and — the part a bare prompt doesn't give you — hard-gates implementation and commits an approved spec to docs/superpowers/specs/ before any code. The value is the enforced ritual and the artifact, not the raw capability. For a quick change, Simon's instinct wins: just ask. For ambiguous or long-running work, the ritual is what keeps the agent, and you, honest. That's the line this cookbook draws.
One framing to keep straight: this post is about the brainstorming stage, not the whole framework. If you want the full arc — brainstorm, plan, implement with TDD, review — read the Superpowers cookbook. If the question is whether the discipline is worth its token cost in 2026, that’s the worth-it review. Here we stay on the one skill that turns a rough idea into an approved design.
Real design-first workflows in the wild
Concrete examples of people running design-before-code in public. None of these are marketing — they’re here so you have a target shape in mind before you write the prompt.
- Jesse Vincent (obra) — built brainstorming as the design-before-code front door of Superpowers and dogfoods it daily
- Tommaso Nervegna — designer who hit the brainstorming skill's hard gate refusing to code before the design doc was approved
- Simon Willison — documented the brainstorm -> plan -> implement workflow the skill anchors, and demoed it publicly
- obra/superpowers — the brainstorming SKILL.md itself: the 9-step checklist, the hard gate, and the visual companion (MIT)
- Eric Tech — video demo where the brainstorm gate runs before any implementation on a real task
- Hacker News launch thread — practitioners comparing design-doc-before-code workflows (wrs, j_bum, danielbln)
Gotchas (the four that bite)
Sourced from the brainstorming SKILL.md itself and the Superpowers launch thread.
It blocks on you — by design
The skill asks one question at a time and waits for your approval after each design section. If you wanted an autonomous one-shot that designs and builds without stopping, this is the wrong tool. The gate is the feature, not a bug.
'Too simple to need a design' is a trap it closes
Even a config change or a one-function utility goes through the flow — the SKILL.md is explicit that simple projects are where unexamined assumptions cost the most. The design can be a few sentences, but you still present it and get approval.
It hands off to writing-plans and nothing else
Brainstorming will not jump to frontend-design, mcp-builder, or any implementation skill after approval — the terminal step is always the plan. If you expected it to start building the moment you said yes, it won't.
The spec lands in docs/superpowers/specs/ and gets committed
By default it writes and git-commits a dated design.md. The path is overridable, but if your repo blocks commits or you didn't want a tracked file, say so up front — otherwise you'll get a design doc on your branch.
Pairs well with
Curated to match the cookbook’s actual handoffs: the skill brainstorming hands to (writing-plans), the anchor that makes it fire (using-superpowers), the diagram skills the visual companion leans on, and the spec-prose companion the SKILL.md names by hand. Plus the MCP servers that store or track the approved spec. scientific-brainstorming is here too — a different, research-focused ideation skill people often confuse this one with.
Related skills
Related MCP servers
Two posts that compose well with this cookbook: What are Claude Code skills? covers the underlying mechanism, and the Superpowers guide shows what happens after brainstorming hands the spec to writing-plans.
Frequently asked questions
What does the brainstorming skill actually produce?
A committed design document. After the questions and approvals, the skill writes the design to docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md, commits it to git, and self-reviews it for placeholders, contradictions, and ambiguity. Then it hands off to the writing-plans skill. The conversation is the process; the spec file is the artifact you keep — and the thing the next stage reads.
Is there a brainstorming MCP server, or is it a skill?
It's a skill, not a brainstorming MCP server — there is no server to install. The distinction matters: a skill costs roughly 100 tokens at idle and only loads its full instructions when it triggers, whereas an MCP server's tool schemas load on every turn. The brainstorming skill does compose with MCP servers, though — the cookbook pairs it with the GitHub MCP to commit the spec, Linear to track a decomposition, and Notion to store the captured requirements. Skills decide the workflow; MCP servers give the agent the tools and data it acts on.
How is this different from the 'scientific-brainstorming' skill?
They're different skills by different authors for different jobs, and it's easy to confuse the two. obra's brainstorming skill is a software design-before-code workflow: question, compare approaches, write an approved spec, hand off to writing-plans. The scientific-brainstorming skill (by davila7) is a research ideation partner — it generates hypotheses, explores interdisciplinary connections, and identifies research gaps. If you're designing a feature, you want this one; if you're brainstorming research directions, see /skills/scientific-brainstorming instead.
Do I have to answer questions one at a time — can't it just design the whole thing?
It blocks on you by design. The skill asks one question per message, prefers multiple choice, and gets your approval after each design section. That's the feature, not a limitation — one-at-a-time is how it avoids the wall-of-six-questions problem and how it catches wrong assumptions early. If you wanted a fully autonomous one-shot that designs and builds without stopping, this is the wrong tool; the gate is the point.
When should I skip the brainstorming skill?
For a true one-line fix, skip it. The skill's own author and the launch thread agree the ceremony can cost more than the change on small, well-understood work — reach for test-driven-development or just edit directly. Run the brainstorming skill when the work is ambiguous, when you don't yet know the shape of the answer, or when it's large enough that drift is the real risk. Treat it as a tool you reach for, not a tax on every task.
Does the brainstorming skill work without the rest of Superpowers?
You can invoke it explicitly — 'use the brainstorming skill' — on its own. But it's designed to fire by default via the using-superpowers anchor, and its terminal step is to invoke writing-plans, so it's happiest with those two installed alongside it. For the whole brainstorm -> plan -> TDD -> review pipeline, see our Superpowers cookbook; for whether to adopt the framework at all, see the worth-it review. This post is the deep-dive on just the brainstorming stage.
Where does the design spec get saved, and can I change the location?
By default it saves to docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md and commits it to git. Your own preferences override that path — tell the skill where your team keeps specs and it uses that instead. If your repo blocks commits or you didn't want a tracked file at all, say so up front; otherwise you'll end up with a dated design.md committed to your branch, which is usually what you want.
Sources
Primary
- brainstorming SKILL.md (the skill manifest, obra/superpowers)
- obra/superpowers (the framework repo + README)
- Jesse Vincent — the original Superpowers launch post
Community
- Tommaso Nervegna — Blog
- Jesse Vincent (obra) — Blog
- nightski — Hacker News
- wrs — Hacker News
- danielbln — Hacker News
- j_bum — Hacker News
Critical and contrarian
Internal