docs-drift
Skill0 starsChanged 2 months agoMITView on GitHub
Checks the README, spec, docs, help text, and example config against what the code actually does, and reports every place they disagree. Use when documentation may have fallen behind the code, or before a release.
- Reads credentials
6 other projects use a version of this.
Adopted by
Most recently taken up by
- Jia-ben00/docs-drifttheir own version, first seen Nov 8, 2026
- gtapps/claude-code-hermittheir own version, first seen Nov 7, 2026
- gtapps/hermitdtheir own version, first seen Nov 7, 2026
- mongodb/docstheir own version, first seen Nov 2, 2026
- mxrsv/agents-skillstheir own version, first seen Oct 21, 2026
- ceptln/quota-burnertheir own version, first seen Sep 8, 2026
Other versions6 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 6
- mongodb/docs★ 779same name
- gtapps/claude-code-hermit★ 84same name
- gtapps/hermitd★ 84same name
- ceptln/quota-burner★ 18same name
- mxrsv/agents-skills★ 11same name
- Jia-ben00/docs-drift★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository16 other files it gives its agents.
- adversarial-reviewSkill
- changelogSkill
- cve-patchSkill
- diagnoseSkill
- good-readmeSkill
- improve-designSkill
- improve-seoSkill
- janitorSkill
- kickoffSkill
- nta-scanSkill
- refactor-oopSkill
- repo-reconSkill
- software-architectureSkill
- spec-driven-devSkill
- stack-adviseSkill
- your-skill-nameSkill
The file
We split this skill into the rules it gives an agent
6 rules. 0 are common, 5 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 6 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 57
Run what can be run offline: every command the docs tell the reader to type, against the repo itself, where it is safe and has no side …
- Distinctive: line 61
Check the examples: code snippets, sample requests, and sample output.
- Distinctive: line 63
Check the links: relative paths to files that moved, anchors to headings that were renamed, and references to CI badges, issue templates, …
- Distinctive: line 72
Read only, apart from the report file.
- Very specific: line 77
Never read .env or other environment files.
- Distinctive: line 86
Every command, flag, variable, config key, endpoint, and default in the documented surface has been matched against the code, every one in …
“Common” is measured: kept by at least 6 in 10 of the 6 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Docs drift
Goal
A list of every claim the project's documentation makes that the code no longer
backs up — and every behaviour the code has that the documentation never
mentions — each as a path:line pair the operator can act on.
Context
Check first:
- Where the prose lives:
README,spec/,docs/,CONTRIBUTING,AGENTS.md, man pages, docstrings on the public surface, and inline--helpor usage text. - What is history, not a claim about today: released
CHANGELOGentries, decision records (spec/decisions/,docs/adr/), release notes, and upgrade guides for past versions. They describe the code as it was, so leave them out. A changelog's[Unreleased]section is the exception — it claims what the code does now. - Where the truth lives: the CLI or argument parser, the route table, the
config loader, the environment-variable reads, the package manifest's
scripts and entry points,
Makefiletargets, and CI workflow steps. .env.example, sample configs, and docker-compose files — documentation in disguise, and the most likely to be stale.git logon the docs versus the code they describe. A README last touched two years before the CLI it documents is the first place to look.
Steps
Work in order of readership: the README and quick-start, --help and usage
text, the configuration and environment reference, then the rest of docs/.
On a large doc set, pull claims out by search — code spans, --flags,
UPPER_CASE variable names, paths, endpoints — rather than reading every page,
and hand separate doc areas to subagents where the tool supports them.
Whatever you did not reach goes under Not inspected.
- Inventory the documented surface: every command, subcommand, flag, option, environment variable, config key, endpoint, default value, exit code, file path, and version requirement that any document states. Note where each claim is made.
- Inventory the real surface from the code: the same categories, read from the parser, loader, router, and manifest — not from comments or docstrings, which are documentation too.
- Compare the two lists in both directions:
- Documented but absent: the docs describe something the code no longer has, or never had.
- Present but undocumented: the code accepts a flag, reads a variable, or exposes an endpoint no document mentions.
- Both present but disagreeing: a different default, type, name, required status, or behaviour.
- Run what can be run offline: every command the docs tell the reader to type, against the repo itself, where it is safe and has no side effects. Install and quick-start instructions are the most-read and least-checked lines in any project.
- Check the examples: code snippets, sample requests, and sample output. An example that would not compile, parse, or run today is drift.
- Check the links: relative paths to files that moved, anchors to headings that were renamed, and references to CI badges, issue templates, or scripts that no longer exist. External URLs are noted, not fetched.
- Classify each finding by what a reader loses:
misleadingwhen following the docs fails or does the wrong thing,missingwhen a real capability is invisible,stalewhen the docs are merely out of date but harmless.
Constraints
- Read only, apart from the report file. Drift has two possible fixes — change the docs or change the code — and which one is right is a product decision, not yours. Report both sides and let the operator choose.
- Offline. Do not fetch external URLs, install anything, or run commands with side effects. A command from the docs is run only when it is plainly safe.
- Never read
.envor other environment files..env.exampleand the variable names the code reads are enough. - Judge from the code, not from what seems likely. If the code is ambiguous, say so rather than guessing which side is right.
- Prose quality, tone, and structure are not drift. Only report disagreement between what is written and what is true.
Done when
Every command, flag, variable, config key, endpoint, and default in the documented surface has been matched against the code, every one in the code has been matched against the docs, and every disagreement is listed with both locations. Anything not reached is listed under Not inspected.
Output
Save the report to DOCS-DRIFT.md at the repo root, replacing any earlier one.
Open with one line: how many findings, and whether any are misleading.
Then one table:
| Docs | Code | Claim | Reality | Class |
Docs and Code are path:line; use — for the side that is absent. Order
by class: misleading, then missing, then stale.
Close with two short lists:
- Could not verify — claims that depend on a live service, an external URL, or an environment you could not reproduce, and what would settle each.
- Not inspected — documents or code paths left out of scope, and why.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

