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
- sandraschi/advanced-memory-mcptheir own version, first seen Oct 24, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- sandraschi/advanced-memory-mcp★ 19same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository13 other files it gives its agents.
- AGENTS.mdAGENTS.md
- accessibility-auditorSkill
- contract-reviewerSkill
- csv-data-profilerSkill
- dependency-auditorSkill
- git-workflow-assistantSkill
- meeting-notes-to-actionsSkill
- prompt-engineering-optimizerSkill
- release-notes-generatorSkill
- rest-api-designerSkill
- security-code-reviewSkill
- sql-query-optimizerSkill
- web-research-synthesizerSkill
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
- Very specific: line 26
Never invent technical facts: If a command, flag, version or behaviour is unverifiable, flag it as [VERIFY] rather than guessing.
- Distinctive: line 28
Preserve meaning: If a sentence is ambiguous, ask or annotate — do not pick an interpretation silently.
- Distinctive: line 71
Treat the output as a list of candidates, not verdicts: passive voice is sometimes correct, and a long sentence can be the clearest option.
- Very specific: line 97
Every claimed default value marked [VERIFY] unless present in the source text.
- Distinctive: line 122
If the document is >2 000 words, edit section by section and confirm the approach with the user after the first section.
≈ “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.
Files
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
- Never invent technical facts. If a command, flag, version or behaviour is
unverifiable, flag it as
[VERIFY]rather than guessing. - Preserve meaning. If a sentence is ambiguous, ask or annotate — do not pick an interpretation silently.
- Preserve the author's voice unless the user asked for a voice change.
- Never delete content you merely find unnecessary — mark it as a suggested cut.
Workflow
1. Identify the document type and its job
| Type | Reader's goal | Optimise for |
| README | Decide + get started in 5 min | Value prop in 2 lines, copy-pasteable quickstart |
| Tutorial | Learn by doing | Linear, one path, working end state, no branching |
| How-to guide | Solve one task now | Task-titled, prerequisites first, numbered steps |
| Reference | Look up a detail | Exhaustive, alphabetical/structural, uniform entries |
| Explanation | Understand why | Context, tradeoffs, diagrams, no step lists |
| Runbook | Fix prod at 3 a.m. | Symptom → check → action, zero ambiguity, rollback |
| RFC / design doc | Get a decision | Problem, constraints, options, tradeoffs, recommendation |
| Changelog | Know what changed | Grouped by Added/Changed/Fixed/Removed, breaking changes first |
| Error message | Unblock immediately | What 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 30It 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
| Pattern | Replace 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 words | Split 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:
- Verdict — one paragraph: what the doc does well, the top three problems.
- Edited document — the full clean version, ready to paste.
- Change log — table of substantive edits and why (skip trivial typos).
- 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
| Script | Use |
scripts/readability.py | Grade-level metrics plus style, structure and accessibility flags |
assets/style-sheet.md | Fill-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 warningWorked 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.yamlfrom the working directory. If the file is missing, the server logsFATAL: config not foundand exits with status 1.Place
config.yamlin the directory you run the binary from, or setAPP_CONFIG_PATHto 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.pyrun 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
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
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.

