write-docs
Skill1 starsChanged 13 days agoMITView on GitHub
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.
43 other projects use a version of this.
Adopted by
Most recently taken up by
- alchemy-run/alchemy-effecttheir own version, first seen Nov 9, 2026
- alchemy-run/alchemytheir own version, first seen Nov 8, 2026
- adhamhaithameid/write-skillstheir own version, first seen Nov 8, 2026
- dzhng/jevgrepword for word, first seen Nov 7, 2026
- oberon-systems/enggraphtheir own version, first seen Nov 6, 2026
- dzhng/skillsword for word, first seen Nov 4, 2026
Used with
Projects with it also use implement-spec-with-codex, audit-decisions and 1 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
dzhngSkillimplement-spec-with-codex
Run [implement-spec](../implement-spec/SKILL.md) with Codex doing the implementation passes while you orchestrate, integrate, and review. Use when the user asks to implement a spec with Codex, or to run implement-spec with Codex as the implementer.
Also in 4 projects that use this
wolverin0Skillaudit-decisions
Standardize remediation decisions, baseline-policy entries, and legal-review banners for accepted, deferred, or policy-blocked audit findings.
Also in 4 projects that use this
dzhngSkillport-features
Port a feature from an existing repository by copying its actual code and editing the copy, so its bug fixes and behavioral nuances survive, then naturalizing it to this project's names and environment. Use when asked to copy or port an existing feature (especially an exact copy), when moving one into a different framework or host, or when a previous reimplementation missed upstream behavior.
Also in 3 projects that use this
Other versions43 projects use a version of this.
Word for word · 4
- dzhng/jevgrep★ 3.2k100% same
- dzhng/skills★ 1.5k100% same
- dzhng/yap★ 112100% same
- dzhng/duet-agent★ 55100% same
Edited · 0
None found.
Wrote their own version · 39
- tldraw/tldraw★ 51ksame name
- tabler/tabler★ 42ksame name
- videojs/video.js★ 40ksame name
- PrefectHQ/prefect★ 24ksame name
- comet-ml/opik★ 23ksame name
- coder/coder★ 17ksame name
- browseros-ai/BrowserOS★ 14ksame name
- Agenta-AI/agenta★ 4.9ksame name
- liveblocks/liveblocks★ 4.8ksame name
- alchemy-run/alchemy★ 1.9ksame name
29 more not listed
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 repository49 other files it gives its agents.
- AGENTS.mdAGENTS.md
- a11ySkill
- agents-mdSkill
- antislop-codeSkill
- antislop-copywritingSkill
- antislop-humanSkill
- antislop-layoutmobileSkill
- antislopSkill
- antislop-uiSkill
- askSkill
- audit-agentsSkill
- audit-choicesSkill
- audit-performanceSkill
- audit-testsSkill
- auto-researchSkill
- close-specSkill
- code-reviewSkill
- compare-screenshotsSkill
- debugSkill
- design-mdSkill
- design-with-imagesSkill
- document-codebaseSkill
- eli5Skill
- eval-skillsSkill
- explore-unknownsSkill
- handoff-specSkill
- implementSkill
- learnSkill
- marketing-pagesSkill
- memorySkill
- okf-contextSkill
- preview-shotsSkill
- quick-planSkill
- ratchet-filesSkill
- refactor-cleanSkill
- rememberSkill
- repoagent-doc-generationSkill
- retroSkill
- reviewSkill
- rtkSkill
- screenshot-critiqueSkill
- specifySkill
- spec-planSkill
- spec-tasksSkill
- statusSkill
- system-designSkill
- verifySkill
- write-skillsSkill
- write-testsSkill
The file
We split this skill into the rules it gives an agent
3 rules. 0 are common, 3 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 38 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 17
Keep — a reader cannot grep their way to these:
- Distinctive: line 48
Every fact has exactly one canonical home.
- Distinctive: line 68
When trimming an existing doc, delete on sight: enumerations of code-discoverable items, changelog and narrative, and any sentence that …
“Common” is measured: kept by at least 6 in 10 of the 38 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
Write 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 vs shed
Keep — a reader cannot grep their way to these:
- The WHY: why a thing exists, the principle behind a split, the taxonomy file names don't reveal.
- Non-obvious discoveries: platform quirks, "if you remove this, X breaks because Y", a contract two files silently share.
- Pointers to where things live, and what KIND of thing lives there plus the rule for what belongs.
Shed — the code or its git history already holds these, so a copy only rots:
- Exact rosters: scene names, scenario tables, helper lists, class ids, file lists, command/flag matrices.
- Narrative and changelog: "we renamed X", "the old Y was removed as a dup", what was tried and abandoned.
- Exact counts, tick values, current constants, line numbers — anything that just restates the code.
Point, don't transcribe
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.
One home per fact
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.
Link the tree, downward
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.
Edit pass
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.
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.

