consilium
Skill1 starsChanged 55 days agoMITView on GitHub
Run a consilium - a structured multi-model review of a technical question or design decision. Independent reviewers (Claude, Codex, Open Code and others) each write a review of the same brief, arbiters merge them into a draft decision, and after the user confirms it an implementer makes the authorized changes and verifiers check them. Use ONLY when the user explicitly asks for a consilium, a multi-model review or a second opinion from several models; it sends project files to several model providers and can take many minutes.
6 other projects use a version of this.
Adopted by
Most recently taken up by
- AndreySukhanov/mementotheir own version, first seen Nov 8, 2026
- LARIkoz/cli-counciltheir own version, first seen Nov 4, 2026
- edloidas/skillstheir own version, first seen Nov 1, 2026
- specscore/specstudio-skillstheir own version, first seen Oct 8, 2026
- alxyrgin/health-ostheir own version, first seen Aug 6, 2026
- 3952801-sudo/claude-code-master-agenttheir own version, first seen Apr 19, 2026
Other versions6 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 6
- alxyrgin/health-os★ 38same name
- edloidas/skills★ 2same name
- 3952801-sudo/claude-code-master-agent★ 1same name
- LARIkoz/cli-council★ 1same name
- AndreySukhanov/memento★ 0same name
- specscore/specstudio-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
11 rules. 0 are common, 6 are distinctive, and 5 are very specific to this project.
0
Common
Most of the 4 edited versions we read keep these.
6
Distinctive
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 27
If the user gave no question, ask what to discuss and wait.
- Distinctive: line 53
Constraints: - keep the defaults, add 1-3 specific ones if obvious.
- Very specific: line 56
Leave the structure and headings as they are.
- Very specific: line 71
Independence rule: do not open any other *-review.md in the folder until your own is written and saved, even if a file is already filled in.
- Distinctive: line 77
Stop here unless the user confirms the decision or explicitly said, in the original request, to implement right after the decision.
- Very specific: line 81
Work tree: Create a separate git worktree on a new branch (name it by meaning, or as the user says).
- Distinctive: line 87
Verify: - all verifiers in parallel, independently, code read-only:
- Distinctive: line 97
Acceptance: Before reporting, check the result yourself against the project's own definition of done (build, tests, lint, or a run).
- Distinctive: line 105
No destructive or production action, and no merge, without the user's explicit approval.
- Very specific: line 106
Never present the draft decision.md as decided.
- Very specific: line 107
If a script fails, read the log it names in <case-dir>/.logs/ and tell the user what failed.
“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Consilium
A consilium gets several independent models to look at one question, then merges what they say into a draft decision that the human confirms. The human is always the final arbiter; no model decides.
brief.md ─┬─► host review (you) ┐
├─► reviewer 2 (external CLI) ├─► decision.md (DRAFT, two arbiters) ─► you confirm
└─► reviewer 3 (external CLI) ┘ │
▼ only after confirmation
implementer ─► verifiers ─► implementer fixes ─► you review the diffEverything is plain files in consilium/<date>-<slug>/ inside the project.
Setup you need to know
SKILL_DIRis the folder that contains thisSKILL.md. All scripts are in$SKILL_DIR/scripts/. Run them from the project root withbash.- Set
CM_HOSTto the agent you are:claudewhen you are Claude Code,codexwhen you are Codex. You write the host review yourself, so the script never launches you a second time. Prefix every script call with it, e.g.CM_HOST=codex bash "$SKILL_DIR/scripts/init-case.sh" .... - Settings live in
<project>/.consilium.confor~/.config/consilium/config(KEY=VALUE, seeconsilium.example.conf). The important ones:CM_LANG(enorru, language of the documents),CM_REVIEWERS,CM_ARBITERS,CM_VERIFIERS,CM_IMPLEMENTERS,CM_OUT_DIR. Do not change the panel unless the user says so. - Adapters that are not usable (CLI missing, no model configured) are skipped automatically and reported; a round with fewer reviewers is still valid and the decision says who is missing.
If the user gave no question, ask what to discuss and wait. Do not invent a topic.
Step 1 - Check the panel
CM_HOST=<you> bash "$SKILL_DIR/scripts/run-reviewers.sh" --planTell the user in one line which reviewers will run. The reviewers receive whatever project files they read, so if the user has not used this skill before, mention that project content goes to those providers and let them object.
Step 2 - Create the case
Pick a short English kebab-case slug (2-4 words) for the topic.
CM_HOST=<you> bash "$SKILL_DIR/scripts/init-case.sh" <slug> "<human title>"It prints the case folder path. It takes the date from the system clock; never use a date from memory. It creates brief.md (with <!-- TODO --> markers), a placeholder for each review, a decision.md placeholder and tasks.json.
Step 3 - Gather facts, fill in the brief
Collect facts, not recommendations relevant to the question: the code involved (file:line), existing docs and earlier decisions, current behavior. If you can delegate to a read-only research agent, do; otherwise do it yourself, read-only. Then edit brief.md and replace every <!-- TODO ... --> with real content:
- Question - the user's question, tidied, meaning intact.
- Known facts - each with a reference.
- Constraints - keep the defaults, add 1-3 specific ones if obvious.
- Out of scope - 1-3 items.
Leave the structure and headings as they are. run-reviewers.sh refuses to start while any TODO marker remains.
Step 4 - Launch the external reviewers
CM_HOST=<you> bash "$SKILL_DIR/scripts/run-reviewers.sh" <case-dir>This returns immediately: the reviewers and one watcher run detached. The watcher drafts decision.md on its own once everyone has answered or failed. You do not need a background-task feature and must not poll the reviewers.
Step 5 - Write your own review, independently
Right away, without waiting for the others, write <case-dir>/<CM_HOST>-review.md (replace the placeholder). Base it on the facts plus your own assessment of the question (risks, assumptions, recommendation), not a retelling of the facts. Use exactly the six section headings listed in the brief's response-format section.
- First line:
# <Agent name> review (<your real model id>): <short topic>. Use the actual model id of this session from your system context; do not guess or write a generic name. - Independence rule: do not open any other
*-review.mdin the folder until your own is written and saved, even if a file is already filled in. Independence is the point.
Step 6 - Report
Now (and only now) check how the others did: <case-dir>/.logs/runner-*.log, <case-dir>/.watch.log. Tell the user: the case path, who ran and how it ended, the "Verdict" section of your own review. Remind them that the watcher will draft decision.md (two arbiters) when the reviewers finish, and that it is a draft to be read and confirmed, not a final decision. Tell them they can follow the case live in the reader, started from the project root in their own terminal: bash "$SKILL_DIR/scripts/reader.sh" --open (http://localhost:4600, needs Node.js). Do not start it yourself unless asked: it runs until stopped. If decision.md is already there, summarize agreement and disagreements briefly and quote the "Authorized code changes" list.
Stop here unless the user confirms the decision or explicitly said, in the original request, to implement right after the decision.
Step 7 - Implement, verify, fix (after confirmation)
- Work tree. Create a separate git worktree on a new branch (name it by meaning, or as the user says). Never work in
main/devor in the user's primary checkout. Do not commit or push. - Implement - the implementer makes exactly the changes listed under "Authorized code changes":
Report:CM_HOST=<you> bash "$SKILL_DIR/scripts/implement.sh" <case-dir> <worktree> implimpl-report.md. - Verify - all verifiers in parallel, independently, code read-only:
Reviews:CM_HOST=<you> bash "$SKILL_DIR/scripts/verify.sh" <case-dir> <worktree><name>-impl-review.md. - Fix - the implementer's second pass over the verifiers' defects:
Report:CM_HOST=<you> bash "$SKILL_DIR/scripts/implement.sh" <case-dir> <worktree> fixfix-report.md. Disputed items, and anything beyond the decision's scope, are listed as "not applied" for the user to decide. - Acceptance. Before reporting, check the result yourself against the project's own definition of done (build, tests, lint, or a run). Do not take the implementer's or verifiers' numbers on faith.
- Report: branch and worktree path, what changed, each verifier's verdict, what the second pass fixed, what was not applied and why, what remains unverified. Commit, merge and deploy only on the user's explicit command.
Steps 7.2-7.4 take minutes to tens of minutes. Run them in the background if your environment supports it (Claude Code: run_in_background; otherwise nohup ... > log 2>&1 & and check the log), and do not poll in a tight loop.
Safety rules
- Reviewers, arbiters and verifiers never modify project code. Only the implementer does, and only in the worktree, only what the decision authorizes.
- No destructive or production action, and no merge, without the user's explicit approval.
- Never present the draft
decision.mdas decided. The user confirms it. - If a script fails, read the log it names in
<case-dir>/.logs/and tell the user what failed; do not retry blindly in a loop.
Other scripts
reader.sh [--port N] [--open] [--public] serves the local reader (--public for a tunnel such as ngrok, password-protected; only when the user asks to share); run-reviewer.sh <adapter> [case] re-runs one reviewer; write-decision.sh <case> re-synthesizes the draft; watch-and-decide.sh is started for you. Adding a model or CLI: docs/adapters.md in the repository.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

