From claude-council
Runs parallel Claude subagents to query providers, evaluate responses, and return structured insights with confidence ratings and blind spot analysis. Activated by --agents flag or complex architectural decisions.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-council:deep-executionThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use parallel Claude subagents for deeper analysis. Each subagent queries its provider,
Use parallel Claude subagents for deeper analysis. Each subagent queries its provider, evaluates response quality, can ask follow-up questions, and returns structured insights.
For each selected provider, gather:
${CLAUDE_PLUGIN_ROOT}/scripts/providers/{name}.shbash ${CLAUDE_PLUGIN_ROOT}/scripts/query-council.sh --list-available or read the provider script defaultsLaunch ALL provider agents in a single message (multiple Agent tool calls) for parallel execution.
Use run_in_background: true and subagent_type: "general-purpose" for each.
Agent prompt template: See agent-prompt-template.md for the full template.
Read it and fill in {PROVIDER}, {SCRIPT_PATH}, and {QUESTION} for each agent.
CRITICAL: If a role was assigned to a provider (via --roles), build the
role-injected question with the same helper the standard flow uses — source
scripts/lib/prompts.sh and scripts/lib/roles.sh, then
build_prompt_with_role "<question>" "<role>" — and pass its output as the
agent's {QUESTION}. The role format itself is defined in
${CLAUDE_PLUGIN_ROOT}/prompts/role-injection.md.
CRITICAL: If file context was gathered (via --file or auto-context), include it in the question passed to each agent.
As each background agent completes, you will be automatically notified. Wait for ALL agents to complete before proceeding to display.
If an agent fails or times out, note the failure and continue with available results.
Validate each agent's reply against the contract before using it. Write the
reply to a file first (its JSON may contain quotes, backticks, and $() that an
inline echo would let the shell mangle or execute), then feed it on stdin:
cat > /tmp/council-reply.json <<'COUNCIL_REPLY_EOF'
<paste the agent's raw JSON reply here, verbatim, unescaped>
COUNCIL_REPLY_EOF
bash ${CLAUDE_PLUGIN_ROOT}/scripts/validate-analysis.sh < /tmp/council-reply.json
[invalid agent analysis - raw reply preserved], list the validator's
reasons, and exclude that provider from confidence-weighted synthesis
(mention it under Divergence/failures instead).For each provider with a valid analysis, display it using this format:
## {EMOJI} {PROVIDER} ({MODEL}) — Agent Analysis
**Quality**: {quality} | **Confidence**: {confidence} | **Retried**: {retried}
### Key Recommendations
{recommendations}
### Unique Perspective
{unique_perspective}
### Blind Spots
{blind_spots}
---
<details>
<summary>Full {PROVIDER} Response</summary>
{full_response}
</details>
Provider emojis (ALWAYS use emoji + space):
With pre-analyzed responses, generate a richer synthesis than the standard mode:
Weight agreement by each provider's confidence level. High-confidence agreement is stronger signal than low-confidence agreement.
Cross-reference each provider's blind spots against other providers' recommendations. Flag risks that NO provider considered.
Where providers disagree, explain WHY they likely diverge (different assumptions, different optimization targets, different risk tolerance).
Synthesize the strongest approach, noting which providers support it and at what confidence level.
Save the complete output (all provider analyses + synthesis) to a cache file:
mkdir -p .claude/council-cache
Write the output to .claude/council-cache/council-agents-{TIMESTAMP}.md where
TIMESTAMP is the current Unix timestamp.
Tell the user:
Full agent analysis saved to
.claude/council-cache/council-agents-{TIMESTAMP}.md
npx claudepluginhub hex/claude-marketplace --plugin claude-councilRuns council queries across AI providers (Gemini, OpenAI, Grok, Perplexity), displays responses verbatim, and generates a synthesis of consensus, divergence, and recommendations.
Queries external AI agents (Codex, Gemini, OpenCode, Claude Code) in parallel for independent second opinions on code reviews, architecture decisions, security reviews, and ambiguous problems. Not for simple questions answerable from docs or the codebase.
Runs a configurable multi-LLM council with personas, budget caps, synthesis, veto gates, and optional implementation handoff via the orchestrate.sh runner.