Agent skill

Council

by kitze in kitze/council

Convene a council of AI coding agents before finalizing a plan.

MITAuto-check passed

Install Council

skills CLI
$ npx skills add kitze/council --skill council -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install kitze/council council --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
council
GitHub stars
202
Token cost
~2k tokens
SKILL.md length
703 words
Files
3
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Convene a council of AI coding agents before finalizing a plan.

  • Convene the council
  • SKILL.md covers Protocol, Member CLIs, Member prompt template and Rules, plus 1 more section
  • Calls claude, codex and gemini
  • Consult the other agents

What it does

Council is an agent skill from kitze/council. Convene a council of AI coding agents before finalizing a plan. The agent you're talking to — whichever CLI is the lead (claude, codex, cursor, gemini, grok, opencode) — drafts a plan, presents it independently to every other agent CLI installed on the machine, each member gives ONE reply per turn, and the lead revises the plan for X turns before answering. Trigger words: council, convene the council, consult the other agents, ask the council, ask codex/cursor/gemini/grok what they think, second opinion from…

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `README.md`).

The repository describes itself as: 🏛 Agent skill: your coding agent must convene the other agent CLIs on your machine and deliberate for X turns before giving you a plan. The licence is MIT.

When your agent uses it

  • Convene the council
  • Consult the other agents
  • Ask the council
  • Ask codex/cursor/gemini/grok what they think

Example prompts

  • “/council”

What it can do on your machine

Read from SKILL.md and the folder at commit eb7cd10. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • claude
    • codex
    • gemini
    • opencode

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Council loads about 2k tokens when it runs. Until then it costs about 147 tokens; SKILL.md has 703 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~147
When it runs · the whole SKILL.md, loaded when a task matches
~2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from kitze/council at commit eb7cd10, republished under its MIT licence (© kitze). 703 words, ~2,006 tokens.

Download SKILL.mdSave it as .claude/skills/council/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
council
description
Convene a council of AI coding agents before finalizing a plan. The agent you're talking to — whichever CLI is the lead (claude, codex, cursor, gemini, grok, opencode) — drafts a plan, presents it independently to every other agent CLI installed on the machine, each member gives ONE reply per turn, and the lead revises the plan for X turns before answering. Trigger words: council, convene the council, consult the other agents, ask the council, ask codex/cursor/gemini/grok what they think, second opinion from other agents, N turns of deliberation, deliberate before planning.

Council

You are the lead. Before giving the user a final plan, deliberate with the other agent CLIs installed on this machine: propose → hear ONE reply from each member → revise, repeated for X turns. Members never see each other's replies — only your plan and, in later rounds, what changed. The deliverable is the final plan plus the deliberation shown as a conversation. Do NOT implement anything unless the user explicitly asked for execution after planning.

Protocol

0. Parse. TASK = the user's ask, verbatim. X = the number of turns they said ("1 turn", "3 turns"...), default 1. X is exact: run all X rounds even if round 1 is unanimous approval, and never add extra rounds. SELF = the product you run in: Claude Code → claude, Codex → codex, Cursor → cursor, Gemini CLI → gemini, Grok → grok, OpenCode → opencode.

1. Detect members. Every CLI in the table below whose binary exists (command -v) and answers --version within ~15s — minus SELF. If the user names members ("council with just codex and grok"), use only those. If none are available, say so and present your solo plan explicitly marked as un-counciled — never fake a council.

2. Session. SESSION=~/.council/$(date +%Y%m%d-%H%M%S)-<short-slug>, mkdir -p "$SESSION". Write the ask verbatim to task.md. Do your normal thinking/exploration, then write your honest first plan to plan-v1.md — complete enough to critique: approach, steps, files/tools touched, tradeoffs.

3. Deliberate — for each round R in 1..X:

  • Build one prompt per member from the template below → $SESSION/round-R/prompts/<member>.md.
  • Invoke all members in parallel in one shell command (background jobs + wait), from the project directory the task concerns, each capped at ~300s. Reply → $SESSION/round-R/replies/<member>.md, stderr → a log file. macOS has no timeout command; use perl -e 'alarm shift; exec @ARGV' 300 <cmd...>.
  • Read the replies. A member that times out, errors, or returns empty is noted in the transcript ("cursor: no reply — timeout") and the round continues.
  • Revise: weigh each opinion on its merits — adopt what's right, reject what's wrong (keeping your position is allowed, with reasons). Write plan-v(R+1).md (full revised plan) and changes-v(R+1).md (what changed and why, what you rejected and why — describe suggestions by content, never by member name: all members see this file next round).

