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 jhoblitt/rook-claude/plugin install rook-maintainerWrote 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/jhoblitt/rook-claude/rook-systemic-prs)<a href="https://agentmods.dev/skills/jhoblitt/rook-claude/rook-systemic-prs"><img src="https://agentmods.dev/badge/skills/jhoblitt/rook-claude/rook-systemic-prs/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/jhoblitt/rook-claude/rook-systemic-prs"><img src="https://agentmods.dev/badge/skills/jhoblitt/rook-claude/rook-systemic-prs.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.00104 | $0.03495 |
| Opus 5 | $0.00052 | $0.01747 |
| Sonnet 5 | $0.00021 | $0.00699 |
| Haiku 4.5 | $0.00010 | $0.00349 |
Grade C, and why
rook-systemic-prs scanned grade C with 1 finding 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 3d 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.
Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
remedy for a stale-cache failure, `rm -rf ~/.cache/golangci-lint`, wipes a How it starts
The opening of the file, as written. The whole thing — 238 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Rook systemic change → small PRs
A repeatable loop for applying a systemic change (one rule applied in many
places) to a github.com/rook/* repo, delivered as many small, isolated,
independently mergeable PRs instead of one mega-PR. Optimized for aggressive
subagent fan-out: scanning and preparation are parallelized across as many
subagents as the work decomposes into, run at the harness width cap.
This skill encodes the process. The driving example throughout is dead-code elimination (the workflow it was hardened on), but the same loop applies to any sweeping change: replace a deprecated call, rename a symbol, tighten a lint, normalize imports, bump a vendored API, etc. Substitute the "find candidates" and "transform" steps for your change; the sync / exclude-open-PRs / propose-gate / per-PR-verify / conventions machinery is identical.
Core principles
- Upstream master is the default ref. Always scan, branch, and base PRs on
the current upstream
master(therook/*repo), not a stale local branch. Sync first, every run. Candidates found against stale code waste everyone's time and may already be merged. - Exclude work already in flight. Before proposing anything, enumerate open PRs and drop any candidate already covered by one. Re-proposing open work is the most common failure mode of a multi-session campaign.
- Propose, then get agreement, before opening PRs. Present the candidate list and wait for the user to approve which ones to open. Do not open PRs speculatively.
- One concern per PR. Each PR should be a single file deletion, a single dead symbol/cluster, or one mechanical transform in one area — reviewable in under a minute. Prefer whole-file deletes when an entire file is dead.
- Fan out aggressively, up to the width cap. Decompose by directory /
package / candidate file and run one subagent per unit; dispatch and
width are rook-conventions
references/fan-out.md. Use read-onlyExploreagents for scanning/auditing; userook-maintainer:code-workeragents (shipped with this plugin) withisolation: worktreefor parallel implementation across independent files. - Verify every PR independently. Build + vet the affected package(s) before committing. A green campaign is many green PRs, not one hopeful push.
- Tier each agent to its work. Scan agents run a detector and report
file:line— small-model work, and the whole-module cross-check in Phase 1 is what backstops it. Implementation workers apply an already-approved mechanical transform — small-model work too, backstopped by Phase 4's build/vet/gofmt and re-grep gate. Passmodel:explicitly at both call sites instead of inheriting the session model. What stays on the session model is the judgment no gate can check: deciding what is safe to remove (Phase 3) and reconciling the fan-out against the authoritative pass.
What ships with it
1 file 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.
- 3d ago Changed · -1 lines 010749e2775a
- 8d ago Changed · +2 lines fcdbff4255a2
- 12d ago First seen · 237 lines · 104 tokens per session scan C c3122f5db1b7
rook-systemic-prs is a skill published in the GitHub repository jhoblitt/rook-claude (4 stars, last pushed 2d ago), licensed Apache-2.0. It adds 104 tokens to every session and 3,495 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it C with 1 finding (recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
cad-reviewer-contract
Internal role contract, preloaded into every cad-reviewer rung agent. Not a user command.
pr-deslop
Use when cleaning AI slop, verbose commit messages, brittle references, or low-value changes from a branch before review.
slop-scan
Use when scanning tracked repository files for AI slop, verbosity, brittle references, or low-value contributions.
weave-fix-review
Fix weave review findings — validate, add test coverage, fix, and commit each as atomic changes.
action
Use when screened review findings should be fixed on the current branch, usually as one verified commit per finding.
seal
Ships a feature — simplify pass, certify, commit, PR, CI monitoring, review loop, merge. Use when a feature branch is verified and ready to ship.