Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/iliaal/whetstonenpx agentmods add commands/iliaal/whetstone/audit-pluginWrote 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/commands/iliaal/whetstone/audit-plugin)<a href="https://agentmods.dev/commands/iliaal/whetstone/audit-plugin"><img src="https://agentmods.dev/badge/commands/iliaal/whetstone/audit-plugin/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/commands/iliaal/whetstone/audit-plugin"><img src="https://agentmods.dev/badge/commands/iliaal/whetstone/audit-plugin.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.00025 | $0.05449 |
| Opus 5.5 | $0.00010 | $0.02180 |
| Sonnet 5.5 | $0.00005 | $0.01090 |
| Haiku 4.5 | $0.00003 | $0.00545 |
Grade A, and why
audit-plugin 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 25d 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 — 318 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Audit plugin content
Deep analysis of all skills, agents, and commands in the whetstone plugin. Surfaces quality issues that degrade skill effectiveness, waste tokens, or confuse the model.
Scope
PLUGIN_DIR=plugins/whetstone
SYNC_LOG=docs/audit/audit-log.md
If $ARGUMENTS specifies a name or category, narrow to that. Otherwise audit everything. Normalize component names to the ia- prefix before using them as --skill/--component filters (e.g. debugging → ia-debugging). Exit code 2 from those commands means the filter matched nothing — almost always a missing prefix — not a validation failure; re-run with the prefixed name.
Reactive mode: If invoked after a skill/agent failed during use, detect the failing component from conversation context and focus the audit on that component first.
Phase 0: Pre-flight — read prior decision log
Read $SYNC_LOG in full before any checks run. Build an in-memory set of already-evaluated findings keyed by (component, issue-signature) across every run entry. Use it as a filter during Phase 3 presentation:
- Previously applied, exact match — drop silently.
- Previously rejected, exact match — drop silently unless new evidence contradicts the prior reason; if so, surface with a
RE-EVALUATEflag and quote the prior rejection reason. - Previously deferred, exact match — surface with a
PREVIOUSLY DEFERREDtag and the original defer reason so the user can judge whether conditions have changed. - No match — present normally.
While reading, also detect prune triggers and emit a one-line reminder at the end of Phase 3 if any fire:
- Any entry older than 30 days.
- Any entry referencing a component that no longer exists under
$PLUGIN_DIR. - Any entry whose reasoning has been superseded by a feedback-memory rule.
Reminder format: "Sync log has N prune candidates — run /prune-sync-log."
If $SYNC_LOG doesn't exist, note it and continue — the post-apply step in Phase 5b creates it.
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.
- 25d ago Changed 2693e2f77bbf
- 1mo ago Changed 48c6b1686822
- 1mo ago First seen · 318 lines · 25 tokens per session scan A ee2b7a8d78bd
audit-plugin is a command published in the GitHub repository iliaal/whetstone (35 stars, last pushed 2d ago), licensed MIT. It adds 25 tokens to every session and 5,449 once invoked, about $0.0001 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-08-30.
Other commands, from other repositories
sm-buff
You usually don't run buff directly — run sm sail. sm sail drives the whole PR to green and calls buff watch / triage for you, stopping only when it needs you to act (see /sm-sail). Reach for sm buff here only for surgical work: inspecting a specific failure, or resolving a single review thread when sail has parked on…
sm-scour
Run slop-mop's comprehensive pre-PR sweep for this repository.
review
Multi-agent code review with parallel validation.
speckit.boundedrelay.plan-review
Freeze Claude host findings before an independent BoundedRelay Codex plan review.
speckit.boundedrelay.implementation-review
Run frozen Claude host and independent Codex implementation reviews.
open-pr
Create a pull request for the current branch following the the team's standard PR template.