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.
npx skills add eins78/agent-skills --skill ai-council-reviewgit clone --depth 1 https://github.com/eins78/agent-skillsWrote 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.
[](https://agentmods.dev/skills/eins78/agent-skills/ai-council-review)<a href="https://agentmods.dev/skills/eins78/agent-skills/ai-council-review"><img src="https://agentmods.dev/badge/skills/eins78/agent-skills/ai-council-review/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/eins78/agent-skills/ai-council-review"><img src="https://agentmods.dev/badge/skills/eins78/agent-skills/ai-council-review.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00140 | $0.02203 |
| Opus 5 | $0.00070 | $0.01102 |
| Sonnet 5 | $0.00028 | $0.00441 |
| Haiku 4.5 | $0.00014 | $0.00220 |
Grade A, and why
ai-council-review scanned grade A with 0 findings 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 11d ago.
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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 200 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AI Council Review
Several frontier models review the same material in parallel — blind to each other — via one API (OpenRouter). A dispatch script handles fan-out, cost gating, and clustering; you synthesize, because you can do the one thing the council cannot: verify findings against the actual repository.
This is the heavyweight sibling of ai-review (single model, $0.03). A
council run costs real money ($0.30–0.90 with default presets). Use it for
high-stakes decisions, not routine diffs.
Data leaves the machine — confirm before first dispatch
Everything submitted (diffs, plan docs, file contents) is sent to the OpenRouter API and forwarded to multiple third-party model providers (different companies, different data-retention policies). For private or proprietary code this means unreleased source leaves the machine.
- Before the FIRST council run in a session, confirm with your human partner that sending this content to external providers is acceptable — especially in private repos or anything under NDA. Consent given for this repo earlier in this session carries over; do not re-ask per run.
- Reduce exposure: review the diff, not the whole tree; never include
.envfiles, credentials, or customer data in the input. - Account-wide tightening: OpenRouter privacy settings (disable logging, restrict to ZDR-eligible providers).
Prerequisites
- Node.js >= 20 (
node --version) OPENROUTER_API_KEYexported (get one: https://openrouter.ai/keys). The script reads it from the environment only and never prints it. If it is missing, dispatch exits with code 4 — ask your human partner; do NOT hunt for keys in keychains, dotfiles, or session archives.
CRITICAL rules
- Never fabricate or substitute a council opinion. If members fail or
quorum is not met, report that and offer the
ai-reviewfallback — do not write "what the model would probably say", and do not pass your own review off as a member's. - Never pass
--yeson your own.--yesasserts that your human partner saw the printed cost estimate and approved it in this session. Budget gate refusals (exit 3) are a stop, not an obstacle to route around. - Never skip the synthesis protocol. Raw per-model output is not the deliverable; the verified, dissent-preserving report is.
What ships with it
29 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- jsconfig.json 302 B
- README.md 13 KB
- references/presets.json 1.1 KB
- references/prompts/code-review.md 1.6 KB
- references/prompts/document-review.md 1.5 KB
- references/prompts/plan-review.md 1.7 KB
- references/report-template.md 1.9 KB
- references/synthesis.md 8.3 KB
- scripts/council.mjs 22 KB runs code
- scripts/lib/budget.mjs 4.7 KB runs code
- scripts/lib/cluster.mjs 5.3 KB runs code
- scripts/lib/config.mjs 6.2 KB runs code
- scripts/lib/input.mjs 9.3 KB runs code
- scripts/lib/openrouter.mjs 7.7 KB runs code
- scripts/lib/outcomes.mjs 6.3 KB runs code
- scripts/lib/prompts.mjs 2.5 KB runs code
- scripts/lib/schema.mjs 8.5 KB runs code
- tests/budget.test.mjs 3.5 KB runs code
- tests/cluster.test.mjs 5.6 KB runs code
- tests/dispatch.test.mjs 24 KB runs code
- tests/extract.test.mjs 4.8 KB runs code
- tests/fixtures/sample-responses/chatty.txt 613 B
- tests/fixtures/sample-responses/clean.json 586 B
- tests/fixtures/sample-responses/fenced.txt 431 B
- tests/fixtures/sample-responses/malformed.txt 44 B
- tests/fixtures/tiny-diff.patch 259 B
- tests/input.test.mjs 2.4 KB runs code
- tests/live-smoke.test.mjs 2.4 KB runs code
- tests/outcomes.test.mjs 7.7 KB runs code
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.
- 11d ago First seen · 200 lines · 140 tokens per session scan A 5b1b4927e78e
ai-council-review is a skill published in the GitHub repository eins78/agent-skills (2 stars, last pushed today), licensed MIT. It adds 140 tokens to every session and 2,203 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
solid-principles
SOLID principles checklist with Java examples. Use when a class has too many responsibilities, an abstraction leaks, or a dependency points the wrong way, and when the user asks about Single Responsibility, Open/Closed, Liskov, Interface Segregation or Dependency Inversion. For naming, duplication and method length…
architecture-review
Analyze Java project architecture at macro level - package structure, module boundaries, dependency direction, and layering. Use when user asks "review architecture", "check structure", "package organization", or when evaluating if a codebase follows clean architecture principles.
java-code-review
Systematic code review for Java with null safety, exception handling, concurrency, and performance checks. Use when user says "review code", "check this PR", "code review", or before merging changes.
refactoring-patterns
Apply named refactoring transformations to improve code structure without changing behavior. Use when the user mentions "refactor this", "code smells", "extract method", "replace conditional", "technical debt", "move method", "inline variable", "decompose conditional", or "clean up this messy code". Also trigger when…
boundaries
Analyze Phoenix context boundaries and module coupling via mix xref. Use when checking cross-context calls, validating dependencies, before splitting modules, or reviewing architecture.
triage
Triage review findings interactively — approve, skip, or prioritize each issue. Use after /phx:review to filter findings before fixing.