Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add V-Songbird/slag/plugin install jigWrote 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/v-songbird/slag/review)<a href="https://agentmods.dev/skills/v-songbird/slag/review"><img src="https://agentmods.dev/badge/skills/v-songbird/slag/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/v-songbird/slag/review"><img src="https://agentmods.dev/badge/skills/v-songbird/slag/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.00169 | $0.03546 |
| Opus 5 | $0.00084 | $0.01773 |
| Sonnet 5 | $0.00034 | $0.00709 |
| Haiku 4.5 | $0.00017 | $0.00355 |
Grade A, and why
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 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 — 270 lines — stays where its author put it; the contents beside it link to each section on GitHub.
jig:review
Everything mechanical is one command. You run it, read its result, and put the real decisions — keep, quiet, or retire — to the user. Never re-derive what the command already computed.
Every command is node "${CLAUDE_PLUGIN_ROOT}/scripts/jig.js" <review|rerun|fp|disarm|arm|retire>
from the project root. If node is not on PATH (fnm/nvm setups), register it
the way the project's CLAUDE.md says to, then rerun.
A guard's mode is a choice, not a rank. Checks install proven and blocking; observe is something the owner picks, in either direction, at any time. There is no clean-session count that earns anything, and nothing here is a waiting period.
Anything that takes enforcement AWAY — fp, disarm, retire — plans and
stops. The command writes a change and changes nothing; its result carries
applied: false, the change id, the path, and an apply string. Put the
change to the user with ONE AskUserQuestion and run the apply only if they say
yes. Never pre-tick it, never assume it, never run both halves in one breath.
arm is the exception and applies itself: it puts enforcement up, and the owner
already named the guard.
If a command here refuses because the install predates the rework, that install
needs upgrading before any of this reads correctly. Send the user to /jig:jig,
which runs the migration, and stop.
1. Read the ledger
node "${CLAUDE_PLUGIN_ROOT}/scripts/jig.js" review
installed: false is the whole report. There is no .jig/config.json here — jig
was never installed, or revert took it back out — so there is no activity to
read. Say why and stop; offer /jig:jig to install. Do not report the empty
guards list as guards that never fired.
guards[] carries one row per installed guard:
fired— times it matched, out ofevaluatedcalls it was run on. Report the pair, neverfiredalone: four catches in four calls and four in four thousand are different guards.deniedandwouldDenysplitfiredby what the guard was allowed to do — awouldDenycount is coverage the user is not getting yet.lastFiredis when the last catch was, ornull; a guard that fired only long ago is as much a retirement candidate as one that never did.wavedOff— false positives recorded.evaluatedOn— the shell tool names thoseevaluatedcalls arrived on, for THIS guard. Empty means not yet observed. This is the per-guard field;lanes.session.shell.seenbelow is repository-wide and answers a different question.otherLanes— catches of this guard's class at COMMIT time, where the check runs with no guard and no denominator, which is why it is not part offired. A guard withfired: 0and a non-zerootherLanesis not a quiet guard: its class is being caught, in the lane that stops the commit. Never offer it for retirement.pendingWaveOff— a wave-off the user raised and never approved the change for. The guard is still doing whatever its config says, which is not what somebody who ranfpand walked away expects: say so, and offer the token again.problem— non-null means this guard is broken, not quiet: its check module would not load, or it carries nothing for the event it is registered on. Say so first and separately. A broken guard reported as "never fired" is coverage the user thinks they have.mode—armed(it blocks) orobserve(it records and lets the call through).whystates what put it there; print it verbatim, because paraphrasing an honest limit blurs it.demoted— non-null means the config saysarmedand the guard is running asobserveanyway: drift, a stale proof, a standing false positive, a zone. The owner cannot see that gap anywhere else, so report it besideproblemrather than leavingmodeto imply somebody chose observe.provenance— how the row was chosen. Anassumedrow is a default the owner never saw, and it is labelled as one wherever it is reported.
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 Changed · +120 lines df01eb037861
- 10d ago First seen · 150 lines · 169 tokens per session scan A 2efd3e758930
review is a skill published in the GitHub repository V-Songbird/slag (1 stars, last pushed 5d ago), licensed MIT. It adds 169 tokens to every session and 3,546 once invoked, about $0.0008 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
autoreview
Pre-commit/ship code review: Codex default; optional Claude or Pi.
rework-rate
Measure and interpret PR rework rate — the emerging 5th DORA metric.
omh-code-review
This is a Hermes-native code-review workflow skill.
revdiff-plan
Review the last Codex assistant message (plan, analysis, or proposal) with inline annotations in a TUI overlay. Extracts the most recent response from Codex rollout files and opens it in revdiff for review and annotation. Activates on "revdiff-plan", "review plan with revdiff", "annotate plan", "review last response"…
code-reviewer
Code review specialist focused on patterns, bugs, security, and performance.
full-repo-review
Comprehensive four-wave review of all repo source files, producing a prioritized issue backlog.