Getting it into your agent
There is no command for this one: it runs only inside a plugin, and the catalogue could not identify which plugin ships it. The source is linked below.
Wrote 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/sync-from-repos)<a href="https://agentmods.dev/commands/iliaal/whetstone/sync-from-repos"><img src="https://agentmods.dev/badge/commands/iliaal/whetstone/sync-from-repos.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.1 | $0.00022 | $0.04125 |
| Opus 5 | $0.00011 | $0.02063 |
| Sonnet 5 | $0.00004 | $0.00825 |
| Haiku 4.5 | $0.00002 | $0.00413 |
Grade A, and why
sync-from-repos 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 8d 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 — 275 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Sync from reference repos
Scan reference repositories, compare against plugin skills/agents/commands, and recommend improvements. Read-only analysis — no changes without explicit approval.
Configuration
REPOS_DIR=~/ai/repos
PLUGIN_DIR=plugins/whetstone
SYNC_LOG=docs/audit/audit-log.md
Phase 0: Pre-flight — read prior decision log
Read $SYNC_LOG in full before any analysis. Two things come out of it.
First, the Retired sources table above the ## Log marker: repos exhausted by a prior run, each pinned to the HEAD SHA it was retired at. Carry it into Phase 2, which defines the check and the un-retire rule.
Second, build an in-memory set of already-evaluated findings keyed by (component, pattern-signature) across every run entry. Use it as a filter during Phase 3 and Phase 4:
- 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. These three buckets match /prune-sync-log's taxonomy exactly (a missing external repo is a stale-ref, not its own bucket). Emit a one-line reminder at the end of Phase 4 if any fire:
- age — any entry older than 30 days.
- stale-ref — any entry referencing a component that no longer exists under
$PLUGIN_DIR(skill, agent, or command path missing), OR an external repo no longer present in$REPOS_DIR. - superseded — any entry whose rejection reason duplicates a rule now in
MEMORY.md.
Reminder format: "Sync log has N prune candidates (age: X, stale-ref: Y, superseded: Z) — 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.
- 8d ago First seen · 275 lines · 22 tokens per session scan A 54719d994a64
sync-from-repos is a command published in the GitHub repository iliaal/whetstone (33 stars, last pushed yesterday), licensed MIT. It adds 22 tokens to every session and 4,125 once invoked, about $0.0001 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-30.
Other commands, from other repositories
pr-review
Comprehensive PR review across six dimensions — cost impact, environment drift, ownership gaps, SOC 2 compliance, deprecated API / version hygiene, and rollback feasibility. Each mode inspects the diff and current file state, reports findings with severity, and recommends concrete fixes. Use when preparing a PR for…
triage
Triages a PR comment — from a bot (Copilot, CI) or a human reviewer. Fetches the comment and diff via gh CLI, classifies it, applies the fix directly to the file if valid, posts a reply on the thread, and resolves it. Run from inside the repo.
review
Multi-agent code review with parallel validation.
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.
speckit.boundedrelay.plan-review
Freeze Claude host findings before an independent BoundedRelay Codex plan review.