Brainstorm orthogonal options #
When an LLM generates ideas in a single pass, token conditioning causes mode collapse. Options two through five become minor tweaks of option one, and the session picks a winner before exploring the design space.
brainstorm prevents mode collapse in two ways:
- Orthogonal axes: Each option must follow a distinct constraint rule instead of varying small details along a single path.
- Deferred judgment: You hold off on ranking, scoring, and coding until you write out every option in full.
🧭 The 5 orthogonal lenses #
Unless the user asks for custom angles, generate 5 distinct options—one for each lens below:
| Lens | Core constraint question | What it forces |
|---|---|---|
| 1. Subtractive / zero-code | How can you solve or drop this problem by deleting code, cutting scope, or changing the workflow instead of building new tools? | Challenges the assumption that you need new code at all. |
| 2. Convention-first baseline | What’s the simplest, lowest-risk fix using standard library primitives and common idioms? | Sets a realistic cost and complexity baseline. |
| 3. Declarative / data-driven | What happens when you move control flow out of code and into a static table, schema, state machine, or settings file? | Separates policy and data from execution logic. |
| 4. UX-backward inversion | Starting from the ideal one-line caller API or human workflow, what internal design makes that interface work? | Optimizes for ergonomics and low cognitive load first. |
| 5. Blank-slate / 10x scale | If you ignored legacy limits and designed from first principles for 10x scale or speed, what would you build? | Breaks local maxima and small-step habits. |
📋 Operational workflow #
- Step 1: Problem framing and hard rules State the core goal, hard limits, and non-goals in 3 to 5 short bullets. Don’t propose solutions in this step.
- Step 2: Lens selection
Pick the 5 standard lenses, or
Ncustom axes if the user asked for a specific count or domain focus. If the user’s limits conflict or seem unclear, callask_questionto clarify before generating options. - Step 3: Divergent generation
Write one concrete proposal per lens. When subagents are available, you can spawn one worker per lens so ideas don’t anchor each other; otherwise step through each lens one by one. Every option must include:
- Core mechanism: How the design works in 2 to 3 short sentences.
- Concrete sketch: A brief code snippet, data schema, CLI call, or text diagram showing the design.
- Primary failure mode: The exact case where this option breaks down or becomes the wrong choice.
- Step 4: Validation gate and trade-off matrix Run the validation check below to confirm that no two options share the same mechanism. Then score all options across Effort, Maintenance Cost, Risk, and Ergonomics, and note whether two options combine into a stronger hybrid.
- Step 5: Interactive selection gate (
ask_question) Stop before editing project code. Present the option table and callask_questionso the user can pick a path, combine two options, or narrow the constraints.
✅ Validation gate #
Before showing the brainstorm options to the user, check all three rules:
- Distinct mechanisms: If two options differ only by library name, flag value, or label, drop the duplicate and write a new option from a different lens.
- Concrete sketch: Every option includes a code block, schema, or diagram, not prose alone.
- Zero premature edits: You haven’t touched any project source files before the user picks an option in Step 5.
📄 Output template #
## 1. Problem framing and hard rules
- **Goal**: <1-sentence goal>
- **Hard limits**: <non-negotiable requirements>
- **Non-goals**: <what stays out of scope>
## 2. Orthogonal option portfolio
### Option 1: <Title> (Subtractive lens)
- **Core mechanism**: <2-3 sentences>
- **Concrete sketch**:
```<lang>
<minimal code or schema>- Primary failure mode:
3. Comparative trade-off matrix #
| Option | Lens | Effort | Risk | Key advantage | Main trade-off |
|---|---|---|---|---|---|
| 1. | Subtractive | Low | Low | ||
| 2. | Baseline | Low-Med | Low | ||
| 3. | Declarative | Med | Low | ||
| 4. | UX-backward | Med | Med | ||
| 5. | Blank-slate | High | High |
4. Hybrid synthesis #
- Recommended pairing: <How two lenses combine, or why a single lens wins>
