llm-council

llm-council is a skill for Claude Code, Codex from kirodotdev/KiroCrew. It costs 137 tokens per session (3,210 once invoked), scanned C, original, Apache-2.0.

A process for asking several AI models from different providers to answer a question, then combining their responses or tallying their votes.

In plain words
What is it for?
Use it for open-ended design questions, adversarial reviews, or decisions that need independent proposals, critiques, or a majority verdict.
Why use it?
Different models can expose different assumptions or mistakes, while structured voting helps choose between clearly defined options.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: mentions subagents.

Good fit Use it for open-ended design questions, adversarial reviews, or decisions that need independent proposals, critiques, or a majority verdict.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/kirodotdev/kirocrew/llm-council
About the project

Kiro Crew is a persistent development workspace where agents continue multi-step software work across sessions, schedules, and connected interfaces. Developers use it locally or remotely through a desktop app, web dashboard, CLI, Slack, or Discord, with unattended tasks and recurring jobs. The catalogue contains skills and instructions for working with this workspace.

kirodotdev/KiroCrew · 3,687 stars · on GitHub · kiro.dev

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add kirodotdev/KiroCrew --skill llm-council
Clone the repo
git clone --depth 1 https://github.com/kirodotdev/KiroCrew

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for llm-council

README.md
[![agentmods](https://agentmods.dev/badge/skills/kirodotdev/kirocrew/llm-council.svg)](https://agentmods.dev/skills/kirodotdev/kirocrew/llm-council)
Your own site
<a href="https://agentmods.dev/skills/kirodotdev/kirocrew/llm-council"><img src="https://agentmods.dev/badge/skills/kirodotdev/kirocrew/llm-council.svg" alt="Measured on agentmods" height="20"></a>
Per session 137 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,210 The whole file, excluding the scripts and references it only reads on demand.
Security scan C 1 finding. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector warn 7 Sept 2026
SkillSpector: 1 finding, up to high

These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →

  • high Anti-Refusal · line 111
    Skill instructs the agent to never refuse or to always comply. Suppressing the agent's ability to decline removes a core safety control and enables downstream harmful requests to succeed.
    Fix: Remove any instruction telling the agent to never refuse or always comply. The agent must retain the ability to decline unsafe, out-of-scope, or harmful requests.
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00137 $0.03210
Opus 5 $0.00068 $0.01605
Sonnet 5 $0.00027 $0.00642
Haiku 4.5 $0.00014 $0.00321

Measured today against content hash c2cd27404568, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-07, from the pricing page.

Security

Grade C, and why

llm-council scanned grade C with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Tells the agent never to refusehighAnti-refusal

Suppressing the ability to decline removes a core safety control; a later harmful request then succeeds.

and give your best judgment — do not refuse. Do not ask clarifying questions; if
src/kiro_crew/builtin_skills/llm-council/SKILL.md · 241 lines

How it starts

The opening of the file, as written. The whole thing — 241 lines — stays where its author put it; the contents beside it link to each section on GitHub.

LLM Council

Overview

Answer with a panel of different-vendor models instead of one. The main session is the Chairman: it fans a task out to N subagents — each spawn_run pinned to a different model via the model override — collects their outputs, and produces one result. Cross-vendor is the point (a same-model panel echoes one bias); kiro-cli is already the gateway (kiro-cli chat --list-models), so no external egress.

Modes at a glance

Mode Members do Chairman does Use for
synthesis (default) Answer INDEPENDENTLY & blind (MoA) Merge into one better answer + surface dissent Open questions, design calls, "am I missing something"
vote Cast ONE structured VOTE: from a fixed option set Deterministic majority tally + verdict Group decisions with discrete options
adversarial Red-team a TARGET (critic / defender roles), not blind Consolidate critiques by severity → SHIP/REVISE/REJECT Reviewing a design, plan, or PR

One prompt can't do all three: a blind-independent proposer is wrong for voting (needs a tallyable verdict) and for review (a critic must SEE the target and attack it). Design grounded in the multi-agent-debate literature (MoA vs Multi-Persona vs voting are distinct role structures; "agreement modulation" is the key knob).

When to use / when NOT

Use for hard/high-stakes/ambiguous/subjective questions, group decisions, or reviews. Do NOT use for simple lookups or routine turns — a council costs N+1 model runs. It is a deliberate, occasional move. If unsure it's worth it, ask first.

Procedure (you are the Chairman)

  1. Pick the roster (3–4 members, cross-vendor). Run kiro-cli chat --list-models --format json, then pick a strong general model from each of 3–4 different vendors (e.g. Anthropic, OpenAI, DeepSeek, Zhipu) — cross-vendor diversity is the payoff. Skip deprecated or restricted-use models unless opted in. Honor a user-supplied roster verbatim. --list-models is a CATALOG, not an entitlement: a listed model can still be unavailable to this session, so keep a fallback pick for each slot. reasoning_effort ('low' | 'medium' | 'high' | 'xhigh' | 'max') is batch-wide and wins over the configured role pin — setting it forces one dedicated process per subagent (~3-5s start, ~400 MB each, against ~200ms and near-zero for session sharing), which is worth it for adversarial on a high-stakes artifact and wasteful for a cheap vote.
  2. Fan out — one spawn_run PER member. ⚠️ spawn_run's model applies to the whole call, so a multi-model panel is N separate calls, each a single task with a distinct model — NOT one call with a tasks array. (agents varies per task; model does not.) Use the mode's member prompt (below) as the task. Keep a private map of subagent id → model. Pass include_memory=false on every member spawn: the member prompt is self-contained, and inherited memory re-imports the Chairman's framing into every supposedly independent answer, which is the shared bias a council exists to break. include_lessons=false too unless a member will write code; keep include_project=true when the question is about code in the active project. Each member is told by name which groups were withheld, so it reports the gap instead of inventing context.
  3. Wait for ALL [Subagent completion event]s. Do NOT answer the task yourself while waiting. If a member fails, drop it and proceed (a council of 2 is still a council); abort only if zero return.
  4. Chairman step — per mode (below).

Read the full file on GitHub · 241 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. today Changed · +15 lines · -72 tokens per session c2cd27404568
  2. 8d ago First seen · 226 lines · 209 tokens per session scan C d46e70d8cdc7

Subscribe to this mod's changes

llm-council is a skill published in the GitHub repository kirodotdev/KiroCrew (3,687 stars, last pushed today), licensed Apache-2.0. It adds 137 tokens to every session and 3,210 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it C with 1 finding (tells the agent never to refuse). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.