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 agentmods add skills/bourbondog/amicus/second-opinionnpx skills add BourbonDog/amicus --skill second-opiniongit clone --depth 1 https://github.com/BourbonDog/amicusWrote 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/bourbondog/amicus/second-opinion)<a href="https://agentmods.dev/skills/bourbondog/amicus/second-opinion"><img src="https://agentmods.dev/badge/skills/bourbondog/amicus/second-opinion.svg" alt="Measured on agentmods" 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 | $0.00215 | $0.13939 |
| Opus 5 | $0.00108 | $0.06970 |
| Sonnet 5 | $0.00043 | $0.02788 |
| Haiku 4.5 | $0.00021 | $0.01394 |
Grade A, and why
second-opinion 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 4d 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 — 680 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Second Opinion (LLM Council)
Independent, multi-model work — either a review of material the user provides or the work itself — turned into decisions. Any single model — including the one running this conversation — has consistent blind spots. Routing the same brief through models from different families surfaces disagreements, missed issues, and overstated claims that one model alone won't catch.
Four principles govern this skill:
- Secondary tool. By the time this skill runs, Claude has already given its opinion in the main conversation. The skill exists to bring in independent outside views — it does not replace or re-run Claude's upstream analysis.
- The council is the non-Claude bench by default. Council members are models from families other than the orchestrator (Gemini, DeepSeek, GPT, etc.). Claude is not a first-opinion council member unless the optional "Claude in the council" toggle is on — and even then it is judged but does not vote or chair.
- Claude orchestrates; Claude does not synthesize the verdict. Claude preps material, recommends the council, drives the run, presents accept/deny decisions, and applies them. A designated non-Claude chair model synthesizes the final verdict. Claude's role ends at presenting it.
- The subject of cross-review is the other reviews, not the artifact again. In the peer cross-review stage, models critique and rank each other's reviews — not re-review the original artifact (in task mode: each other's responses; the subject is never the briefing again). This is the mechanism that surfaces reviewer blind spots and inflated confidence.
Two intents, one machine (v4.9). The council runs in one of two intents, and choosing between them is a Stage-0 decision, not a wording preference:
- Review (default). The user supplies material and the bench reviews it against criteria. Seats
raise findings; judges rank how accurate each review was; the chair closes
VERDICT: Ship it | Fix these first | Fundamental rethink. - Task (
--intent task). The user asks for work to be DONE, and the bench does it — each seat independently produces the analysis, answer, or artifact the briefing requests, plus the load-bearing claims it rests on. Judges rank the responses by how well each did the work and adjudicate those claims; the chair synthesizes an ANSWER across them and closesANSWER: Converged | Split | Insufficient.
Everything else is shared: same seats, same anonymized bundle, same tier machinery (though a tier
means peer concurrence on a task run, not peer verification of a defect), same commands, same
artifacts under the same filenames (a seat's deliverable still lands in review-<seat>.md). Task
mode is not a lesser mode or a fallback — see Key mechanics → §5.5.
The engine runs the mechanics (v4.1). Stages 1–3 and the deterministic Stage-5 artifacts are
ONE amicus council run call: the engine composes every model-facing briefing, runs the review
wave, validates and repairs findings blocks, anonymizes into the judge bundle, runs the
cross-review wave, optionally runs the rebuttal round, tallies (appending the reliability
ledger once), chairs, and writes verdict.json + report.html. Claude owns the human stages —
Stage 0 (intake and briefing), Stage 4 (tiered decisions), Stage 5 (apply and present),
Stage 6 (lessons). The hand-orchestrated mechanics still exist, in
MANUAL-ORCHESTRATION.md next to this file, as the documented fallback.
Operating lessons from each run fold back into MODEL-NOTES.md (with approval), so the skill gets better at driving each model over time.
Before launching any model, READ MODEL-NOTES.md (next to this file). It holds the operating rules and per-model quirks that decide whether a run succeeds or silently fails. These were learned the hard way; skipping them wastes runs and produces empty results that look like answers.
Transport rule — CLI not on PATH: every command below assumes the amicus CLI. If amicus is not on PATH (typical for plugin-only installs), run the identical commands as npx -y amicus@latest <args> (e.g. npx -y amicus@latest council run --prompt-file <path> --models "m1,m2,m3" --json), or use the equivalent MCP tools (amicus_council_run, amicus_wait, amicus_status, amicus_verdict, amicus_council_stats, plus amicus_fanout / amicus_start / amicus_read for the manual fallback) — council briefings are always self-contained, so MCP transport is equivalent.
What ships with it
4 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.
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.
- 4d ago First seen · 680 lines · 215 tokens per session scan A 78be28f45d98
second-opinion is a skill published in the GitHub repository BourbonDog/amicus (2 stars, last pushed 3d ago), licensed MIT. It adds 215 tokens to every session and 13,939 once invoked, about $0.0011 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
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
auto-perf-optimize
Run agent-driven VS Code performance or memory investigations. Use when asked to launch Code OSS, automate a VS Code scenario, run the Chat memory smoke runner, capture renderer heap snapshots, take workflow screenshots, compare run summaries, or drive a repeatable scenario before heap-snapshot analysis.
chat-perf
Run chat perf benchmarks and memory leak checks against the local dev build or any published VS Code version. Use when investigating chat rendering regressions, validating perf-sensitive changes to chat UI, or checking for memory leaks in the chat response pipeline.
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…