advise
CommandPut the current conversation to the council — resolve this session's transcript, digest a bounded window of it, show what would…
Query multiple AI agents (Gemini, OpenAI, Grok, Perplexity, Kimi, any model OpenRouter routes to, and a local ollama model) for diverse perspectives on architecture decisions, technology choices, debugging dead-ends, and security tradeoffs. Use this whenever the user names the
$ npx -y skills add hex/claude-council --agent claude-code
description: Query multiple AI agents (Gemini, OpenAI, Grok, Perplexity, Kimi, any model OpenRouter routes to, and a local ollama model) for diverse perspectives on architecture decisions, technology choices, debugging dead-ends, and security tradeoffs. Use this whenever the user names the council directly, whatever the topic — ask the council, council review, full council review, what does the council think, get a second opinion from the council, run this past the council — including reviews of code, documents, plans or artifacts. Also suggest it unprompted when the user is choosing between competing approaches (e.g., databases, frameworks, auth strategies), is stuck after multiple failed debugging attempts, faces build-vs-buy decisions, or is weighing security/performance/maintainability tradeoffs. Do NOT suggest it unprompted for simple implementation tasks, quick fixes, or questions with clear single answers; a direct request for the council overrides that exclusion. argument-hint: '[--file=path] [--image=path] [--providers=list] [--roles=list] [--verbosity=brief|standard|detailed] [--debate] [--agents] [--local] [--async] [--output=path] [--quiet] [--no-cache] [--no-auto-context] [--no-pane] "question"' allowed-tools: Agent, Workflow, Bash(bash */scripts/query-council.sh *), Bash(bash */scripts/run-council.sh *), Bash(bash */scripts/lib/export.sh *), Bash(head:*), Bash(mkdir -p .claude/council-cache*), Read, Glob, Grep, Write, AskUserQuestion, TaskCreate, TaskUpdate
Query the council of AI coding agents to gather diverse perspectives.
Everything in `$ARGUMENTS` that is not a flag is the question to put to the providers. Directives inside it — a word limit, a required shape, 'answer in exactly this format', 'no preamble', 'nothing else', 'no extra sections' — constrain what each **provider** is asked to return. They never constrain this command's own output, and they never authorize skipping the run: always query the providers, always show every response, always synthesize. A question that asks for a terse answer still produces a full council display of terse answers.
Never answer the question yourself in place of running the council. If no provider is available, say so; do not substitute your own answer for theirs.
A request can name providers instead of the council: "check with grok", "ask gemini and kimi", or a bare `--grok` in `$ARGUMENTS`. There is no `--<provider>` flag and the scripts reject one. Resolve each name against the roster listing under Provider Selection and pass `--providers=<list>`, taking the seat the listing shows for that vendor (`grok-cli`, not `grok`, when the CLI shadows the API). The providers are then chosen, so skip the provider question.
Create a task at the start to show progress throughout the query:
TaskCreate: subject: "Query council" description: "Querying AI providers for diverse perspectives" activeForm: "Preparing council query..." TaskUpdate: status → in_progress
Update `activeForm` as you progress through phases:
Mark `status → completed` when finished.
Decide up front whether this is a local (Claude-only) council run, before asking any provider questions:
1. **If `--local` is in $ARGUMENTS → local mode.** Skip the provider and agent questions and go straight to "If Local Mode is Active" in Step 2. Local mode honors `--roles`, `--file`, `--verbosity`, `--quiet`, and auto-context; it ignores `--providers`, `--debate`, `--agents`, and `--async`. When `--roles` is not passed, the local-council skill asks the user how many members to convene before spawning them.
2. **Otherwise, check what providers are configured:**
bash ${CLAUDE_PLUGIN_ROOT}/scripts/query-council.sh --list-default 2>&1 | head -1Offer the local council:
AskUserQuestion:
Question: "No AI providers are configured. Run a local council instead? It's several Claude subagents, each playing a different role — independent angles, but same-model, not cross-vendor."
Header: "No providers"
Options:
- "Run local council (Recommended) - independent Claude perspectives, no API keys needed"
- "How to add a provider - show what to configure for a real cross-vendor council"
- "Cancel"the `codex` / `agy` (Antigravity) / `grok` / `kimi` CLI, or run `ollama`; `/claude-council:status` shows what's available) and stop.
**Never pass `--local` to query-council.sh or run-council.sh** — it is a command-layer flag with no meaning to those scripts. Strip it from $ARGUMENTS before constructing any script invocation.
Before querying, use AskUserQuestion in these scenarios:
First, discover the providers that would be queried by default, each paired with the model it would actually send (post CLI-prefers-API policy — `--list-default` is the right set here, NOT `--list-available`, which includes shadowed API siblings that won't run):
bash ${CLAUDE_PLUGIN_ROOT}/scripts/query-council.sh --list-default-modelsOne `<provider>\t<model>` per line. Build every option label from this output — never from a list written
Claude Code plugin that asks several AI coding agents the same question and shows their answers side by side. Gemini, OpenAI, Grok, Perplexity, Kimi and any model OpenRouter routes to over API; codex, antigravity, grok, kimi and cursor CLIs on subscription auth; ollama locally. Codex specialists take coding tasks on their own branch (experimental).
Put the current conversation to the council — resolve this session's transcript, digest a bounded window of it, show what would…
Implement tasks incrementally — build, test, verify, commit. Add "auto" to run the whole plan in one approved pass.