4. Answer with the deliberation formatted as a conversation, then the final plan (template at the bottom).

Show full SKILL.md (326 more words)Show less

Member CLIs

$PF = that member's prompt file, $RF = its reply file. Run from the project directory.

memberinvocationwhy these flags
claudeclaude -p < "$PF" > "$RF"print mode auto-denies write/exec tools; reads are fine
codexcodex exec --skip-git-repo-check -s read-only --color never -o "$RF" - < "$PF" > /dev/null 2>&1read-only sandbox; final message lands in $RF via -o
cursorcursor-agent -p --output-format text --mode plan --trust "$(cat "$PF")" > "$RF"plan mode is read-only; --trust scopes cwd trust to this run (headless refuses untrusted dirs without it)
geminigemini --skip-trust --approval-mode plan -p "$(cat "$PF")" > "$RF"plan mode is read-only; --skip-trust for headless in untrusted dirs
grokgrok --output-format plain --system-prompt-override "$GROK_SYS" --prompt-file "$PF" > "$RF"see the grok note; binary is sometimes installed as agent
opencodeopencode run "$(cat "$PF")" > "$RF"advisory-only enforced at prompt level

The grok note. Headless grok silently cancels the entire run (empty output, exit 0, stream ends stopReason:"Cancelled") the moment the model attempts a tool call — and its stock system prompt makes it attempt one on any work-shaped prompt. Two-part fix, both required: pass --system-prompt-override with

GROK_SYS="You are one member of a council of AI coding agents, asked for a one-shot written assessment of another agent's plan. Reply directly with plain markdown text following the instructions in the user message. Do not use tools, do not ask questions, do not wait for anything."

and give grok the no-tools closing paragraph in its prompt (below). Grok is the one member that advises without reading the repo.

Member prompt template

Sections in [...] only when they apply. Everything is plain text you substitute.

You are <member>, one of several AI coding agents serving on a council.
The lead agent, <self>, received a task from its user and must consult this council before presenting the final plan. This is consultation round <R> of <X>.
Council rules: members reply independently. You do not see other members' replies — only the lead's plan and, in later rounds, how it changed.

## The task (verbatim from the user)

<contents of task.md>

## <self>'s current plan (v<R>)

<contents of plan-vR.md>

[## What the lead changed since the previous round, and why

<contents of changes-vR.md>]

[## Your own reply in the previous round

<contents of round-(R-1)/replies/<member>.md>]

## How to reply

Give exactly ONE reply — your honest expert assessment of this plan:

1. First line: verdict — SHIP IT, SHIP WITH CHANGES, or RETHINK.
2. The 2-5 most important problems, risks, or gaps. Concrete and specific, strongest first.
3. Where you would do it differently: the alternative and why it wins.
4. If the plan is fundamentally sound, say so and name its single weakest point. Do not invent objections to sound useful.

You are advising, not implementing. Reading files in the current directory is fine; do NOT edit files, run state-changing commands, or write full implementations. Under ~400 words, plain markdown, no preamble.

For grok only, replace the final paragraph with:

You are advising, not implementing. You have NO tool access here — base your reply only on the material above; do not attempt to read files or run commands. Under ~400 words, plain markdown, no preamble.

Rules

  • Independence: one invocation per member per round; never re-query a member within a round, never forward one member's reply to another.
  • Faithful summaries: in the transcript, include each member's strongest objection even — especially — when you rejected it.
  • No padding: if the feedback is thin, say so; don't manufacture disagreement or extra rounds.

Final answer format

markdown
# 🏛 Council on: <task one-liner>
*Lead: claude · Members: codex, cursor, grok · 2 turns · session: ~/.council/...*

## Turn 1
**claude (lead):** Proposed v1 — <2-3 line summary of the plan>
**codex:** SHIP WITH CHANGES — <2-3 line summary of the reply>
**cursor:** RETHINK — <...>
**grok:** <...>
**claude (lead):** Revised → v2: adopted <...>; rejected <...> because <...>

