danzerzine/claude-council

最初のモデルが疲れた時、行き詰まった時、またはスロッピーな時に、2番目の モデルをあなたのチャットに持ち込む Claude Code mod。
danzerzine/claude-council

Claude Code 内での第二意見:ループに陥った時に新しい目で見るための GPT、す べての引き継ぎを受け入れる Codex、そして各変更を確認する Codex+Claude。
まず作者の README で marketplace とプラグイン名を確認してください。コマンドはリポジトリの構成によって変わる場合があります。
claude plugin marketplace add danzerzine/claude-council claude plugin install council
A Claude Code mod that brings a second model into your chat when the first one gets tired, stuck or sloppy.

A row above the prompt:
| Control | What it does |
| --- | --- |
| off / acceptance / review / review all | what runs after each turn: nothing; Codex acceptance of every handover; Codex and Claude bug review of every change; review of long answers with no edits too |
| fresh eyes | your next message goes to GPT as the question |
| deep review | the next change goes to Codex, Claude Opus and Gemini, once |
| whole exchange | the last fresh-eyes exchange in a side pane |
| ? | a short help under the band |
| hide | hides the band; /council show brings it back |
While a brief is written, GPT thinks or a reviewer checks, the band shows a spinner with a seconds counter, so you can tell the work is moving.
You need Claude Code 2.1.286 or later (mods, that is, function hooks) and the reviewers you plan to use on your PATH:
codex), signed in: fresh eyes, acceptance, review;claude): review;agy) for Gemini.git clone https://github.com/danzerzine/claude-council ~/claude-council
claude --plugin-dir ~/claude-council
To load it in every session, the desktop app included, add it to the env block of ~/.claude/settings.json:
{ "env": { "CLAUDE_CODE_PLUGIN_DIRS": "/Users/you/claude-council" } }
Everything starts off. Pick a mode in the band or with a command.
/council show the current mode
/council off|accept|auto|always after-turn checks (kept across sessions)
/council deep deep review for the next change only
/council ask <question> fresh eyes on a question
/council hide | show hide or bring back the band
/council lang en|ru interface language (English by default)
Fresh eyes asks the main agent, through a fork of the current chat, for a brief of up to 900 words: the goal as you first stated it, where the work went, what was tried and dropped, short verbatim samples of the real data, the measured numbers, and absolute paths to the project, its data and its logs. GPT runs read-only with live web search, opens what the brief points to and writes its answer for a human. The mod pastes that answer into the chat as a message and asks the agent to sort it without changing anything yet. When the agent's turn ends, its answer goes back to GPT; GPT's reply is pasted in turn, and the agent sums up.
Acceptance and review hook the end of the agent's turn (classic.Stop). Acceptance fires when the turn edited files, committed, or says it is done ("done", "fixed", "ready"…); review fires on edits and commits. The packet holds your messages (for acceptance, all of them in this chat, since the spec often sits several messages back), the agent's report and git diff HEAD for every touched file, capped at 40,000 characters. Reviewers run read-only: codex exec -s read-only and claude -p --permission-mode plan with a $2 budget ($4 for Opus). They answer with JSON findings:
A turn is checked at most twice (three times in deep review), so a disagreement can't loop forever.
GPT's answers and the reviewers' findings reach the agent marked as quotes from another model, not as your instructions: it checks them and never runs a command found in them. Briefs, answers and exchanges are kept in ~/.claude/council (readable by you only) for 14 days.
Reviewers run with COUNCIL_REVIEWER=1, and the mod stays quiet in any session that has it, so a reviewer's own Claude never reviews itself. It also does nothing in non-interactive claude -p runs.
? button.A review takes 20–90 seconds, mostly Codex. Fresh eyes takes a few minutes and runs in the background between turns. Both use your own Codex and Claude subscriptions or API keys.
cd ~/claude-council
claude plugin validate .
For type checking, run /plugin-types . once in Claude Code to write the API types into .claude/types, then npx -p typescript tsc -p ..
MIT