Multi-model board meeting for strategic decisions. Gemini first-pass (advisory), then Claude expert panel (Opus strategic + Sonnet tactical). Configurable size: small(3), medium(5), large(7), mega(10). Output: structured verdict with votes, dissent, and recommended actions. Trigger: /boardmeeting
Orchestrates a structured board meeting with Gemini first-pass and Claude expert panel. Gemini provides broad advisory analysis; Claude agents review, challenge, and deepen.
User types /boardmeeting "topic" [size] or /boardmeeting "topic" (defaults to medium).
Extract from <args>$ARGUMENTS</args>:
small|medium|large|mega, otherwise mediumSize mapping:
small = 3 expertsmedium = 5 experts (default)large = 7 expertsmega = 10 expertsIf the user provides a number instead of a keyword, use it directly:
If the topic is empty or under 5 words, ask the user to elaborate (one follow-up max).
Output: [BOARD] Convened: N experts on "Topic"
Output: [BOARD] Gemini first-pass running...
Run the Gemini board meeting script:
bash ~/scripts/gemini_board_meeting.sh "$TOPIC" $EXPERT_COUNT
Parse the last line of stdout as JSON to get the output file path. Read the Gemini output file.
Shallowness check: If ANY of these are true, mark Gemini output as shallow:
ok: falseOutput: [BOARD] Gemini complete (X words). Claude panel reviewing.
Or: [BOARD] Gemini returned shallow results. Claude panel running independently.
Or: [BOARD] Gemini dispatch failed. Claude panel running independently.
Spawn ALL agents in ONE message with run_in_background: true.
Select agents from this priority-ordered roster (top N based on size):
| # | Role | Model | Tools | Description |
|---|---|---|---|---|
| 1 | Chief Architect | Opus | Read, Grep, Glob | System design, architectural trade-offs, long-term vision |
| 2 | Devil's Advocate | Opus | Read, Grep, Glob | Challenge premises, find non-obvious failure modes, argue against consensus |
| 3 | Security Engineer | Sonnet | Read, Grep | Attack surface, permissions, data leakage, compliance |
| 4 | Product Strategist | Opus | Read | User value, competitive positioning, build-vs-buy, ROI |
| 5 | Implementation Lead | Sonnet | Read, Grep, Glob | Feasibility, effort estimation, code impact, migration paths |
| 6 | Infrastructure/DevOps | Sonnet | Read, Grep | Resource constraints, deployment, monitoring, operational cost |
| 7 | Cost/Business Analyst | Sonnet | Read | Financial impact, TCO, opportunity cost |
| 8 | Code Quality Engineer | Sonnet | Read, Grep | Patterns, maintainability, technical debt, testing impact |
| 9 | Historical Analyst | Sonnet | Read | Past decisions from wiki/ and memory, precedents, lessons learned |
| 10 | Innovation Scout | Sonnet | none | Industry trends, emerging alternatives, what competitors do |
Compressed context packet (max 200 tokens per agent):
Role: [ROLE] | Topic: "[TOPIC]" | Check: [2-3 criteria from role] | Output: ADOPT/ADOPT_CTRL/DEFER/REJECT + 2-3 actions, <500w | Rules: challenge Gemini don't confirm, read files don't speculate, no file writes, be concrete to this codebase
[IF GEMINI]: Gemini advisory (challenge it): [key_sections trimmed] | Focus: what Gemini missed
[IF NO GEMINI]: No Gemini first-pass. Fully independent analysis.
Model routing:
model: "opus" in Agent toolmodel: "sonnet" in Agent toolLive status — compressed pipe-delimited format as each agent completes:
[BOARD] 1/N | Chief Architect | ADOPT | scalable, fits existing arch | next: synthesis
[BOARD] 2/N | Devil's Advocate | REJECT | hidden coupling risk | next: synthesis
After ALL agents return, produce the final verdict.
Determine verdict:
Determine confidence:
Output format (verdict-first):
# BOARD VERDICT: [Topic]
> Date: YYYY-MM-DD | Board: N experts | Confidence: HIGH/MEDIUM/LOW
## VERDICT: [OUTCOME] (X ADOPT / Y DEFER / Z REJECT)
[2-3 sentence executive summary of the decision and key reasoning]
## Key Dissent
[Strongest opposing view: who, what vote, and their core argument]
## Recommended Actions
1. [P1] [Highest-priority action]
2. [P2] [Second priority]
3. [P3] [Third priority]
Transcript saved: docs/board-meetings/YYYY-MM-DD-<slug>.md
docs/board-meetings/YYYY-MM-DD-<slug>.md with all expert assessmentswiki/_inbox.md using idempotent write:
md5(entry_text + date).substring(0, 12) where entry_text is the one-liner without any id suffixwiki/_inbox.md (not the whole file)(id: <computed_id>) — skip the write and log [BOARD] Dedup: skipped duplicate inbox entry[BOARD] YYYY-MM-DD: [Topic] — [VERDICT] ([N] experts, [confidence]) (id: <id>)ok:false, proceed Claude-only.| Size | Gemini | Claude Agents | Est. Total |
|---|---|---|---|
| small (3) | subscription | ~$0.20 | ~$0.20 |
| medium (5) | subscription | ~$0.40 | ~$0.40 |
| large (7) | subscription | ~$0.60 | ~$0.60 |
| mega (10) | subscription | ~$1.00 | ~$1.00 |
Gemini cost is covered by Google AI Ultra subscription ($249.99/mo, unlimited). Claude cost scales with prompt size — estimates assume ~3,000 token prompts.
wiki/_inbox.md for future compilationdocs/board-meetings/ surfaceable in decisions tab/adversarial on the implementation plan/advisor for execution phase