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 axiomantic/spellbook --skill adversarial-reviewgit clone --depth 1 https://github.com/axiomantic/spellbookWrote 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/axiomantic/spellbook/adversarial-review)<a href="https://agentmods.dev/skills/axiomantic/spellbook/adversarial-review"><img src="https://agentmods.dev/badge/skills/axiomantic/spellbook/adversarial-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/axiomantic/spellbook/adversarial-review"><img src="https://agentmods.dev/badge/skills/axiomantic/spellbook/adversarial-review.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00117 | $0.02313 |
| Opus 5 | $0.00059 | $0.01156 |
| Sonnet 5 | $0.00023 | $0.00463 |
| Haiku 4.5 | $0.00012 | $0.00231 |
Grade A, and why
adversarial-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 6d 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 — 193 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Why this skill exists
A naive verification dispatch fails in five reinforcing ways. Every clause of the dispatched prompt must counter one of them.
| Failure mode | Mechanism | Counter |
|---|---|---|
| Row-scoped tunnel vision | Agent verifies only the lines the reviewer cited; never extracts the principle the citations imply. | Principle extraction first; per-row work second. |
| Confirmation bias from supplied greps | Requester hands the agent greps as "evidence to fact-check." Agent runs them, gets the expected result, declares VERIFIED. | Forbid pre-supplied greps. Agent derives its own. |
| Audit-doc-shaped scope | Agent reviews against the N rows of a self-audit doc. Anything in the diff but not in the audit is invisible. | Scope is the diff. Audit is a cross-check, not the source of truth. |
| Unanimity not flagged | 26/26 AGREE looks like quality but is the signature of confirmation. | Mandatory disagreement quota: identify weakest links and stress-test them. |
| No explicit additions pass | Newly ADDED lines (not just changed ones) are most likely to violate principles the reviewer hasn't cited yet. | Force a separate pass over `git diff |
Invariant Principles
- Scope is the diff, not the audit.
git diff <merge-base>defines what is in scope. A self-audit doc is a cross-check, never the boundary. - Principles before rows. Distill the reviewer's meta-rules first. Apply them project-wide. Then descend to per-row verdicts.
- The agent derives its own evidence. Pre-supplied search terms test the requester's framing, not the codebase's state.
- Unanimity is a smell. Genuine adversarial review surfaces edge cases even when the verdict is overall AGREE.
- Additions deserve their own pass. Lines the requester ADDED in the same session as the audit are the highest-risk surface for unflagged violations.
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.
- 6d ago First seen · 193 lines · 117 tokens per session scan A 5d22cb66ac73
adversarial-review is a skill published in the GitHub repository axiomantic/spellbook (10 stars, last pushed today), licensed MIT. It adds 117 tokens to every session and 2,313 once invoked, about $0.0006 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-09-03.
Other skills, from other repositories
atomic-review
Compressed code review comments. Cuts noise from PR feedback while preserving the actionable signal. Each comment is one line: location, problem, fix. Use when user says "review this PR", "code review", "review the diff", or invokes /atomic-review. Auto-triggers when reviewing pull requests.
propose-graph-diff
Turns a proposed addition to a JSON-file graph into a minimal, reviewable diff, flagging any proposed edge that conflicts with a cross-reference already on file, and never writing directly to the shared graph file itself.
diff-to-graph
Turns a diff's touched functions and modules into graph nodes, reusing entities the graph already tracks, and links the change itself to each one with a modifies edge.
type-design-analyzer
Analyzes newly-added or significantly-modified types in a pull request for invariant strength, encapsulation, and enforcement. Produces 1-10 ratings on encapsulation/expression/usefulness/enforcement with concrete improvement suggestions. Use when reviewing PRs that introduce or substantially change types, classes…
silent-failure-hunter
Audits error-handling code in a pull request for silent failures, broad catch blocks, unjustified fallbacks, and unactionable error messages. Surfaces hidden failures users would otherwise hit in production. Use when reviewing PRs that add or modify try/catch, error callbacks, or fallback logic.
comment-analyzer
Audits code comments added or changed by a pull request for factual accuracy against the code, long-term maintenance value, and misleading content. Recommends specific edits, additions, or removals. Use when reviewing PRs that include new or modified comments, docstrings, or inline documentation.