audit-agents
Audit or rewrite AGENTS.md so it holds only lasting principles. Run it only when the user…
Write and edit project docs (README/markdown) as a glossary of principles, not a mirror of the code. Use when creating or revising a README; when a doc enumerates exact scenes, scenarios, helpers, class ids, file lists, or command/flag matrices the code already holds; when
$ npx -y skills add dzhng/skills --skill write-docs --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/write-docsContext preview
The summary Claude sees to decide when to auto-load this skill.
Write and edit project docs (README/markdown) as a glossary of principles, not a mirror of the code. Use when creating or revising a README; when a doc enumerates exact scenes, scenarios, helpers, class ids, file lists, or command/flag matrices the code already holds; when
name: write-docs description: Write and edit project docs (README/markdown) as a glossary of principles, not a mirror of the code. Use when creating or revising a README; when a doc enumerates exact scenes, scenarios, helpers, class ids, file lists, or command/flag matrices the code already holds; when trimming narrative or changelog out of a doc; or when deduplicating overlapping docs and wiring a root doc to its sub-docs.
A doc is a **glossary**: it names the moving parts, says why each exists, and carries the principles a reader can't derive by grepping. The code is the source of truth for *what exists right now* — the doc must never race it. Before writing any line, ask the one question that governs this skill: **could the reader get this faster and more reliably by reading the code?** If yes, point them at the code instead of copying it in.
Keep — a reader cannot grep their way to these:
names don't reveal.
because Y", a contract two files silently share.
rule for what belongs.
Shed — the code or its git history already holds these, so a copy only rots:
lists, command/flag matrices.
what was tried and abandoned.
just restates the code.
Where you're tempted to list specifics, name the folder or the single file that owns them and send the reader there — **prefer a folder over a file, a source-of-truth registry over a transcribed copy.** Describe a helper module by the *kind* of helper it holds and the rule for what belongs in it, not its current roster. One concrete touchstone is fine to ground a principle; a full inventory is the smell. "The matchups live in the table that defines them; the ids key off the class registry" stays true after the next edit — reproducing either does not.
Every fact has exactly one canonical home; every other doc links to it. Repetition across docs is a maintenance bug — copies drift and the reader can't tell which is current. A root/global doc gets a short section plus pointers to the sub-docs. When two docs explain the same thing, pick the hub and cut the other to a pointer.
Docs form a tree reachable from one root/hub doc: the hub links to each sub-doc, and a sub-doc links on to any module-level doc beneath it. Navigation flows **down** — a reader starts at the root and follows links in, so the whole tree is reachable from there. A doc links back up to its parent, or across to a sibling, **only to reuse a fact that already lives there** — an app doc pointing at the hub's deployment section instead of restating it, a boundary doc naming the sibling it defers to. That is the one-home rule doing its job. What you do *not* add is a rote "part of X" back-link that carries no information: it's noise, and the tree is already navigable from the root without it.
When trimming an existing doc, delete on sight: enumerations of code-discoverable items, changelog and narrative, and any sentence that restates the code. Then read what survives as a stranger with no conversation history — every remaining line should be a principle, a why, or a pointer. If a line would be just as true and just as useful as a link, make it the link.
AI skills for building software factories. My personal library of domain-agnostic agent skills, reused across every project.
Repo: dzhng/skills
Audit or rewrite AGENTS.md so it holds only lasting principles. Run it only when the user…
Eval and improve a skill against golden cases — run the target skill blind in a fresh,…
Create or revise agent skills. Use when adding a new skill file, renaming a skill,…
Audit the choices an implementing agent made, not its diff — a pure decision audit that…
Audit and prioritize performance work through bounded-work and forward-progress checks. Use…
Audit whether tests earn their maintenance cost and which suite owns each contract. Use when…