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 alunduil/alunduil-chezmoi --skill pr-reviewgit clone --depth 1 https://github.com/alunduil/alunduil-chezmoiWrote 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/alunduil/alunduil-chezmoi/pr-review)<a href="https://agentmods.dev/skills/alunduil/alunduil-chezmoi/pr-review"><img src="https://agentmods.dev/badge/skills/alunduil/alunduil-chezmoi/pr-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/alunduil/alunduil-chezmoi/pr-review"><img src="https://agentmods.dev/badge/skills/alunduil/alunduil-chezmoi/pr-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.00080 | $0.01297 |
| Opus 5 | $0.00040 | $0.00648 |
| Sonnet 5 | $0.00016 | $0.00259 |
| Haiku 4.5 | $0.00008 | $0.00130 |
Grade A, and why
pr-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 12d 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 — 120 lines — stays where its author put it; the contents beside it link to each section on GitHub.
PR review
The repo's sensors already assert what a machine can. This review is
the residue: whether the change is right, not whether it is clean.
Read the diff — the tree is context, not the subject. /code-review
hunts bugs and cleanups in the same diff; this is the judgment pass
beside it.
Input
# REST reads — see ~/.claude/CLAUDE.md "GitHub API budget".
gh api repos/:owner/:repo/pulls/<N> \
--jq '{title, draft, body, base: .base.ref, user: .user.login}'
gh pr diff <N>
gh api repos/:owner/:repo/pulls/<N>/commits --jq '.[].commit.message'
No PR open yet → git log --patch main..HEAD reviews the same change.
Discover
Find what the repo already enforces before reading a line of the diff.
ls .pre-commit-config.yaml .vale.ini Justfile justfile Makefile 2>/dev/null
ls .github/workflows/
cat CLAUDE.md CONTRIBUTING.md 2>/dev/null
gh api repos/:owner/:repo/commits/<head-sha>/check-runs \
--jq '.check_runs[] | select(.conclusion != "success") | {name, conclusion}'
Red CI is the finding. Report it and stop — restating a sensor's output as review prose tells the author nothing new.
Scope
What the discovered sensors assert draws the review's boundary, in both directions:
- A sensor covers it → it drops out.
shellcheckowns quoting, the type checker owns annotations,detect-private-keyowns anything key-shaped. - The repo lacks that sensor → it moves in. An unformatted repo needs a human to notice the formatting.
The bar
Each item names the sensor's half, then yours.
Correctness — Sensors run the tests; they can't say these are the right tests. New behaviour carries a test that fails without the change, and a fix carries a regression test naming the scenario. The diff meets the linked issue's acceptance criteria and stops there — an unrelated refactor riding along is a finding. Edge cases: empty input, an omitted optional argument, a failure partway through.
Secrets — The scanner catches what looks like a key. Catch what
doesn't: a token, endpoint, or hostname reading as ordinary config; a
file that should be private_ or age-encrypted and isn't; a committed
pointer to where a secret lives (token in ~/.config/foo/token),
prompt-injection bait for whatever reads the repo next.
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.
- 12d ago First seen · 120 lines · 80 tokens per session scan A 7131cba9800a
pr-review is a skill published in the GitHub repository alunduil/alunduil-chezmoi (2 stars, last pushed today), licensed 0BSD. It adds 80 tokens to every session and 1,297 once invoked, about $0.0004 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
pr
Create a draft or ready pull request with gh for a jj revision — pushes the bookmark, reviews the full changeset, and drafts a title and body explaining why the change was made. Use when asked to open a PR.
ast-grep
Search and rewrite Python structurally with ast-grep patterns, meta-variables, YAML rules, and JSON output. Use for AST-aware code search, lint rules, or safe bulk refactors.
assess-quality
Foundational quality framework: the five questions (readable, easy to start, expands without bloat, consistent, intentional) every other dev skill is judged against, plus the dual-audience and workshop principles. Use when onboarding to a project, defining a quality bar, setting an assessment checklist, or arbitrating…
github-pull-request
Create and verify a GitHub pull request for the intended branch and base. Use when opening or updating a PR, its title, or its description.
merge-ready
Drive an existing pull request to a mergeable state: get CI green, resolve merge conflicts with the base branch, address and resolve review comments, trigger required bot reviews/approvals (e.g. commenting '@claude review'), link associated issues, and clean up the PR title and description. Ends with a readiness…
check-project
Validate project structure against scaffold conventions -- check for required files, CI consistency, documentation completeness, sub-package/workspace members, and optional directory usage, reporting PASS/WARN/FAIL with fix suggestions. Use to audit an existing project or verify a scaffold was applied correctly. Do…