## Turn 2
...

## Final plan (v3)
<the full final plan>

*Changed my mind on: <...> · Held my ground on: <...> · Full replies: $SESSION/round-*/replies/*

© kitze, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files in the repository root of kitze/council.

  • SKILL.md
  • LICENSE
  • README.md

Open the folder on GitHubat commit eb7cd10

Compare with similar skills

Council next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Council compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Council this skillkitze/council202—~2kAutomated safety check: PassMIT
Councilaffaan-m/ECC277k2 repos~1.6kAutomated safety check: PassMIT
Councilaffaan-m/ECC276k—~963Automated safety check: PassMIT
Councilaffaan-m/ECC276k—~653Automated safety check: PassMIT
Council0xNyk/council-of-high-intelligence4.6k1 repos~14kAutomated safety check: PassMIT
LLM Councilsickn33/agentic-awesome-skills47k1 repos~644Automated safety check: NotesMIT

Similar skills

  • Council

    affaan-m/ECC

    Convene a four-voice council for ambiguous decisions, tradeoffs, and go/no-go calls.

    277k GitHub starsUsed in 2 repos~1.6k tokens
    Product & Project ManagementAuto-check passed
  • Council

    affaan-m/ECC

    曖昧な決定、トレードオフ、ゴー/ノーゴーの判断のために4つの声のカウンシルを召集します。複数の有効なパスが存在し、選択前に構造化された異議が必要な場合に使用します。

    276k GitHub stars~963 tokensUpdated yesterday
    Auto-check passed
  • Council

    affaan-m/ECC

    召集四方会议处理模糊决策、权衡取舍及继续/停止决策。当存在多个有效路径且需要在选择前进行结构化异议时使用. An agent skill from affaan-m/ECC.

    276k GitHub stars~653 tokensUpdated yesterday
    Auto-check passed
  • Council

    0xNyk/council-of-high-intelligence

    Convene the Council of High Intelligence — multi-persona deliberation with historical thinkers for deeper analysis of complex problems.

    4.6k GitHub starsUsed in 1 repo~14k tokens
    Auto-check passed
  • LLM Council

    sickn33/agentic-awesome-skills

    Run Fireworks-hosted open-weight model councils that compare responses and synthesize a final answer.

    47k GitHub starsUsed in 1 repo~644 tokens
    Auto-check: notes
  • Adds one optional external Codex critique that tries to break a council's decision draft, sent to OpenAI only after you consent.

    277k GitHub stars~1.5k tokensUpdated today
    Agent WorkflowsAuto-check passed

Questions about Council

What does Council do?

Convene a council of AI coding agents before finalizing a plan. Council is an agent skill from kitze/council. Convene a council of AI coding agents before finalizing a plan.

When should I use Council?

Council fits situations like: convene the council; consult the other agents; ask the council; ask codex/cursor/gemini/grok what they think.

How do I install Council in Claude Code?

Run `npx skills add kitze/council --skill council -a claude-code`. Or copy the skill folder (the kitze/council repository) into .claude/skills/council in your project. Claude Code loads it when a task matches its description.

How do I install Council in Codex?

Run `npx skills add kitze/council --skill council -a codex`. Or copy the skill folder (the kitze/council repository) into .agents/skills/council in your project. Codex loads it when a task matches its description.

Can I use Council in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add kitze/council --skill council -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/council, .gemini/skills/council, .github/skills/council and .opencode/skills/council in your project.

What does Council need to run?

Going by SKILL.md and its folder, Council needs the command-line tools its instructions call (claude, codex, gemini and opencode).

Does Council access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Council safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Council use?

Council is published under the MIT licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Council use?

About 2k tokens (SKILL.md is roughly 8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Council?

Skills that share tags, products or a category with Council: Council (affaan-m/ECC, 277k stars), Council (affaan-m/ECC, 276k stars), Council (affaan-m/ECC, 276k stars) and Council (0xNyk/council-of-high-intelligence, 4.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Council?

kitze (a GitHub user) maintains it in kitze/council, which has 202 GitHub stars. The repository was last updated on October 9, 2026.

Source: kitze/council on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.