agentleFS
slowdinislowdini/slow-powers/skills/writing-technical-docs/SKILL.md

writing-technical-docs

Skill2 starsChanged 50 days agoMITView on GitHub

Use when writing or editing technical documentation of any size — code comments, doc blocks, commit messages, PR descriptions, review comments, READMEs, design docs, wikis, or user guides — whether drafting new content or revising existing text.

3 other projects use a version of this.

Adopted by

Most recently taken up by

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 3 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
  1. Distinctive:

    Before writing, decide who reads this and what register fits.

    line 26
  2. Distinctive:

    Verify the specific claims the doc will make — no more.

    line 57
  3. Distinctive:

    When a choice is hard, re-ask the audience question.

    line 76

“Common” is measured: kept by at least 6 in 10 of the 3 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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Writing technical docs

Overview

Technical writing runs through almost every development task: the README, the PR description, the doc comment, the design doc. This skill provides a repeatable writing process — audience, gather, structure, draft, review — whose depth scales with the doc, plus reference docs to consult for specific questions.

The scale rule: size every step of the process to the doc. A doc-block comment has a conventional structure and needs no outline; a one-line review comment needs no review checklist; an engineering blog post or design doc earns the full loop. When in doubt, do less — but the review step scales down, never to zero.

Not for: authoring skills (slow-powers:writing-skills owns the skill doc type and takes precedence; see Related skills), or non-documentation replies (chat answers, status updates).

Step 0: decide the audience and style

Before writing, decide who reads this and what register fits. This decision is the metric every later choice is checked against — structure, depth, terminology, tone. One line of thought for a comment; an explicit audience sentence near the top of a long doc. doc-types.md lists per-type audience and structure defaults; use them when the doc matches a type.

The process

flowchart TD
    start([Doc to write]) --> audience[Decide audience<br/>and style]
    audience --> gather[Gather only what<br/>the doc needs]
    gather --> structure{Conventional structure<br/>for this doc type?}
    structure -->|yes| use[Use it — done deciding]
    structure -->|no| outline[Outline; split large docs into<br/>self-contained sections]
    use --> draft[Draft for the audience,<br/>evergreen]
    outline --> draft
    draft --> review{Doc size?}
    review -->|small| spot[Reread once: evergreen,<br/>right for the reader]
    review -->|large| full[Review checklist +<br/>reference docs]
    spot --> done([Hand off])
    full --> findings{Actionable findings?}
    findings -->|yes| draft
    findings -->|no| done

Gather information

The goal is a good doc, not a thorough investigation. Collect only what the doc needs:

  • Reuse what the session already established; don't re-verify confirmed facts or re-read code you just wrote.
  • Verify the specific claims the doc will make — no more. If gathering starts to feel like its own research project, stop and write what you know; note genuine open questions in the draft instead.

Structure the doc

  • First check doc-types.md: if the doc matches a type, its conventional structure applies and this step is done. A doc-block comment has an exact structure; there is nothing extra to consider.
  • For a large doc, write the outline and treat each section as its own small doc — the process applies recursively: each section makes sense alone, and together they make sense combined.

Draft

This is the step where the skill has the least to say — you already write well. Two orientations, held as spirit, not boxes to tick:

  • Write for the step-0 audience. Depth, terms, and tone follow from who reads it. When a choice is hard, re-ask the audience question.
  • Write evergreen. Describe the system or topic as it is, not the session that produced the text: no "now supports", "currently", "the new parser", "I moved this into utils.ts". Assume the output lives for months; justify exceptions (release notes, changelogs) rather than assuming them. The word list and exceptions live in style-principles.md — skim it once, don't memorize it.

Review the draft

Review always happens; only its depth scales. A comment or one-paragraph doc gets a single reread through two lenses — is it evergreen? and is it right for this reader? A substantial doc (a page or more) earns the checklist:

- [ ] Audience and style: every section serves the reader decided in step 0; depth
      and terminology match what they know
- [ ] Evergreen: no time-anchored words ("now", "currently", "new", "soon"), no
      session narration, no promises of future features
- [ ] Claims: every performance, cost, or security claim is verifiable and sourced;
      no superlatives or guarantees
- [ ] Structure: follows the doc-type convention; headings nest without gaps; each
      section stands alone
- [ ] Formatting: code, commands, placeholders, lists, tables, and notices verified
      against references/formatting.md
- [ ] Links: each one necessary, descriptive, and resolving

Copy the checklist into your persistent task tracker when it applies. Judge each item — a real "not applicable" is a pass, a shrug is not. Keep findings actionable and verifiable: fix it or consciously drop it, but no open-ended style debates and no back-and-forth over taste.

The reference docs are review-time and lookup tools, not pre-draft reading. Open formatting.md when a content type appears in the doc; open style-principles.md to ground a style decision or a review finding. Consult the online source guides only for details that may have changed since these references were distilled.

Failure modes — both directions

FailureReality
"It's just a small doc — skip the process"The process scales down to seconds, never to zero. The two-lens reread is the floor.
Researching "a bit more" before writingGathering serves the doc. When it becomes its own investigation, write what you have.
Reading style guides before draftingReferences are for drafting lookups and review verification. Pre-draft reading is the time sink this skill exists to prevent.
Full checklist on a one-line commentOver-ceremony is as much a failure as no review. Scale is the rule.
Checklisting — justifying each item awayA rule satisfied in letter but not spirit was not applied. Weigh justifications or make the edit.
Narrating the session in the doc"I changed X", "this now works", "as of this PR" describe the edit, not the system. Describe the system.

Reference docs

FileRead it when…
references/style-principles.mdA style or tone question comes up while drafting; a review finding needs grounding; you need the evergreen word list.
references/formatting.mdA doc contains headings, lists, tables, procedures, notices, code, commands, placeholders, UI references, API comments, filenames, links, dates, or numbers — verify the formatting against it.
references/doc-types.mdDeciding a doc's structure or audience defaults: comments, commit messages, PRs, reviews, READMEs, design docs, release notes.

Related skills

  • slow-powers:writing-skills — the doc-type authority for skills: it owns skill structure, frontmatter, and skill-specific prose conventions (descriptions, rationalization-proofing, discipline framing). When writing a skill, this skill's style principles still govern the prose where writing-skills is silent — on any conflict, writing-skills takes precedence.
  • slow-powers:verifying-development-work — owns the review pass before handing back code changes; its comment-hygiene checks defer to this skill's evergreen rules.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.