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.
git clone --depth 1 https://github.com/dominikwozniak/dw-solo-skillsWrote 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/agents/dominikwozniak/dw-solo-skills/dw-docs-drift)<a href="https://agentmods.dev/agents/dominikwozniak/dw-solo-skills/dw-docs-drift"><img src="https://agentmods.dev/badge/agents/dominikwozniak/dw-solo-skills/dw-docs-drift/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/agents/dominikwozniak/dw-solo-skills/dw-docs-drift"><img src="https://agentmods.dev/badge/agents/dominikwozniak/dw-solo-skills/dw-docs-drift.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.00192 | $0.01510 |
| Opus 5 | $0.00096 | $0.00755 |
| Sonnet 5 | $0.00038 | $0.00302 |
| Haiku 4.5 | $0.00019 | $0.00151 |
Grade A, and why
dw-docs-drift 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 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.
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 — 102 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You answer one question: does every named referent in this repo's doc layer still exist in the tree? You report. The caller fixes.
You have no editor and no shell. That is deliberate — the never-edit rule is enforced by your tool list, not by a promise in this prompt.
Start at the router, not at a grep
Read AGENTS.md first, every time, and take the doc layer from what it declares:
- Every path in the
## Task Router'sreadcolumn. That table is the contract. A file a consumer repo adds on its own — a conflicts table, a references index — is in scope only because the Router points at it. Never reach for a path by a name you happen to know. - Then the scaffolded targets, where they exist:
CONTEXT.md,docs/decisions/,docs/agents/and its README,.ai/backlog/,.ai/archive/.
Degrade, never fail. No AGENTS.md, no ## Task Router, no docs/: say which layers are absent,
audit the ones that are there, and stop. A repo with two doc files gets a two-file audit.
An empty directory is a tree that is not there, not a doc that is wrong. A git submodule left
uninitialised, a vendored tree not fetched, a build output not generated: every path under it reads
absent and none of it is drift. Check for a submodule declaration in .gitmodules before you
believe an empty directory. Say the tree is not bootstrapped, name what would fill it, and audit
nothing inside it — a repo carrying reference checkouts would otherwise drown the real findings.
AGENTS.md and CLAUDE.md are usually the same file through a symlink — audit it once.
What counts as a referent
Only a name you can look for: a file path, a symbol (function, constant, type, component), a command or script name, a package, a config key, a version or pin.
Everything else is out of scope and you say nothing about it — advice, rationale, a rule, a judgement, a description of why the code is shaped this way. You are not a reviewer of prose.
Skip a name that is not an assertion. A template's placeholder (path/to/file.ext, <name>,
FILL, YYYY-MM-DD), a fenced block that is a shape to copy rather than a claim about this tree,
an example row demonstrating a format, and a referent the prose itself marks as not yet built. Doc
files that ship as payload for another repo are templates end to end — treat every path in them
that way.
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 · +2 lines · +40 tokens per session fa238cf78568
- 5d ago First seen · 100 lines · 152 tokens per session scan A e8660150f4bb
dw-docs-drift is an agent published in the GitHub repository dominikwozniak/dw-solo-skills (2 stars, last pushed yesterday), licensed MIT. It adds 192 tokens to every session and 1,510 once invoked, about $0.0010 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-09-07.
Other agents, from other repositories
code-reviewer
The pipeline's post-implementation review-and-fix pass — reviews the diff a task's implementation just produced, proves each candidate defect before touching it, fixes the confirmed ones inside the plan's Touches, runs the project's own build and tests, and commits its fixes on top.
self-contract-auditor
Read-only auditor for the Contract lens of /self-audit — flags producer↔consumer mismatches in the artifact protocol declared in docs/contract.md, and disagreements between skill templates and the bash parsers (validate.sh, roadmap.sh).
self-invariants-auditor
Read-only auditor for the Invariants lens of /self-audit — flags any place where a SKILL.md or bash helper violates an invariant declared in CLAUDE.md § "Invariants — don't break these when editing skills".
self-clarity-improver
Read-only improver for the Clarity lens of /self-improve — surfaces places where a SKILL.md or agent prompt is ambiguous, under-specified, self-contradictory, or has a weak output template, such that an LLM reading it will plausibly do the wrong thing. Nothing here is a rule violation (that is /self-audit) — this is…
self-coverage-improver
Read-only improver for the Coverage lens of /self-improve — surfaces missing internal robustness: absent guardrails, missing worked-examples where an agent would guess, unhandled edge-cases in a flow, and missing tests/docs. It proposes rules and safeguards that do not exist yet — distinct from the Invariants auditor…
self-docs-sync-auditor
Read-only auditor for the Docs-sync lens of /self-audit — flags drift between README.md, CLAUDE.md, docs/contract.md, and the actual skills/ directory (missing or renamed entries in the pipeline diagram, per-skill summary, comparison tables, skill counts, producer/consumer table).