agentleFS
mDevsLabsmDevsLabs/Skills/skills/technical-writing-editor/SKILL.md

technical-writing-editor

Skill2 starsChanged 4 months agoMITView on GitHub

Edits technical documentation for clarity, structure, accuracy and consistent voice while preserving the author's meaning, then explains every substantive change. Use when the user asks to review, edit, tighten, restructure or proofread a README, API doc, tutorial, runbook, RFC, changelog, error message or release note, or wants feedback on technical writing quality.

1 other project uses a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

5 rules. About 0 are common, 3 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Never invent technical facts: If a command, flag, version or behaviour is unverifiable, flag it as [VERIFY] rather than guessing.

    line 26
  2. Distinctive:

    Preserve meaning: If a sentence is ambiguous, ask or annotate — do not pick an interpretation silently.

    line 28
  3. Distinctive:

    Treat the output as a list of candidates, not verdicts: passive voice is sometimes correct, and a long sentence can be the clearest option.

    line 71
  4. Very specific:

    Every claimed default value marked [VERIFY] unless present in the source text.

    line 97
  5. Distinctive:

    If the document is >2 000 words, edit section by section and confirm the approach with the user after the first section.

    line 122

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “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

Technical Writing Editor

Edit like a senior docs engineer: ruthless about clarity, conservative about meaning.

When to use

Any technical prose that another human must act on. Not for marketing copy, fiction, or academic papers with rigid style requirements.

Non-negotiable rules

  1. Never invent technical facts. If a command, flag, version or behaviour is unverifiable, flag it as [VERIFY] rather than guessing.
  2. Preserve meaning. If a sentence is ambiguous, ask or annotate — do not pick an interpretation silently.
  3. Preserve the author's voice unless the user asked for a voice change.
  4. Never delete content you merely find unnecessary — mark it as a suggested cut.

Workflow

1. Identify the document type and its job

TypeReader's goalOptimise for
READMEDecide + get started in 5 minValue prop in 2 lines, copy-pasteable quickstart
TutorialLearn by doingLinear, one path, working end state, no branching
How-to guideSolve one task nowTask-titled, prerequisites first, numbered steps
ReferenceLook up a detailExhaustive, alphabetical/structural, uniform entries
ExplanationUnderstand whyContext, tradeoffs, diagrams, no step lists
RunbookFix prod at 3 a.m.Symptom → check → action, zero ambiguity, rollback
RFC / design docGet a decisionProblem, constraints, options, tradeoffs, recommendation
ChangelogKnow what changedGrouped by Added/Changed/Fixed/Removed, breaking changes first
Error messageUnblock immediatelyWhat happened, why, exactly what to do next

Mixing types is the most common structural defect. Split them.

2. Structural pass (do this before touching sentences)

  • Does the first paragraph state what this is and who it is for?
  • Is the most important information first? (Inverted pyramid.)
  • Are prerequisites stated before the steps that need them?
  • Is every heading a scannable, descriptive noun phrase or task?
  • Are there ≥3 consecutive dense paragraphs? Convert to a list or table.
  • Is a >4-branch conditional written as prose? Convert to a decision table.
  • Does the document end with next steps, troubleshooting or related links?

2b. Measure before editing

python3 scripts/readability.py doc.md --format md --max-sentence 30

It reports Flesch reading ease, Flesch-Kincaid grade and Gunning fog, then flags long sentences, likely passive voice, hedging, banned words, undefined acronyms, non-descriptive link text, unlabelled code fences and directional references.

Treat the output as a list of candidates, not verdicts: passive voice is sometimes correct, and a long sentence can be the clearest option. Re-run after editing to confirm the direction of travel.

3. Sentence pass

PatternReplace with
Passive with hidden actor — "The config is loaded""The server loads the config"
Nominalisation — "perform a validation of""validate"
Hedging — "it should probably generally work"State the condition precisely
Vague quantity — "large", "quickly", "many""> 10 MB", "< 200 ms", "up to 50"
Empty opener — "It is important to note that"Delete
Future tense for behaviour — "the API will return""the API returns"
"Simply", "just", "obviously", "easy"Delete — they shame the stuck reader
Ambiguous pronoun — "this causes it to fail"Name the subject
Stacked modifiers — "the legacy user auth token cache layer"Rewrite with prepositions
Sentence > 30 wordsSplit at the conjunction
"and/or"Pick one, or say "either, or both"

4. Technical accuracy pass

  • Commands: correct flags, correct order, safe to paste, no destructive surprise.
  • Code blocks: language tag present, runnable, imports included, output shown.
  • Placeholders in one consistent style (<your-api-key>), never a real-looking secret.
  • Paths, env vars, versions and product names capitalised exactly as upstream.
  • Every claimed default value marked [VERIFY] unless present in the source text.
  • Links: descriptive text, not "click here"; no bare URLs in body prose.

5. Consistency pass

Build a mini style sheet from the document itself and enforce it: terminology (pick one of "user"/"customer"/"account"), capitalisation, Oxford comma, code-formatting of identifiers, list punctuation, tense, person, number formats, date format (prefer ISO 8601).

6. Accessibility and inclusion

Meaningful alt text; no colour-only meaning; no directional-only references ("above"/"below" → link to the section); no idioms that fail for non-native readers; main/allowlist/blocklist/primary-replica terminology.

Output format

Return, in this order:

  1. Verdict — one paragraph: what the doc does well, the top three problems.
  2. Edited document — the full clean version, ready to paste.
  3. Change log — table of substantive edits and why (skip trivial typos).
  4. Open questions — every [VERIFY] and ambiguity, as direct questions.

If the document is >2 000 words, edit section by section and confirm the approach with the user after the first section.

Tools

ScriptUse
scripts/readability.pyGrade-level metrics plus style, structure and accessibility flags
assets/style-sheet.mdFill-in style sheet to enforce consistency across a doc set
python3 scripts/readability.py README.md --format md
python3 scripts/readability.py docs/ --min-severity warning

Worked example

Before

It should be noted that the configuration file will be loaded by the system at startup time, and if it is not found then an error is thrown and it exits. Users should simply make sure that it is placed in the right location.

After

At startup, the server reads config.yaml from the working directory. If the file is missing, the server logs FATAL: config not found and exits with status 1.

Place config.yaml in the directory you run the binary from, or set APP_CONFIG_PATH to an absolute path. [VERIFY: env var name and exit code]

Why: named the actor and the file; removed "it should be noted" and "simply"; replaced "the right location" with the actual rule; made the failure observable.

Quality checklist

  • readability.py run before and after; metrics moved in the right direction
  • Meaning unchanged everywhere, or the change is flagged
  • No invented facts; all uncertainties marked [VERIFY]
  • A newcomer can complete the primary task without external context
  • Every code block is copy-pasteable and language-tagged
  • Terminology consistent throughout
  • No "simply", "just", "obviously", "easy"
  • Headings scannable; document skimmable in 30 seconds
  • Change log explains the why, not only the what

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.