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 fredrikaverpil/dotfiles --skill self-reviewgit clone --depth 1 https://github.com/fredrikaverpil/dotfilesWrote 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/fredrikaverpil/dotfiles/self-review)<a href="https://agentmods.dev/skills/fredrikaverpil/dotfiles/self-review"><img src="https://agentmods.dev/badge/skills/fredrikaverpil/dotfiles/self-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/fredrikaverpil/dotfiles/self-review"><img src="https://agentmods.dev/badge/skills/fredrikaverpil/dotfiles/self-review.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Agent Snooping · line 1 Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.Fix: Remove all code or instructions that list or read other skills' files or directories. Skills should operate independently; cross-skill access is a privilege escalation.
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.00045 | $0.00577 |
| Opus 5.5 | $0.00018 | $0.00231 |
| Sonnet 5.5 | $0.00009 | $0.00115 |
| Haiku 4.5 | $0.00005 | $0.00058 |
Grade A, and why
self-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 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 — 59 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Self-Review
Review the change end-to-end. Read every file touched in full, not just the diff — the surrounding code is what says whether the change belongs. Report everything you find and fix what matters; don't self-censor to only the severe findings.
Review criteria
Beyond the obvious ones, weigh these — they are the ones most often missed:
- Placement: was the change made in the right place architecturally, or merely somewhere that works?
- Simplicity over cleverness: if something needs a comment to explain why it's written that way, it's probably too clever.
- Consistency: a codebase consistent with itself beats a change that is locally "better" but idiosyncratic.
- DX and UX: are APIs intuitive and error messages helpful, from both the developer's and the end user's side?
- Testability: look for clear seams, injectable dependencies, and logic separated from side effects. Hard-to-test code is a design smell — flag it rather than leaving it untested.
- Robustness: edge cases, race conditions, and assumptions that hold today but only by accident.
Laziness ladder
The ponytail plugin applies this ladder while code is being written. Apply it here in reverse, to what was written: for each piece of code the change added, check it climbed no higher than necessary.
- Does this need to exist? — if not, remove it (YAGNI).
- Already in this codebase? — reuse it, don't rewrite.
- Standard library does it? — use it.
- Native platform feature? — use it.
- Already-installed dependency? — use it.
- One line? — one line.
- Only then: the minimum that works.
Flag anything that skipped a lower rung — a new dependency where the stdlib or a native feature would do, a reimplementation of something the codebase already has, or an abstraction with a single caller.
The ladder never touches safety: trust-boundary and input validation, security, data-loss and error handling, and accessibility are out of scope for trimming.
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 Changed · +58 lines · +45 tokens per session eb07b6431f4e
- 1mo ago First seen · 1 lines · 0 tokens per session scan A a7d3e27e476b
self-review is a skill published in the GitHub repository fredrikaverpil/dotfiles (259 stars, last pushed 4d ago), licensed MIT. It adds 45 tokens to every session and 577 once invoked, about $0.0002 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 skills, from other repositories
pr
Use when the user wants to create a new pull request, update an existing PR's body, open a draft PR, or preview a PR body locally before pushing.
receiving-code-review
Use when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires technical rigor and verification, not performative agreement or blind implementation.
requesting-code-review
Use when completing tasks, implementing major features, or before merging to verify work meets requirements.
standards
Check current work against the shared user-level coding standards.
pr-grooming
Use when the user wants to groom, triage, or clean up the open pull requests of a repo: "groom the PRs", "review the open PRs", "which drafts are stale", "close old draft PRs", "rebase the dependabot PRs", "are the open PRs still mergeable", "refresh that old bugfix PR", or a periodic PR review — even when they do not…
explain-changes
Explain how the code on the current branch works, as an HTML page opened in the browser, written so someone can understand the change and review it. Use when asked to explain a branch, explain these changes, walk me through this code, help me review this, or explain what an agent just did. Most useful when someone…