docs-writing
Skill76 starsChanged 2 months agoMITView on GitHub
Load to write, rewrite, or review repository markdown or documentation HTML: README, DEVELOPMENT, architecture docs, reference docs, SKILL.md and AGENTS.md.
15 other projects use a version of this.
Adopted by
Most recently taken up by
- Pasta-Devs/Marinara-Enginetheir own version, first seen Nov 8, 2026
- stigmer/stigmertheir own version, first seen Nov 8, 2026
- onyx-dot-app/onyx-fosstheir own version, first seen Nov 1, 2026
- ragna-ai/ragna-studiotheir own version, first seen Nov 1, 2026
- onyx-dot-app/onyxtheir own version, first seen Nov 1, 2026
- treq-dev/treqtheir own version, first seen Oct 25, 2026
Other versions15 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 15
- onyx-dot-app/onyx★ 33ksame name
- typescript-eslint/typescript-eslint★ 16ksame name
- unkeyed/unkey★ 5.5ksame name
- Pasta-Devs/Marinara-Engine★ 765same name
- railwayapp/docs★ 322same name
- onyx-dot-app/onyx-foss★ 320same name
- rust-dd/tako★ 175same name
- MystenLabs/ts-sdks★ 97same name
- stigmer/stigmer★ 9same name
- gustavovalverde/skills★ 8same name
5 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 repository38 other files it gives its agents.
- AGENTS.mdAGENTS.md
- crates/AGENTS.mdAGENTS.md
- .github/AGENTS.mdAGENTS.md
- hooks/AGENTS.mdAGENTS.md
- pi-extensions/AGENTS.mdAGENTS.md
- skills/AGENTS.mdAGENTS.md
- tools/AGENTS.mdAGENTS.md
- ui/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- crates/CLAUDE.mdCLAUDE.md
- .github/CLAUDE.mdCLAUDE.md
- hooks/CLAUDE.mdCLAUDE.md
- pi-extensions/CLAUDE.mdCLAUDE.md
- skills/CLAUDE.mdCLAUDE.md
- tools/CLAUDE.mdCLAUDE.md
- ui/CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- app-deploySkill
- bot-instructionsSkill
- code-qualitySkill
- commit-guardsSkill
- deciderSkill
- deep-researchSkill
- dep-radarSkill
- devSkill
- doc-limitsSkill
- githubSkill
- iced-rsSkill
- kendex-issuesSkill
- linearSkill
- orchSkill
- preflightSkill
- price-handlingSkill
- project-managementSkill
- reviewerSkill
- review-gateSkill
- second-opinionSkill
- worktreeSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
23 rules. 0 are common, 14 are distinctive, and 9 are very specific to this project.
0
Common
Most of the 15 edited versions we read keep these.
14
Distinctive
This author's own choices. Worth a look.
9
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 36
Write short sentences. Put one idea in each sentence.
- Distinctive: line 37
Use active voice and name the actor.
- Distinctive: line 38
Use plain words. Basic technical terms are fine: CLI, API, repo, PR, hook, lock, glob.
- Distinctive: line 39
Use one term per thing, the same term every time.
- Distinctive: line 41
Write a heading that names the subject.
- Distinctive: line 42
Write in the present tense.
- Distinctive: line 43
Delete sales language, quips, metaphors, and hedges.
- Distinctive: line 44
Delete a sentence nothing acts on.
- Distinctive: line 60
Read by a person choosing or using the package or repo.
- Distinctive: line 71
Read by a maintainer, human or agent, working on the package itself.
- Distinctive: line 82
Read by an agent or maintainer before structural work.
- Very specific: line 93
Read on demand for one subsystem.
- Very specific: line 101
Read by an agent or maintainer looking up one value.
- Very specific: line 111
Read from docs/ in a browser.
- Very specific: line 116
Keep pictures and tables in HTML, decisions and costs in markdown.
- Very specific: line 118
Follow doc-limits policy and verify relative href targets with md-refs.
- Distinctive: line 122
Read by an agent on every load.
- Distinctive: line 131
Read by every harness at the start of every session, at the repository root.
- Very specific: line 145
Never hand-write it, a .claude/rules file, or any other harness-specific instruction file.
- Very specific: line 150
Read when opened. The format, templates, and workflows are the decider skill's.
- Very specific: line 152
Follow ../decider/SKILL.md.
- Very specific: line 163
Every relative link, <path>.md § Heading or <path>.md#anchor citation, and decision ID resolves.
- Distinctive: line 165
Document byte limits and exceptions follow doc-limits policy.
“Common” is measured: kept by at least 6 in 10 of the 15 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
<!-- kendex:project-instructions:start -->Project Instructions
<!-- kendex:shared-instructions:start -->Problems with a kendex-owned skill go through kendex report; check ownership in the file first.
<!-- kendex:shared-instructions:end --><!-- kendex:project-instructions:end -->Docs Writing
A repository's markdown holds what the code cannot show: invariants, layer boundaries, decisions with their reason, conventions that differ from tool defaults, and pointers to canonical code and to the test that proves a claim. Everything else lives in the code, the tests, and git history.
This skill governs repository markdown and documentation HTML. It states one writing standard, then what each file type is for and what it must not carry.
Two exclusions hold in every file: a list a declaration file or a checker already holds is not copied into prose, and a claim that a checker enforces something names the checker.
The standard
- Write short sentences. Put one idea in each sentence.
- Use active voice and name the actor. Say what the code does, not what is done.
- Use plain words. Basic technical terms are fine: CLI, API, repo, PR, hook, lock, glob.
- Use one term per thing, the same term every time.
- State each fact once. Point at the first statement instead of repeating it.
- Write a heading that names the subject. A heading never makes a claim.
- Write in the present tense. A rule states what holds.
- Delete sales language, quips, metaphors, and hedges.
- Delete a sentence nothing acts on.
| Instead of | Write |
| A value you set is never overwritten and one you deleted is never put back. | kendex does not overwrite a value you set, and does not restore a value you removed. |
| ## What you can count on | ## Features |
| Simply run the apply command and you are good to go. | Run kendex apply. |
| One place your whole setup finally lives, in harmony across every tool. | kendex installs packages into the directories each tool reads. |
| It is generally recommended that callers should probably check the result. | Check the result. |
Per file type
Each list says who reads the file, what it holds, and what it excludes. A file carries only what its list permits.
README.md
Read by a person choosing or using the package or repo.
- What it is and who it is for, in two or three sentences.
- Install: the one command, or a bullet or table row per platform or method where more than one exists.
- One section named Features, with one plain feature per bullet. No Guarantees or What you can count on section. Use plain noun headings throughout, such as Install, Features, How it works, Supported tools, and Settings.
- How it works: three to six plain sentences or bullets naming the parts the user meets and what happens in order. Every sentence must make sense without reading the code.
- Where to customise: the settings a reader sets, and the file each is set in.
- Excluded: internal vocabulary, coined phrases, metaphors, product voice, invariants, detailed internals, rationale, history, and a command listing
--helpalready gives.
DEVELOPMENT.md
Read by a maintainer, human or agent, working on the package itself.
- The mechanics a maintainer needs and the layout of the code.
- Ordering and compatibility constraints the code cannot show.
- How to run, test, and debug the package.
- The test strategy: what each suite proves.
- Excluded: anything the code, the tests,
--help, or the README already states, and any architecture narration. - A file left with nothing load-bearing is deleted, and any surviving line moves to the README.
docs/architecture/overview.md
Read by an agent or maintainer before structural work. One per repository.
- The one idea every part projects, in one paragraph.
- Vocabulary: one line per term the code uses with a meaning a reader could get wrong.
- Layer boundaries: what each layer may depend on and what it may never contain.
- Invariants, one line each, with the test or check that enforces it.
- An index of the topic files, each with the condition that sends a reader there.
- Excluded: directory layouts, file-by-file descriptions, behaviour walkthroughs, command listings, CI topology, and step-by-step flows.
docs/architecture/<topic>.md
Read on demand for one subsystem. The doc-drift-check hook names it when covered code changes.
- A
Covers:line naming the paths it describes. A plain repo-relative path covers that file or directory. A shell glob matches the full path, with*crossing/. - The same content kinds as the overview, for one subsystem.
- A topic file exists only where a subsystem has invariants or boundaries of its own. A subsystem with none is a line in the overview.
Reference docs
Read by an agent or maintainer looking up one value. Any lookup document: references/, schemas/, patterns/, a named file such as CHECKS.md, or one under docs/.
- Tables and lists. One row per item.
- The value or the shape the contract fixes, its meaning, and its default.
- The semantics a reader needs to produce or consume that shape, and no more.
- Excluded: rationale, and narrative that defines nothing.
- A file under
references/exists only where a named workflow loads it on demand.
Documentation HTML
Read from docs/ in a browser. Apply the standard, repository writing rules and companion markdown's file type. Website pages served from a web root or built by a bundler are excluded.
- One offline file:
<title>, one<h1>,<h2>sections and tables. No framework, build step, external scripts or stylesheets. - Diagram each flow, topology or lifecycle with inline SVG,
role="img"and a sentence inaria-label. Use the markdown's terms. Prose adds only what the diagram cannot show. - Define each unfamiliar term once, at first use, with a hover tooltip such as
<span class="term" title="…">. Use one plain sentence. - Keep pictures and tables in HTML, decisions and costs in markdown. Link both ways and commit the pair together. Declare
<!-- Covers: companion.md -->fordoc-drift-check. - Related pages share
<nav class="tabs">links. Mark the current page withclass="here". - Follow doc-limits policy and verify relative
hreftargets withmd-refs.
SKILL.md, workflows/*.md, agents/*.md
Read by an agent on every load.
- The shortest unambiguous rule, and the commands.
- Excluded: mechanics, rationale, history, and worked examples.
- A rule another file owns is cited, never restated.
- Rationale moves to
DEVELOPMENT.mdor a decision record.
AGENTS.md
Read by every harness at the start of every session, at the repository root.
- A map, not a manual: what the repo is in two or three sentences.
- Everything a Codex session must know, because Codex reads only the root-to-cwd chain of
AGENTS.mdfiles, at launch, under a 32 KiB combined cap. - The commands that are not discoverable from the tooling itself.
- The conventions that differ from a tool default or a language norm.
- One line per deeper doc, saying when to read it.
- A nested
AGENTS.mdholds the conventions and invariants local to its directory, and stays small. - Excluded: anything derivable from the code.
CLAUDE.md
The harness shim. kendex writes it, and its whole content is one import line.
- Never hand-write it, a
.claude/rulesfile, or any other harness-specific instruction file. kendex apply,kendex refreshandkendex verifywrite and check it, and it is committed.
Decision records
Read when opened. The format, templates, and workflows are the decider skill's.
- Follow
../decider/SKILL.md. This skill ships no second template and states no second format. - Architecture docs cite a decision by ID and never restate it.
CHANGELOG.md and changelog.d/
The changelog-entries lane owns the shape. Follow the repository's changelog.d/README.md.
Format
- Docs change in the same commit as the code they describe. The
doc-drift-checkhook names the unchanged covering docs to the agent and blocks that stop once per set. - One paragraph per line, one list item per line, no hard wraps inside either. Blank lines separate paragraphs, list blocks, headings, and fences. Tables and fenced code stay as written. The commit-guards
md-formatlane enforces it andmd-reflowconverts a file once. - Every relative link,
<path>.md § Headingor<path>.md#anchorcitation, and decision ID resolves. Themd-refslane checks them. - Agent-loaded markdown carries no history. The
proselane checks it. - Document byte limits and exceptions follow doc-limits policy.
- A rule a shipped kendex package states is never restated in the repo's own markdown. The repo installs the package and customises through
kendex.toml.
Writing
Rewrite from a blank page, never by editing the old text: workflows/rewrite.md.
Templates: README.md, DEVELOPMENT.md, overview.md, topic.md, reference.md, document.html, agent-SKILL.md, root-AGENTS.md, nested-AGENTS.md.
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.

