Agent Skillsdzhng/skills › write-docs

write-docs

GitHub

指导撰写与维护项目文档,强调文档应作为原则指南而非代码镜像。通过保留非显而易见原理、剔除代码中已存在的细节,实现去重与结构化链接,确保文档准确且不随代码变更而失效。

skills/engineering/write-docs/SKILL.md dzhng/skills

Trigger Scenarios

创建或修订 README 文档罗列了代码中已有的具体场景、类ID或文件列表 需要修剪文档中的叙述性或变更日志内容 文档间存在重复内容需去重并建立层级链接

Install

npx skills add dzhng/skills --skill write-docs -g -y
More Options

Non-standard path

npx skills add https://github.com/dzhng/skills/tree/main/skills/engineering/write-docs -g -y

Use without installing

npx skills use dzhng/skills@write-docs

指定 Agent (Claude Code)

npx skills add dzhng/skills --skill write-docs -a claude-code -g -y

安装 repo 全部 skill

npx skills add dzhng/skills --all -g -y

预览 repo 内 skill

npx skills add dzhng/skills --list

SKILL.md

Frontmatter
{
    "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."
}

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.

Version History

  • c795702 Current 2026-09-08 17:34

Same Skill Collection

skills/authoring/eval-skills/SKILL.md
skills/authoring/write-skills/SKILL.md
skills/engineering/audit-performance/SKILL.md
skills/engineering/claude/SKILL.md
skills/engineering/code-review/SKILL.md
skills/engineering/codex/SKILL.md
skills/engineering/eli5/SKILL.md
skills/engineering/implement-spec-with-codex/SKILL.md
skills/engineering/implement-spec/SKILL.md
skills/engineering/marketing-pages/SKILL.md
skills/engineering/refactor-clean/SKILL.md
skills/engineering/review/SKILL.md
skills/engineering/write-tests/SKILL.md
skills/graphics/renderer/SKILL.md
skills/visual/compare-screenshots/SKILL.md
skills/visual/preview-shots/SKILL.md
skills/visual/screenshot-critique/SKILL.md
skills/engineering/audit-choices/SKILL.md
skills/engineering/close-spec/SKILL.md
skills/engineering/explore-unknowns/SKILL.md
skills/engineering/write-spec/SKILL.md

Metadata

Files
0
Version
c795702
Hash
522d8171
Indexed
2026-09-08 17:34

inicio - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-09-09 01:30
浙ICP备14020137号-1 $mapa de visitantes$