council

Brainstorm and critique with 10 specialist viewpoints. Use for architecture, plan reviews, or tradeoffs.

272 stars

Best use case

council is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Brainstorm and critique with 10 specialist viewpoints. Use for architecture, plan reviews, or tradeoffs.

Teams using council should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/council/SKILL.md --create-dirs "https://raw.githubusercontent.com/automagik-dev/genie/main/skills/council/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/council/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How council Compares

Feature / AgentcouncilStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Brainstorm and critique with 10 specialist viewpoints. Use for architecture, plan reviews, or tradeoffs.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# /council — Multi-Perspective Review

Convene a panel of 10 specialist perspectives to brainstorm, critique, and vote on a decision.

## When to Use

- Architecture decisions needing diverse viewpoints
- During `/wish` to generate approaches with tradeoffs
- During `/review` to surface risks and blind spots
- Deadlocked discussions needing fresh angles

### Auto-Invocation Triggers

The council can be triggered automatically by other skills:
- **During `/review`**: when an architecture decision has significant tradeoffs, `/review` may invoke `/council` to get specialist input before rendering a verdict.
- **During `/brainstorm`**: when the Decisions dimension stays unfilled (░) after 2+ exchanges, `/brainstorm` suggests running `/council` to break the deadlock.

## Mode Detection

Before running the council flow, detect which mode to use:

1. Run `genie team ls $GENIE_TEAM` (or the current team) and check if council members (names starting with `council-`) are present in the team.
2. **If council members are present** → use **Full Spawn Mode**
3. **If no council members** → use **Lightweight Mode** (default)

## Lightweight Mode (Default)

When no council members are hired in the team, simulate all perspectives in a single session. One agent plays all roles — faster, lower cost, good for most decisions.

### Flow

1. Identify the topic from user context (architecture, performance, security, API design, operations, or general)
2. Route to the relevant council members (see Smart Routing below). Default: core trio
3. Generate each member's perspective — distinct, opinionated, non-overlapping
4. Collect votes: APPROVE, REJECT, or MODIFY from each member
5. Synthesize a collective recommendation with the vote tally
6. Present the advisory and ask the user to decide

## Full Spawn Mode

When council members are hired in the team, real agents deliberate via `genie chat` and reach consensus. Higher-quality than lightweight mode since each member runs in its own context with its own reasoning.

### Setup

Hire council members into the team before invoking:

```bash
genie team hire council
```

This adds specialist agents (e.g., `council-questioner`, `council-architect`) to the current team.

### Flow

1. Identify the topic and select relevant members (Smart Routing)
2. Post the topic to team chat:
   ```bash
   genie chat post --team <team> "COUNCIL TOPIC: <topic>\n\nContext: <relevant context>\n\nPlease review and vote: APPROVE, REJECT, or MODIFY with rationale."
   ```
3. Notify each relevant council member via `genie send`:
   ```bash
   genie send 'New council topic posted to team chat. Read it, apply your lens, and post your perspective + vote.' --to council-<member>
   ```
4. Wait for responses. Poll team chat for council member messages:
   ```bash
   genie chat read --team <team> --since <topic-post-timestamp>
   ```
5. **Timeout:** if a council member hasn't responded within 2 minutes, proceed with "no response" in the tally. Do not block indefinitely.
6. Once all consulted members have responded (or timeout reached), the leader synthesizes:
   - Collect all perspectives from team chat
   - Tally votes
   - Produce the synthesized recommendation
7. Present the advisory to the user using the same output format

### Notes on Full Spawn Mode

- Council members respond independently — each applies their own lens prompt
- The leader (session running `/council`) acts as moderator and synthesizer
- If a council member hasn't responded after timeout, note them as "no response" in the tally
- Full spawn mode produces higher-quality reviews since each member runs in its own context

## Council Members

