name: "brainstorm" description: "Structured brainstorm — from quick Socratic refinement to full C-suite strategy sessions. The missing step before /directive: figure out WHAT to do before telling agents to DO it. Takes a question or topic as argument."
Brainstorm — Structured Strategic Thinking
Role Resolution
Read .claude/agent-registry.json to map roles to agent names. Use each agent's id as the subagent_type when spawning. The COO = operations/orchestration, the CTO = architecture/technical, the CPO = product/UX, the CMO = growth/marketing.
The CEO has a question: $ARGUMENTS
Step 0: Triage
Read the question. Classify it before doing anything else.
Lightweight — single agent, Socratic dialogue, no external research:
- Focused design question ("how should I structure this component?")
- Single-domain topic (just architecture, or just UX, or just process)
- Answer can be reached in one conversation
- No cross-cutting impact (doesn't change multiple systems)
Heavyweight — multi-agent parallel research, synthesis, options:
- Strategic question affecting multiple systems ("how should goal tracking work?")
- Crosses domains (architecture + UX + operations)
- Needs external research (how do others solve this?)
- Decision has lasting consequences (data models, project structure, user flows)
State the classification:
Classification: {lightweight | heavyweight}
Reasoning: {one sentence}
Lightweight Path — Socratic Refinement
For focused questions. One agent, interactive dialogue. Think 5-minute whiteboard chat.
Pick the right agent based on the question domain:
- Architecture / data model → the CTO
- User experience / product → the CPO
- Process / operations → the COO
- Growth / positioning → the CMO
Spawn the agent (using the registry's id as subagent_type) with:
- Their personality file (auto-loaded via
subagent_type) - The CEO's question
.context/vision.mdand.context/preferences.md- Relevant files the question touches
You are {Name}, {Title}. The CEO wants to think through a design question with you.
QUESTION: {question}
Your job: Socratic refinement. Don't jump to an answer. Instead:
1. CLARIFY — Ask 2-3 sharpening questions to make sure you understand what the CEO really needs. What are the constraints? What matters most? What have they already considered?
2. EXPLORE — Once you understand, propose 2 options with clear trade-offs. Be opinionated. "I'd go with A because..." not "both have merit."
3. DETAIL — After the CEO picks a direction, flesh it out: what changes, what the structure looks like, what to watch out for.
Keep it conversational. Short responses. This is a dialogue, not a report.
CRITICAL OUTPUT FORMAT: JSON only. First character `{`, last `}`.
{
"agent": "{name}",
"clarifying_questions": ["question 1", "question 2", "question 3"],
"initial_instinct": "Your gut reaction to the question in 1-2 sentences"
}
After the agent asks questions, present them to the CEO via AskUserQuestion or as text. Let the CEO answer. Then re-spawn the agent (or resume) with the answers to get the options.
Final output: Write a brief design note to .context/directives/{relevant-directive}/brainstorm.md capturing the decision. Keep it short — this is a lightweight brainstorm, not a design doc.
If the question turns out to be bigger than expected (agent's questions reveal cross-cutting complexity), upgrade to heavyweight. Tell the CEO: "This is bigger than it looked — upgrading to full brainstorm."
Heavyweight Path — Multi-Agent Strategy Session
For strategic questions. Full C-suite, parallel research, synthesis, options.
The pattern: Diverge (independent perspectives) → Converge (synthesize options) → Decide (CEO picks) → Capture (design doc).
Step 1: Frame the Question
Read the CEO's question. If it's vague, clarify it with AskUserQuestion before proceeding.
Read context:
.context/vision.md— current north star.context/preferences.md— CEO preferences.context/goals/*/goal.json— current goal structure.context/lessons/scenarios.md— standing user scenarios (if relevant)
Frame the question as a clear design challenge:
- What we're deciding: one sentence
- Why it matters: what breaks if we get this wrong
- Constraints: non-negotiables from vision.md or preferences.md
- Current state: how things work today (brief)
Show the framing to the CEO before spawning agents. This prevents wasted work on a misunderstood question.
Step 2: Diverge — Independent Perspectives
Spawn 2-3 C-suite agents in parallel. Pick the most relevant agents for the question domain:
- Architecture / data model / system design → the CTO
- User experience / product design / workflows → the CPO
- Operations / process / project structure → the COO
- Growth / positioning / external patterns → the CMO
Always include the COO (they synthesize in Step 3). Pick 1-2 others based on the question.
Each agent receives:
- Their personality from
.claude/agents/{name}.md - The framed question from Step 1
.context/vision.mdand.context/preferences.md- Relevant context files (goal structure, current system docs, etc.)
- These instructions:
You are {Name}, {Title}. The CEO is brainstorming a strategic question and wants your independent perspective.
QUESTION: {framed question}
CURRENT STATE: {how it works today}
CONSTRAINTS: {non-negotiables}
Your job:
1. RESEARCH first — use WebSearch if external patterns would help (how do other tools/frameworks handle this?). Use Read/Grep/Glob if you need to understand the current system.
2. THINK from your domain expertise — what matters most from your perspective?
3. PROPOSE — give 1-2 concrete options with trade-offs. Don't hedge. Have an opinion.
Structure your response:
{
"agent": "{name}",
"perspective": "Your 2-3 sentence framing of the problem from your domain",
"research": [
{
"finding": "What you found externally or internally",
"source": "URL or file path",
"relevance": "Why it matters to this question"
}
],
"proposals": [
{
"name": "short-name",
"summary": "One paragraph describing the approach",
"pros": ["advantage 1", "advantage 2"],
"cons": ["disadvantage 1", "disadvantage 2"],
"effort": "quick (hours) | medium (days) | large (weeks)",
"opinion": "Why you'd pick this one (or not)"
}
],
"non_negotiables": ["Things that MUST be true regardless of which option we pick"],
"watch_outs": ["Risks or gotchas the CEO should know about"]
}
CRITICAL: First character `{`, last character `}`. JSON only. Have a STRONG opinion — the CEO wants perspectives, not waffling.
All agents: subagent_type: "general-purpose", model: "opus".
Step 3: Converge — COO Synthesizes
After all agents return, spawn the COO with a synthesis task.
The COO receives:
- Their personality
- All agent outputs from Step 2
- The original framed question
- Vision + preferences
You are the COO. The team has brainstormed independently. Your job: synthesize their perspectives into 2-3 clear OPTIONS for the CEO to choose from.
AGENT PERSPECTIVES:
{all agent outputs}
SYNTHESIS RULES:
1. Find the OVERLAPS — where do agents agree? This is the foundation.
2. Find the CONFLICTS — where do they disagree? These are the real decision points.
3. Design 2-3 OPTIONS that represent genuinely different approaches (not just variations).
4. For each option, be honest about trade-offs. Don't create a strawman "bad option" to make one look good.
5. Include a "COO'S PICK" — your recommendation with reasoning.
6. Include the NON-NEGOTIABLES that all agents agreed on (these apply regardless of option).
{
"agreements": ["Things all agents agreed on — the foundation"],
"tensions": [
{
"topic": "What they disagree about",
"positions": {"sarah": "her view", "marcus": "his view"},
"why_it_matters": "What depends on this decision"
}
],
"options": [
{
"name": "Option A: descriptive name",
"summary": "2-3 sentence description",
"inspired_by": ["which agent roles/perspectives contributed"],
"pros": ["advantages"],
"cons": ["disadvantages"],
"effort": "quick | medium | large",
"best_when": "This option is best if the CEO values X over Y"
}
],
"non_negotiables": ["Must be true regardless of option chosen"],
"coo_pick": {
"option": "Option name",
"reasoning": "Why — in 2-3 sentences"
}
}
CRITICAL: First character `{`, last character `}`. JSON only.
Step 4: Present to CEO
Present the synthesized options in a readable format:
# Brainstorm: {question title}
## The Team Agrees On
{non-negotiables — things that are true regardless of direction}
## The Key Tensions
{where agents disagreed — these are the real decisions}
## Options
### Option A: {name}
{summary}
**Pros:** {list}
**Cons:** {list}
**Effort:** {estimate}
**Best if:** {when to pick this}
### Option B: {name}
...
### Option C: {name} (if applicable)
...
## COO's Recommendation
{COO's pick and reasoning}
## Research Highlights
{Most interesting external findings from agents — URLs included}
Ask the CEO using AskUserQuestion:
- Option A / Option B / Option C / "Hybrid — let me explain"
Step 5: Capture Decision
After the CEO decides:
Write a design doc to
.context/directives/{relevant-directive}/brainstorm.md:# {Question Title} Date: {date} Decision: {chosen option} Participants: {agents involved} ## Context {framed question + why it matters} ## Options Considered {brief summary of each option} ## Decision {which option + CEO's reasoning} ## Non-Negotiables {agreed constraints} ## Next Steps {what needs to happen to implement this — becomes /directive input}If the decision requires implementation, ask the CEO:
- "Create directive" — write a directive to directives/ based on the decision
- "Add to backlog" — write to the relevant goal's backlog
- "Design doc only" — just capture the decision, implement later
Failure Handling
| Situation | Action |
|---|---|
| Agent output doesn't parse | Log error, continue with others. 2/3 perspectives is fine. |
| Agents all agree | Great — present the consensus as the recommendation. Still offer 2 options (the consensus + a contrarian alternative). |
| CEO wants to explore further | Spawn additional research on the specific area. Don't re-run the whole brainstorm. |
| Question is too broad | Break it into sub-questions. Brainstorm the most foundational one first. |
How Brainstorm Fits the Conductor Flow
Normal path (auto-triggered): Strategic directives trigger a brainstorm automatically inside the /directive pipeline. The CEO never needs to invoke /brainstorm separately — the team detects when strategic thinking is needed and handles it.
CEO gives direction → /directive → triage as "strategic" → C-suite brainstorms → COO plans → execute
Standalone path (CEO-invoked): The CEO can still invoke /brainstorm directly for questions that don't need a directive — strategy decisions, process design, framework choices, or "I want to think through X with the team" moments.
CEO invokes /brainstorm → triage → lightweight or heavyweight brainstorm → design doc
Not every directive needs a brainstorm (simple fixes don't). But strategic work — new data models, workflow changes, architectural shifts — benefits from the team exploring approaches before the COO plans execution.
Rules
NEVER
- Skip triage (Step 0) — always classify before spawning
- Use heavyweight for a focused question (wastes tokens and CEO time)
- Use lightweight for a strategic question (misses perspectives)
- Start heavyweight agents without framing the question first (Step 1)
- Let heavyweight agents see each other's output during Step 2 (independent thinking prevents groupthink)
- Present more than 3 options (decision paralysis)
- Skip the COO's synthesis in heavyweight (raw perspectives without synthesis is a data dump)
ALWAYS
- Triage first — lightweight or heavyweight
- Capture the decision to a discussion file (reasoning dies in context windows)
- Upgrade lightweight → heavyweight if clarifying questions reveal cross-cutting complexity
- Include at least the COO + one other agent for heavyweight
- Have the COO state a recommendation for heavyweight (no "it depends" cop-outs)
- Include external research in heavyweight (agents should WebSearch, not just opine)
- Frame the question before spawning heavyweight agents (prevents wasted work)