6 added, 4 removed. Audit A to A.
---
name: council-execution
description: Executes council queries by running the query pipeline across selected AI providers (Gemini, OpenAI, Grok, Perplexity), displaying formatted responses verbatim, and generating a synthesis of consensus, divergence, and recommendations. Invoked by the ask command during standard (non-agent) council queries.
---
# Council Query Execution
## Step 1: Run Query and Save to File
```bash
bash ${CLAUDE_PLUGIN_ROOT}/scripts/run-council.sh --providers=gemini,openai -- "Your question"
```
This outputs the path to the saved file (e.g., `.claude/council-cache/council-1734567890.md`).
**Flag syntax**: Use `=` with no spaces: `--providers=gemini,openai`
**CRITICAL**: Always place `--` before the prompt to prevent prompt text containing dashes from being parsed as flags.
- Inside tmux, a provider failure makes the streaming pane offer the user a retry
- for `COUNCIL_RETRY_WAIT` seconds (default 45); the script waits for that answer,
- and an accepted retry adds another provider round. Give the Bash call timeout
- headroom for both, or a slow retry is cut off and the transcript is lost.
+ **Run this Bash call with `timeout: 600000`** (ten minutes). The Bash tool's
+ two-minute default is shorter than a slow council round, and inside tmux a
+ provider failure makes the streaming pane offer the user a retry for
+ `COUNCIL_RETRY_WAIT` seconds (default 45) and then runs another provider round
+ if accepted. A call cut off mid-run loses the whole transcript, the answers
+ that did arrive included.
## Step 2: Read and Display the Output VERBATIM
Use the **Read tool** to read the output file path returned by Step 1.
**CRITICAL**: Display the file content EXACTLY as written. Do NOT:
- Reformat or reinterpret any text
- Add your own headers or structure
- Summarize or abbreviate responses
- Skip any lines including separator lines (`---`)
Simply copy-paste the entire file content into your response.
## Step 3: Complete the Synthesis Section
The file ends with a `## Synthesis` header. Read
`${CLAUDE_PLUGIN_ROOT}/prompts/synthesis.md` and write your synthesis UNDER
that header following its structure (Consensus / Divergence / Recommendation)
and calibration rules.
## Step 4: Notify User of Saved Output
After displaying the synthesis, tell the user:
> ---
> (use this emoji ๐พ) Full output saved to `.claude/council-cache/council-TIMESTAMP.md` (use the actual filename)
This lets them review the complete responses later.
## Output Format: Provider Names
The output file uses emoji prefixes to visually distinguish providers.
Preserve this format when displaying results:
| Provider | Prefix |
|----------|--------|
| Gemini | ๐ฆ Gemini |
| OpenAI | ๐ณ OpenAI |
| Grok | ๐ฅ Grok |
| Perplexity | ๐ฉ Perplexity |