| Member | Focus | Lens |
|--------|-------|------|
| **questioner** | Challenge assumptions | "Why? Is there a simpler way?" |
| **benchmarker** | Performance evidence | "Show me the benchmarks." |
| **simplifier** | Complexity reduction | "Delete code. Ship features." |
| **sentinel** | Security oversight | "Where are the secrets? What's the blast radius?" |
| **ergonomist** | Developer experience | "If you need to read the docs, the API failed." |
| **architect** | Systems thinking | "Talk is cheap. Show me the code." |
| **operator** | Operations reality | "No one wants to run your code." |
| **deployer** | Zero-config deployment | "Zero-config with infinite scale." |
| **measurer** | Observability | "Measure, don't guess." |
| **tracer** | Production debugging | "You will debug this in production." |

## Smart Routing

| Topic | Members |
|-------|---------|
| Architecture | questioner, benchmarker, simplifier, architect |
| Performance | benchmarker, questioner, architect, measurer |
| Security | questioner, simplifier, sentinel |
| API Design | questioner, simplifier, ergonomist, deployer |
| Operations | operator, tracer, measurer |
| Observability | tracer, measurer, benchmarker |
| Full Review | all 10 |

**Default:** Core trio — questioner, benchmarker, simplifier.

## Output Format

```markdown
## Council Advisory

### Topic: [Detected Topic]
### Mode: [Lightweight / Full Spawn]
### Members Consulted: [List]

### Perspectives

**questioner:**
- [Key point]
- Vote: [APPROVE/REJECT/MODIFY]

**simplifier:**
- [Key point]
- Vote: [APPROVE/REJECT/MODIFY]

[... other members ...]

### Vote Summary
- Approve: X
- Reject: X
- Modify: X

### Synthesized Recommendation
[Council's collective advisory]

### User Decision Required
The council advises [recommendation]. Proceed?
```

## Rules

- Advisory only — never block progress based on council vote
- Never invoke all 10 for simple decisions; route to the relevant subset
- Each perspective must be distinct — no rubber-stamping or echoing other members
- Always synthesize votes into a recommendation; never present raw votes without interpretation
- The council advises, the user decides

Related Skills

work

272
from automagik-dev/genie

Execute an approved wish plan — orchestrate subagents per task group with fix loops, validation, and review handoff.

wish

272
from automagik-dev/genie

Convert an idea into a structured wish plan with scope, acceptance criteria, and execution groups for /work.

trace

272
from automagik-dev/genie

Dispatch trace subagent to investigate unknown issues — reproduces, traces, and reports root cause for /fix handoff.

review

272
from automagik-dev/genie

Validate plans, execution, or PRs against wish criteria — returns SHIP / FIX-FIRST / BLOCKED with severity-tagged gaps.

report

272
from automagik-dev/genie

Investigate bugs comprehensively — cascade through /trace, capture browser evidence, extract observability data, and auto-create a GitHub issue with all findings.

refine

272
from automagik-dev/genie

Transform a brief or prompt into a structured, production-ready prompt via prompt-optimizer. File or text mode.

learn

272
from automagik-dev/genie

Diagnose and fix agent behavioral surfaces when the user corrects a mistake — connects to Claude native memory.

genie

272
from automagik-dev/genie

Transform any Claude Code session into an Automagik Genie orchestrator — guide users through brainstorm, wish, team, and PR lifecycle.

fix

272
from automagik-dev/genie

Dispatch fix subagent for FIX-FIRST gaps from /review, re-review, and escalate after 2 failed loops.

dream

272
from automagik-dev/genie

Batch-execute SHIP-ready wishes overnight — pick wishes, orchestrate workers, review PRs, wake up to results.

docs

272
from automagik-dev/genie

Dispatch docs subagent to audit, generate, and validate documentation against the codebase.

brainstorm

272
from automagik-dev/genie

Explore ambiguous or early-stage ideas interactively — tracks wish-readiness and crystallizes into a design for /wish.