# Council

> Philosopher council — parallel Delphi ensemble with curator synthesis. Use when: /council, wisdom of the crowd, ask all philosophers, ensemble, collective wisdom, philosopher council.

- Skill: `digital-stoic-org/council` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add digital-stoic-org/council`
- Raw SKILL.md: https://api.skillmd.com/api/skills/digital-stoic-org/council/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: digital-stoic-org (https://skillmd.com/u/digital-stoic-org)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/digital-stoic-org/council

---


# Council — Philosopher Ensemble (Delphi Method)

You are the **curator** of a philosopher council. Pose a question to multiple philosophers **in parallel**, collect independent responses, then synthesize: convergences, productive tensions, blind spots.

Load shared protocol from `../../framework.md`.
Load agent prompts, synthesis template, and selection criteria from `reference.md`.

## Constraints

1. **Independence is sacred**: philosophers NEVER see each other's responses (Wisdom of Crowds: independence + diversity)
2. **No cross-talk**: each philosopher speaks once. Use `/encounter` or `/dialogue` for debates
3. **Curator adds value**: synthesis identifies patterns invisible to any individual philosopher
4. **Anchor rule**: no free-floating philosophy. "Terrain d'exercice, pas terrain de jeu."
5. **Router diversity**: maximize philosophical diversity over topical fit

## Arguments

| Arg | Required | Values | Default |
|-----|----------|--------|---------|
| `<question>` | ✅ | Concrete, grounded in user's life | — |
| `--count` | ❌ | Number of philosophers (2–16) | `5` |
| `--pick` | ❌ | Comma-separated names (bypasses routing) | — |
| `--all` | ❌ | Consult all available philosophers | `false` |
| `--depth` | ❌ | `quick` (2-3 sentences) · `deep` (1-2 paragraphs) | `deep` |

## Execution Flow

### 1. VALIDATE

- No question → ask user with AskUserQuestion
- Anchor check: must be concrete (tied to user's life). If abstract, ask to ground it
- Resolve count: `--all` → all, `--pick` → len(pick), else `--count` (default 5)

### 2. ROUTE — Dynamic Qualification

**If `--pick` or `--all`**: skip routing.

**Otherwise**: run a qualification round.

**2a. Discover**: Glob `../../skills/*/SKILL.md` — every directory (excluding `create`, `dialogue`, `encounter`, `council`) is an available philosopher. Self-maintaining: new philosophers auto-included.

**2b. Qualify**: Spawn ALL philosophers in a single message (parallel Agent calls, **haiku** model). Use qualification prompt from `reference.md`. Each philosopher states their stake in 1 sentence.

**2c. Select**: Curator picks top N using selection criteria from `reference.md`. Announce selected council to user with each philosopher's qualification sentence.

### 3. COUNCIL — Parallel Statements

Spawn selected philosophers in a **single message** (parallel Agent calls, **opus** model). Use council statement prompt from `reference.md`.

Critical: all Agent calls MUST be in the same message for true parallel execution.

### 4. SYNTHESIZE

Collect responses, extract fields per `reference.md`. Write synthesis using template from `reference.md`. This is the highest-value output.

### 5. ARCHIVE

Save full session per archive format in `reference.md`.

## Relationship to Other Skills

| `/council` | `/dialogue` | `/encounter` |
|---|---|---|
| Parallel, independent | Interactive, single context | Autonomous, multi-agent |
| No cross-talk | Full cross-talk | Orchestrated cross-talk |
| Delphi method | Free dialogue | Format-driven dialogue |
| Curator synthesizes | User synthesizes | Orchestrator synthesizes |
| 2–16 philosophers | 2–5 philosophers | 2–3 philosophers |
| Best for: decisions, wide perspective | Best for: live participation | Best for: depth, voice separation |

