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 EmpiricaAI/empirica --skill agent-reviewgit clone --depth 1 https://github.com/EmpiricaAI/empiricaWrote 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/empiricaai/empirica/agent-review)<a href="https://agentmods.dev/skills/empiricaai/empirica/agent-review"><img src="https://agentmods.dev/badge/skills/empiricaai/empirica/agent-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/empiricaai/empirica/agent-review"><img src="https://agentmods.dev/badge/skills/empiricaai/empirica/agent-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.00072 | $0.01836 |
| Opus 5.5 | $0.00029 | $0.00734 |
| Sonnet 5.5 | $0.00014 | $0.00367 |
| Haiku 4.5 | $0.00007 | $0.00184 |
Grade A, and why
agent-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 17d 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 — 109 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Agent review: work first, then stamp
The worker does the work and returns raw evidence. A separate reviewer reads the finished thread and tags it. Tagging while working splits the worker's attention; tagging a finished thread puts all of the reviewer's attention on reading and typing. It also sees what only hindsight shows: which approach was a dead end, which belief was later retracted, what a result turned out to cause.
Opt-in. Use it when you will act on what agents found (a sweep, a multi-agent audit, a long research thread). A one-line lookup does not need it.
Measured on five finished threads (2026-10-05): a reviewer stamped 101 artifacts, every anchor and
quote checked out mechanically, 34% needed hindsight, and the known defects were present in 12 of
13 cases. (The SubagentStop hook's keyword extractor found nothing on the same threads; that
describes the hook, it is not a baseline for the method.) Caveats are at the
end. Method and numbers: docs/guides/AGENT_REVIEW.md.
Part 1: the work (nothing to add to the worker)
Dispatch the agent as usual. The one request worth making: quote or run, never summarise. Every result it reports should carry the command it ran or the file lines it read, so a reviewer has evidence to anchor to. An agent that only reports its conclusion gives the reviewer nothing but testimony.
If it is a Workflow, give its agents only prompt-free tools (Read, rg, fd, sed -n). A prompt that asks them to run python raises a permission prompt per call for the human.
Part 2: the review
Files beside this skill: scripts/build_trace.py, scripts/check_stamp.py, stamp.schema.json,
reviewer-prompt.md.
- Find the transcript. Subagents:
~/.claude/projects/<project>/<session>/subagents/agent-<id>.jsonl. Workflow agents:.../subagents/workflows/wf_*/agent-*.jsonl, labelled in the adjacent.meta.json. - Build the numbered trace.
python3 scripts/build_trace.py <transcript.jsonl> --out-dir <dir> --name <name>writestrace_<name>.txtandturns_<name>.json. Tool calls and results are truncated (500 and 700 characters); raise--call-limit/--result-limitif the evidence you need is cut off, because a reviewer can only quote what the trace shows. - Dispatch a fresh reviewer with
reviewer-prompt.md(fill{ABOUT}and{TRACE_PATH}) andstamp.schema.jsonas the structured-output schema. Tools: Read, rg, fd, sed -n only. One reviewer per thread; run them in parallel for several threads. - Check the stamp.
python3 scripts/check_stamp.py stamp.json turns_<name>.json. It verifies that every anchor names a real turn and every quote is a verbatim substring of that turn, and exits 1 if any fail. Reject a failing stamp: re-run the reviewer, do not repair quotes by hand. - Log what survives. Findings with grounding
ranorreadgo in as findings;retrievedandassumedgo in as assumptions;unknown,decision,dead_end,mistakekeep their type. Uselog-artifactsso the edges come with them, and put the thread name and anchor turn in each description so the provenance survives. Tasks becomegoals-add-taskentries only if the work is still yours to do. - Put the proposals to the human, after re-checking them. A proposal is a question with a
predicted answer and options. It was written when the thread ended; before asking, check it
against current state (11 of 15 were already answered by the time they were read). Ask with
AskUserQuestion, the prediction first and marked Recommended. Record the pick next to the prediction (finding-log): agreement rate over time is the reviewer's calibration.
What ships with it
6 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.
- 17d ago First seen · 109 lines · 72 tokens per session scan A 544e5adceb4a
agent-review is a skill published in the GitHub repository EmpiricaAI/empirica (251 stars, last pushed yesterday), licensed MIT. It adds 72 tokens to every session and 1,836 once invoked, about $0.0003 per session on Opus 5.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-10-08.
Other skills, from other repositories
design-is
Audit a design against Dieter Rams' ten "Good design is..." principles, then hand off a /make-plan prompt for one of three outcomes — new design, refine design, or redesign. Use when the user says "audit this design", "design review", "check this UI against Rams", "is this UI good", "critique this design", "design…
babysit
Watch a pull request or review cycle until it is ready to merge. Use when asked to babysit, monitor, or keep checking PR comments, reviews, and CI until all actionable issues are resolved.
agy-delegate
Delegate coding tasks to the Google Antigravity CLI (agy) only when the user explicitly requests it, while the orchestrator retains review and landing responsibility.
luna
Reviews code for objective correctness, security, and reliability.
max
Cleans up and improves existing code without changing behavior.
andrej-karpathy
Behavioral guidelines to reduce common LLM coding mistakes. Use when writing, reviewing, or refactoring code to avoid overcomplication, make surgical changes, surface assumptions, and define verifiable success criteria.