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 agentmods add skills/thettwe/nyann/explain-diffnpx skills add thettwe/nyann --skill explain-diffgit clone --depth 1 https://github.com/thettwe/nyannWhat 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 | $0.00228 | $0.01310 |
| Opus 5 | $0.00114 | $0.00655 |
| Sonnet 5 | $0.00046 | $0.00262 |
| Haiku 4.5 | $0.00023 | $0.00131 |
Grade A, and why
explain-diff 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 2d 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 — 108 lines — stays where its author put it; the contents beside it link to each section on GitHub.
explain-diff
Read-only template render. Wraps bin/explain-diff.sh.
When to trigger
- User has a DriftReport (from doctor / retrofit / compute-drift) and wants prose.
- User wants to paste a doctor summary into a PR body or chat without sharing raw JSON.
- User explicitly asks for "the drift in plain English".
When NOT to trigger
- User is asking "is this repo healthy" → that's
doctor(which can chain into this via--explain). - User wants to mutate / fix → that's
retrofit. - User wants LLM-polished output → this skill is template-only by design (no LLM). If the user wants prose with more nuance, suggest reading the markdown output and editing by hand.
Invocation
Three call shapes:
1. Direct: file path
bin/explain-diff.sh --file path/to/drift.json
2. Pipe from a producer
bin/compute-drift.sh --target . --profile default | bin/explain-diff.sh -
3. Via doctor (recommended path)
bin/doctor.sh --target . --profile default --explain
doctor --explain is preferred because it also forwards the computed health score and trend delta into the narrative header line — the same numbers text-mode shows at the foot of its output.
--explain is mutually exclusive with --json on doctor; if both are passed, doctor dies with a clear error.
Output shape
Markdown (default) — three sections:
- Header — target + profile + (optional) health score + trend
- What's drifted — one bullet per drift category, ordered by severity. Each bullet has a lead phrase (
Action required:,Worth fixing:,Drifted:,Minor:) and up to 5 concrete items. If a category has more than 5 items, an "...and N more" line appears. - What you can do — ordered action items that map to nyann skills (
nyann:retrofit,nyann:optimize-claudemd, etc.)
JSON (--format json) — the DriftNarrative shape (schemas/drift-narrative.schema.json). Useful for chat-bot integrations or custom renderers that want the same source-of-truth without re-parsing the prose.
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.
- 2d ago First seen · 108 lines · 228 tokens per session scan A 3393e8f98b7f
explain-diff is a skill published in the GitHub repository thettwe/nyann (6 stars, last pushed 3d ago), licensed MIT. It adds 228 tokens to every session and 1,310 once invoked, about $0.0011 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
a11y-remediate
Use to produce a leader-facing remediation proposal from one or more /a11y-audit outputs plus team and product context. Translates audit findings into sprint plans, staffing asks, customer-facing language, compliance rollups, and critical-path analysis. Refuses to fabricate numbers, owners, or commitments beyond the…
surface-after-care
Regelmäßiger Pflegedurchlauf für ein bereits veröffentlichtes GitHub-Repository (Stufe 1, günstig und oft wiederholbar): zuerst alle Distributionsflächen des Projekts ermitteln (npm, PyPI, Registries, Marketplaces, Stores, Website) und Änderungen später dorthin spiegeln, dann Topics setzen, Privacy-Gate, Dokumente auf…
wp-i18n-workflow
Use when managing the full translation workflow for a WordPress plugin — registering text domain with loadplugintextdomain, wrapping strings with (), e(), eschtml(), escattr(), n(), x(), ex(), nx(), generating POT with wp i18n make-pot, compiling .po to .mo (wp i18n make-mo / msgfmt) and .json (wp i18n make-json)…
full-after-care
Tiefe Pflegerunde für ein veröffentlichtes GitHub-Repository (Stufe 2): enthält den vollständigen surface-after-care-Durchlauf und ergänzt ihn um drei teure Schritte — rechtliche Ersteinschätzung über die Law-Checker mit Wiedervorlage nach einem Jahr (Gutachten bleibt gitignored im Repo), Querverweise zu verwandten…
wp-plugin-release
Use when bumping a WordPress plugin version or cutting a release — syncing version across all sources: plugin header (Version: X.Y.Z), version constant (define MYPLUGINVERSION), readme.txt (Stable tag + Changelog + Upgrade Notice), CHANGELOG.md, and .pot Project-Id-Version; following semver (major/minor/patch) rules…
changelog-generator
Transform technical git commits into polished, user-friendly changelogs and release notes. Automatically categorizes changes, translates developer language into customer-friendly copy, and generates professional changelog entries.