Documentation
Trigger phrases: "documentation", "docs", "update README", "API docs", "write docs", "document it", "write usage"
Goal: the docs must match the code. Wrong/stale docs are worse than no docs (they inspire trust and mislead).
Trigger: when a public API, command, configuration, or user-visible behavior changes.
When it is mandatory
- A public function/endpoint/CLI signature or behavior changed.
- A new feature, configuration key, or environment variable was added.
- The install/run steps changed.
- A breaking change was made (also coordinate via
release/CHANGELOG).
Checklist
How
- Identify the changed surface — extract the public signature/behavior diff from the diff.
- Find the right doc — README,
docs/, docstring, OpenAPI, command --help. If there is more than one, update them all.
- Write: what it does · how it is called (example) · input/output · limits/error cases. Short and correct.
- Verify the examples — does the command/code example actually run.
- Clean up the old — delete references to removed APIs/parameters.
- Translation: if the user-visible doc is multilingual, coordinate with
i18n-integrity.
Principles
- Single source — behavior lives in the code; the doc explains it, does not copy it (a copied doc goes stale).
- Example > paragraph — a working example beats three paragraphs.
- Minimal — don't write a giant doc no one will maintain; answer the most-asked question.
Co-authoring a longer doc (guide, tutorial, README rewrite)
For a substantial doc the content lives in the author's head, not the diff — don't guess it. Interview for intent
and audience, draft in passes, and let the user steer before you polish. The collaborative workflow (audience/intent
questions, outline-first, section-by-section drafting, revision loop): references/coauthoring.md.
Invariant rules
- Correctness > completeness — don't write a wrong doc; if unsure, flag it/ask.
- Examples must work.
- Leave no stale/dead docs.
- No secret/real credential — use a placeholder (aligned with §4).
- Don't repeat the code — don't just copy the signature; explain the usage.
1---2name: docs-writer3description: Keeps documentation in sync with the code: README, usage and related docs when a public API or behavior changes. Leaves no dead or misleading docs behind.4---56# Documentation78<!-- routing-eval reads this line; it lives in the BODY so the always-on skill LISTING stays inside9 Claude Code's budget (1% of the context window) — an overflowing listing gets descriptions10 truncated or dropped, which strips the very keywords a match depends on. -->11Trigger phrases: "documentation", "docs", "update README", "API docs", "write docs", "document it", "write usage"1213Goal: the docs must **match the code**. Wrong/stale docs are worse than no docs (they inspire trust and mislead).14Trigger: when a public API, command, configuration, or user-visible behavior changes.1516## When it is mandatory17- A public function/endpoint/CLI signature or behavior changed.18- A new feature, configuration key, or environment variable was added.19- The install/run steps changed.20- A breaking change was made (also coordinate via `release`/CHANGELOG).2122## Checklist23- [ ] Docs are up to date for the changed public surface24- [ ] Examples **work** (copy-paste tested / mentally traced)25- [ ] Dead/misleading wording removed (no leftover old name/parameter)26- [ ] New configuration/env documented (default + whether required)27- [ ] Scope minimal — not a repetition of the code, but "why/how to use it"28- [ ] No secret/real credential in the docs (use a placeholder)2930## How311. **Identify the changed surface** — extract the public signature/behavior diff from the diff.322. **Find the right doc** — README, `docs/`, docstring, OpenAPI, command `--help`. If there is more than one, update them all.333. **Write**: what it does · how it is called (example) · input/output · limits/error cases. Short and correct.344. **Verify the examples** — does the command/code example actually run.355. **Clean up the old** — delete references to removed APIs/parameters.366. **Translation**: if the user-visible doc is multilingual, coordinate with `i18n-integrity`.3738## Principles39- **Single source** — behavior lives in the code; the doc *explains* it, does not copy it (a copied doc goes stale).40- **Example > paragraph** — a working example beats three paragraphs.41- **Minimal** — don't write a giant doc no one will maintain; answer the most-asked question.4243## Co-authoring a longer doc (guide, tutorial, README rewrite)44For a substantial doc the content lives in the author's head, not the diff — don't guess it. Interview for intent45and audience, draft in passes, and let the user steer before you polish. The collaborative workflow (audience/intent46questions, outline-first, section-by-section drafting, revision loop): **`references/coauthoring.md`**.4748## Invariant rules491. **Correctness > completeness** — don't write a wrong doc; if unsure, flag it/ask.502. **Examples must work.**513. **Leave no stale/dead docs.**524. **No secret/real credential** — use a placeholder (aligned with §4).535. **Don't repeat the code** — don't just copy the signature; explain the usage.