agentleFS
stormlightlabsstormlightlabs/mire/.claude/skills/writing-docs/SKILL.md

writing-docs

Skill1 starsChanged 18 days agoApache-2.0View on GitHub

Write, revise, and deslop documentation for this repository in plain technical English. Use for internal plans and specs, README, skills, error messages, and any prose where AI writing tells, density, or readability matter.

22 other projects use a version of this, 1 of them edited.

Adopted by

Most recently taken up by

Used with

Projects with it also use pr-description, triage and 4 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.
  • MicrosoftSkill

    pr-description

    Draft Nacelle PR titles, pull request descriptions, commit titles, commit descriptions, and squash commit messages. Use when asked for PR or commit wording, a branch summary, or a PR description that can be used in a commit. Omit validation sections from commit bodies and remove filler.

    Also in 3 projects that use this

  • Google CloudSkill

    triage

    Gather context on a change or bug and plan the implementation.

    Also in 3 projects that use this

  • GoogleSkill

    prototype

    Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.

    Also in 3 projects that use this

  • GoogleSkill

    grilling

    Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to stress-test their thinking, or uses any 'grill' trigger phrases.

    Also in 3 projects that use this

  • MicrosoftSkill

    release

    Use ONLY when the user explicitly asks to cut/publish a Huabu desktop release or tag a version. Performs an outward action — bumps the version in apps/desktop/package.json, commits + annotated-tags vX.Y.Z, and pushes the branch + tag. That tag push auto-builds the macOS/Windows installers and publishes a GitHub Release. Provides `status`, `bump`, `tag-push`, and a one-command `run` (bump → tag-push).

    Also in 4 projects that use this

  • +1 more from google

The file

We split this skill into the rules it gives an agent

10 rules. 0 are common, 9 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 21 edited versions we read keep these.

  • 9

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Write like a person choosing words for a reader.

    line 8
  2. Distinctive:

    Never drop a fact, a number, a limit, or a qualifier to reach a target.

    line 87
  3. Distinctive:

    Use this mode by default.

    line 97
  4. Distinctive:

    Use one term for one thing.

    line 99
  5. Distinctive:

    Prefer short common words and plain verbs.

    line 100
  6. Distinctive:

    Put the actor before the action when the actor matters.

    line 102
  7. Distinctive:

    Use active voice when it clarifies responsibility.

    line 106
  8. Very specific:

    Read references/tells.md for the full catalog and repository-specific examples.

    line 112
  9. Distinctive:

    Check the soft limits and the length target, and restructure where one is exceeded.

    line 145
  10. Distinctive:

    Read for rhythm, parallel lists, and clear pronoun referents.

    line 147

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

Write like a person choosing words for a reader. Keep every fact, number, qualifier, and identifier. Remove whatever does not help.

This applies to the chat response as well as the file being edited.

Soft limits

These are warnings that something needs restructuring, not reasons to delete information. Exceed one when the content requires it and the result still reads cleanly.

