Brainstorming Is Not a Warm-Up. It's the Work.
The brainstorming skill from obra/superpowers enforces a hard gate before any code gets written — and that constraint turns out to be the most productive thing you can add to your workflow.
The first time I used the brainstorming skill, I assumed it was a glorified rubber duck.
You describe the thing. The AI asks a few questions. You feel better about your vague idea. Then you start coding.
That's not what it is.
The Hard Gate
There's a line in the skill's instructions that reads: 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.
It calls this a HARD-GATE. In caps.
The first time I hit it, I was mildly annoyed. I had a clear enough picture in my head. I knew what I was building. The questions felt like friction.
Three exchanges later, I had changed my mind about the architecture twice and discovered that the "simple" thing I was building had three competing interpretations that would have sent me down very different paths.
That's when I understood what the gate was actually for.
The Anti-Pattern They Named
The skill explicitly calls out the pattern it's designed to break: the belief that something is too simple to need a design.
It says: "Simple" projects are where unexamined assumptions cause the most wasted work.
I've lost count of how many times I've ripped out code that was technically correct but solving the wrong version of the problem. A one-off script that turned into a reusable module nobody needed. A UI component built for a flow that the product pivoted away from before it shipped.
None of that work felt wasteful when I was doing it. It felt fast. It felt productive. I was making things.
The design wasn't the thing I built. The design was the thing I skipped.
What It Actually Does
The brainstorming skill from obra/superpowers moves through a structured sequence: explore context, ask clarifying questions one at a time, propose two or three approaches with trade-offs, present a design, write it down, review it, then hand off to the planning stage.
Each question comes individually. You can't rush through a list. You have to actually sit with each one.
That pacing is doing something. Batched questions invite batched answers. Single questions invite real thinking. The difference in quality is significant.
The two or three approaches part is where it gets useful in a way I didn't expect. Even when I was certain which approach I wanted, being asked to consider alternatives surfaced constraints I'd been carrying silently — preferences about complexity, dependencies I wanted to avoid, failure modes I'd already imagined. The act of rejecting the alternatives made my real choice more specific.
Design as a Thinking Medium
There's a broader principle at work here, and it took me a while to articulate it.
Code is a terrible medium for thinking. It's precise. It makes decisions permanent. It rewards momentum. When you write code to figure out what you're building, you end up attached to the decisions the code locked in, even when those decisions were just the first thing that came to mind.
Design is cheap. You can contradict yourself in a design doc in the same sentence and it costs nothing. You can say "approach A, unless we need to do B, in which case C" and that's a perfectly valid design state. You can't write that in code.
The brainstorming skill treats the design phase as a serious artifact — written, committed, reviewed. Not a whiteboard sketch you erase when you start. A document you come back to.
That document is the thing that stops you from building the wrong thing twice.
The Question I Ask Now Before Anything Else
I now run some version of the brainstorming process before I start any meaningful work — not just software features. Before content series. Before workflow changes. Before any project that will take more than a day.
The question I'm actually asking is: do I understand what I'm building well enough that I could explain it to someone who'd push back on it?
If the answer is no, I'm not ready to build. I'm ready to brainstorm.
That distinction used to feel like a luxury. It doesn't anymore. It's the cheapest leverage in the whole development cycle.
Part of the Superpowers series — 14 specialist skills from obra/superpowers.