docs-maintenance
Skill1 starsChanged 22 days agoMITView on GitHub
Keep specs, design docs, plans and READMEs true as the code changes. Use whenever a change alters behaviour a doc describes; when building from, finishing, superseding or abandoning a spec or plan; when adding, moving or tidying docs; and before relying on a spec to understand code. Covers the specs index, status and supersede markers, folding deviations back into the spec, and checking a doc against the code before trusting it.
5 other projects use a version of this.
Adopted by
Most recently taken up by
- OpenSelfHosting/skillstheir own version, first seen Oct 25, 2026
- anrysys/tg-aitheir own version, first seen Oct 20, 2026
- Seekers2001/docs-governancetheir own version, first seen Oct 13, 2026
- qshanx/docs-governancetheir own version, first seen Oct 13, 2026
- InternationalColorConsortium/iccDEVtheir own version, first seen Oct 8, 2026
Other versions5 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 5
- Seekers2001/docs-governance★ 320same name
- qshanx/docs-governance★ 253same name
- InternationalColorConsortium/iccDEV★ 187same name
- OpenSelfHosting/skills★ 2same name
- anrysys/tg-ai★ 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 repository8 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- clarify-firstSkill
- coding-standardsSkill
- dependency-safetySkill
- lean-contextSkill
- security-advisoriesSkill
- spec-writingSkill
- writing-claude-mdSkill
The file
We split this skill into the rules it gives an agent
11 rules. 0 are common, 6 are distinctive, and 5 are very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
6
Distinctive
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 15
Keep one source of truth per fact, and change it in the same commit as the code.
- Very specific: line 19
Every spec and design doc is listed in one index (e.g.
- Distinctive: line 40
When work lands, update the status and the index row together.
- Distinctive: line 44
When the implementation deviates, change the requirement itself, not an "as built" note on top.
- Distinctive: line 49
No live state in specs: dated figures, balances and "as of" tables go stale.
- Very specific: line 54
When a new spec replaces an old one, mark the old one superseded with a pointer to the new, and say in the new one what it replaces.
- Distinctive: line 57
Keep a superseded or abandoned spec while other docs link to it.
- Very specific: line 62
Check whether the code it describes changed since it was last verified: git log --oneline <verified commit>..
- Very specific: line 65
When diff-reviewer's spec coverage or your own check confirms a spec matches the code, update verified.
- Distinctive: line 77
When asked to tidy docs, or before starting work in an area, compare:
- Very specific: line 81
test names the specs list against pytest --collect-only -q.
“Common” is measured: kept by at least 6 in 10 of the 3 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 maintenance
A doc that disagrees with the code is worse than none: the next reader trusts it. Keep one source of truth per fact, and change it in the same commit as the code.
One index
- Every spec and design doc is listed in one index (e.g.
docs/specs/README.md) with a one-line description and its status. A doc goes into the index in the change that adds it; a doc missing from the index is a bug. - The index carries nothing that needs hand-dating ("Updated on …"); git has it.
Status at the top, in one form
Each spec opens with its status in the same form across the repo. Match the repo's convention; if it has none, propose this frontmatter to the user before adopting it:
---
status: draft | specced | partly built | built | superseded | abandoned
description: One line, the same text the index shows.
superseded_by: docs/specs/new-spec.md # only when superseded
code: [src/pkg/module.py, src/pkg/cli.py] # what implements it
verified: abc1234 # commit it was last checked against the code
---When work lands, update the status and the index row together.
Keep the spec true while building
- When the implementation deviates, change the requirement itself, not an "as built" note on top. History lives in git.
- A plan (build order, phases, task lists) is scaffolding. Once the work is built, fold any design change into the spec, then delete the plan or mark it done. Two docs must never both claim to be the truth about the same behaviour.
- No live state in specs: dated figures, balances and "as of" tables go stale. They belong in generated output or the command that produces them.
Superseding and retiring
- When a new spec replaces an old one, mark the old one
supersededwith a pointer to the new, and say in the new one what it replaces. Repoint links that cite the old spec for current behaviour. - Keep a superseded or abandoned spec while other docs link to it; delete it once nothing does — git keeps it.
Before trusting a doc
- Check whether the code it describes changed since it was last verified:
git log --oneline <verified commit>.. -- <code paths>. If it did, read the code before relying on the doc, and fix whichever is wrong. - When
diff-reviewer's spec coverage or your own check confirms a spec matches the code, updateverified.
Other docs
READMEs, CLAUDE.md files, skills, prompts and command help describe behaviour
too. When a change renames or alters something, grep for the old name across them
and update each in the same change. A doc's claim about a command (flags,
output) should be checkable: run --help or the command on a fixture.
Sweep
When asked to tidy docs, or before starting work in an area, compare:
- docs on disk against the index, and each status against
git log; - relative links against the files they point to;
- test names the specs list against
pytest --collect-only -q; code:paths against the tree.
Report what disagrees and fix it in one change.
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.

