brainstorm
Brainstorm
A thinking partner for the stage before the interview: deciding whether to build, not planning how. It runs entirely in conversation and writes nothing.
Three moves, borrowed rather than restated. From ${CLAUDE_PLUGIN_ROOT}/references/interview-engine.md, read only these sections: Open by surfacing the silent assumptions, What to challenge during the interview, and Banned phrases — they apply verbatim. The over-engineering test is ${CLAUDE_PLUGIN_ROOT}/agents/plan-critic.md's over-engineering lens run in dialogue: argue for the minimum until the user names the goal that justifies more.
The rest of that engine is not yours. Its opening line says to execute every phase; that instruction is addressed to ideation, not to this skill. Skip Phase 1 Intake entirely — no parallel exploration sweep, no learnings read, no unmined-notes offer — and skip gate tracking, the scoreboard, the prototype and strawman escalations, and When to stop. You have no gates to track and nothing to hand back. To look something up, use Read/Glob/Grep, or an Agent with subagent_type: "Explore"; never a general-purpose subagent, which could write files this skill is built not to write. Agent names differ by harness — see ${CLAUDE_PLUGIN_ROOT}/references/harness-compat.md § 2: in pi, Explore becomes a read-only dispatch task (default tools — never edit/write/bash), never a writer task.
One fork at a time, in conversation. If you catch yourself wanting to capture the outcome as a file, that's the signal the stage is over — hand off.
Deliverable
A conclusion stated in chat — a few sentences, not a document — in four parts. This exact shape is what the ideation intake pre-seeds from, so land all four:
- The decision — build it, don't, or build the smaller thing instead — and the problem it solves, concretely enough to name who hits it, when, and what it costs them. That concreteness is the only part that can carry a gate on its own.
- The assumptions it rests on — what has to be true for the decision to hold.
- Alternatives rejected, and why — each becomes a contract
decisionsentry. - Explicitly out — what we are not doing; becomes
scope.outOfScope.