LimitTargetWhat exceeding it usually means
Line width80 charactersReflow. Tables and links may exceed.
Sentence25 wordsTwo ideas in one sentence. Split them.
Paragraph5 sentencesMore than one topic. Split or cut.
Section before a heading40 linesThe section needs subheadings or is doing too much.
Consecutive bullets9The list is a table, or it needs grouping.
Table columns4The table is prose in disguise.
Heading depth3 (###)The document needs splitting.
Code block25 linesShow the relevant span and link to the source.

Prose paragraphs should outnumber tables and lists in any document that explains something. A page of nothing but tables is a reference, not an explanation; say which one you are writing.

Document length

The soft limits above govern a sentence, a paragraph, and a section. None of them stops a document from growing past what a reader will finish. Match the length to what a reader has to do with the document, and check it against these targets.

Count lines only where something wraps them. A file wraps at 80, a commit body at 72, a terminal at its width. Everything GitHub renders, such as a pull request body, a comment or an issue, is soft-wrapped, so one paragraph is one line and a line count measures nothing. Those are counted in words.

TextUnitTarget
Error messagelines2
Pull request titlecharacters60
Pull request bodywords150
Review commentwords200
Edit replywords150
Any other pull request commentwords100
Issue bodywords250
Chat replylines20
Command or agent definitionlines40
SKILL.mdlines200
Docs page, README, internal speclines300

The pull request title and number are the subject of the squash commit on main, such as Add Pi dispatch (#21). The body above its <!-- fabrial:footer line becomes the squash body, followed by a Merged from line and the owner's trailer. Keep the body to what changed and why, and put verification in a pull request comment.

A reference page that enumerates a surface, every configuration key or every flag, grows with that surface and is the usual exception. It still needs headings a reader can jump between.

A chat reply is held to its target like anything else. A long answer in chat is a document with no home: nobody can find it again, and the length hides which sentence held the decision. When a reply wants to exceed the target, write the file instead and answer with where it went.

A reader looking for one answer should reach it without reading the rest. When a document passes its target, cut in this order:

  1. Anything the code, the tests, or --help already states. Link to it.
  2. Anything another document states. One fact has one home; every other mention links to that home.
  3. Background the audience already has.
  4. Examples past the first one that shows the shape.

Split only after cutting. A split that sends one reader to two files costs more than the length did, so split by audience or by task, never by size alone.

Never drop a fact, a number, a limit, or a qualifier to reach a target. A document whose facts do not fit is more than one document.

A comment is the exception, because it is a reply rather than a record. When a review comment does not fit, cut a finding and say how many you left out; do not compress ten findings into denser prose. The reader can ask for the rest, and the tenth nit was never what the length was for.

Plain technical prose

Use this mode by default.

  • Use one term for one thing. Do not cycle through synonyms.
  • Prefer short common words and plain verbs. Use the verb, not the nominalization: "parse the config," not "perform parsing of the config."
  • Put the actor before the action when the actor matters.
  • Give each paragraph one topic. Put conditions before the instruction they govern.
  • State the point before its evidence, once.
  • Use active voice when it clarifies responsibility. Keep passive voice when the actor is unknown or deliberately backgrounded.
  • Name sources, limits, and observable behavior.

Deslop rules

Read references/tells.md for the full catalog and repository-specific examples.

The tells that appear most often:

  • Bold-first bullets used as the default pattern. Use them only when the bolded span is a real term being defined.
  • not X, but Y and its variants, repeated.
  • Closing sections that restate what the document already said.
  • Words that name a judgment instead of a property: load-bearing, the whole point, worth noting, crucially, seamless, robust.
  • bounded without a stated limit, contract for anything that is not a formal API or schema, boundary for anything that is not an edge.
  • Em dashes used repeatedly for emphasis.
  • Tricolons, anaphora, and one-line slogans.

One instance of any of these can read as a human voice. Repetition is the tell.

Repository conventions

  • Sentence case for new headings.
  • Claims in research notes carry a confidence caveat. Do not strip it while editing for style.
  • references/tells.md quotes the tells it teaches. Leave its examples as they are.

Editing method

  1. Identify the audience, the purpose, and which mode applies.
  2. Mark the facts, conditions, numbers, and qualifiers that must survive.
  3. State each point once, before its support.
  4. Cut preambles, duplication, filler, and template endings.
  5. Replace abstractions and nominalizations with concrete nouns and verbs.
  6. Check the soft limits and the length target, and restructure where one is exceeded.
  7. Read for rhythm, parallel lists, and clear pronoun referents.

For a small edit, change the smallest useful span. For a rewrite, preserve every fact unless the user authorizes substantive changes.

Check before returning

  • Does the first sentence answer instead of announce?
  • Does each claim appear once, before its evidence?
  • Can any paragraph disappear without losing a fact?
  • Is the document inside its length target? If not, what did the extra length buy the reader?
  • Does every same, this, and existing have a clear referent?
  • Are limits, sources, and failure behavior named rather than implied?
  • Did one trope recur enough to become visible?
  • Does the ending stop, or explain that it has ended?
  • Did a style rule damage accuracy or clarity? If so, break the rule.

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.