
reviewing-technical-prose
Use when reviewing, rewriting, or editing someone else's technical text, when writing a review report on a document, or as the final check before delivering any document. Encodes the severity mapping, the findings format, the what-not-to-flag list, and the delivery checklist. Use before any document ships, even when it looks fine.
- Installs
- 18.6K
- Last 24h
- +424
- Trending rank
- #728
- Security
- Pass
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/riekelt/technical-writer --skill reviewing-technical-prose- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads reviewing-technical-prose automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
Security audits
Independent scans of the skill's instructions and bundled files.
SKILL.md
The instructions your agent reads when the skill is triggered.
Reviewing technical prose
REQUIRED BACKGROUND: the technical-writing skill, including references/style.md (banned constructions) and references/truth.md (claim rules).
Overview
Editing is diagnosis. Every edit names the concrete defect it fixes; the smallest edit that fixes it wins. Rewriting natural or approved language without a named defect is itself a defect.
Review the full document, never a summary of it.
When to invoke, and not
Invoke when reviewing or rewriting someone else's technical text, when producing a findings report on a document, and as the final pass before delivering anything you wrote yourself. Do NOT invoke for code review (only the prose in it), and do not use a review pass to relitigate settled decisions, expand scope, or restyle a document onto your own preferences.
Severity mapping
- BLOCKER: hard-rule violations (banned dashes, changelog sections, delivery history in prose) and any claim the cited source does not support or that traces to nothing.
- WARNING: banned constructions, structural defects (question headings, buried conclusions, rearrangeable paragraphs), and claims supported only loosely.
- OBS: ambiguity, missing polish, and anything an attentive author would likely catch.
Rewriting someone else's text
One requirement above all rules: the content stays identical. Work in this order:
-
Read the source. Mark every banned construction and word-choice violation.
-
Write a version. Read it aloud.
-
Ask three control questions:
- Which sentence still sounds like a language model?
- Did the rewrite add or drop a fact, number, date, name, source, or claim?
- Does the rewrite recreate a removed pattern in a new rhetorical form?
Re-scan the rewritten paragraph as if it were source text.
-
Repair what the control questions surface. An addition and a loss both count as errors, even when the text reads better for it.
Never add a fact to finish a sentence: ask the author or pick a simpler sentence. If a sentence stays wooden after two attempts, rewrite the whole paragraph around its main point. Change only running prose: code blocks, frontmatter, table data, and link targets stay as they are.
- The rewrite keeps the document's language. A Dutch document comes back in Dutch, with the structural and truth rules applied as always; the English-specific vocabulary checks are replaced by that language's own list where one exists.
- When the author is reachable, the diff is the proposal. Show the rewrite before overwriting their text. Unattended in a repository, the commit is the proposal and review does the same job.
When the source text asserts nothing recoverable (setups, glosses, meaning-sentences), the correct rewrite is deletion plus a marked gap (**[input wanted: <the claim the sentence should make>]**, the claim-level sibling of the core skill's **[source wanted: ...]**) where a real claim should stand. A rewrite full of marked gaps is the intended outcome for claim-free source text, not a failure.
Findings to leave alone
The banned-constructions list proves nothing by itself; every pattern also occurs in good human writing. Flag only when several signs coincide in the same paragraph.
- Polished grammar and consistent formatting.
- One repeated sentence opening: fix only when the repetition adds nothing.
- One short sentence for emphasis: only a row of fragments is a problem.
- Formal words in general: the list names specific words; not every formal word needs simplifying.
- A factual contrast: "the pipeline sets the tag, the developer does not" is a statement, not antithesis.
- A serious alternative the reader would genuinely weigh: it belongs in the document.
- Qualifiers that bound something: scope, assumptions, and safety or legal notes stay. Only the stacking goes.
- A reference to the previous situation in a migration doc or release note: there the change IS the subject.
- A quoted word: never rewrite inside a citation, a title, or an example that discusses the word.
- Metaphor that explains: only the decoration around it goes.
- Deliberate awkwardness: a clear fragment or lopsided sentence is not a defect merely because it could be polished.
Review reports
- Verdict in the first line, findings ordered most severe first.
- Severity vocabulary defined in the report that uses it: BLOCKER (cannot proceed), WARNING (likely rework; fix but not blocking), OBS (worth noting).
- Every finding: one sentence stating the defect, a location (
file:line, section, task ID), a proposed fix, and a confidence level. - A named empty case ("FINDINGS: none").
- A document claim contradicted by the code is a defect in the document; report it with the conflicting source. An unrelated bug noticed in passing is not your finding.
- Re-reviews list only what remains.
- Acknowledge what is good.
Delivery checklist
Before any document goes out:
- Matched to the existing documents in the same directory, and added to the
README.mdindex if one exists - No em dashes, en dashes, or
--; no changelog section or "last updated" field; no ticket keys, phases, or SHAs in prose - No banned constructions (the
technical-writingskill'sreferences/style.md); check at least the summary and the closing paragraphs - Headings name the content: no question forms, no "What X means", no heading repeated in its first sentence
- Conclusion first at document, chapter, and paragraph level
- Procedures: one action per sentence, with an actor
- Where the document proposes or decides: every non-trivial choice has its reasoning and a serious alternative recorded, and the costs are in, not only the benefits
- Fact and proposal are distinguishable; estimates labeled; unknowns explicitly unknown
- Every claim with a number traces to a source named in the document
- References checked by following them: chapter numbers, relative links, and file names actually exist
- Terms consistent and defined at first use; one term per concept
- Read aloud: at least the summary; no row of fragments, no three sentences with the same opening
- Remove-the-name test on the opening and summary: with the product name deleted, a stranger can still tell what the text is about
- Reads cold, reads whole: natural to someone who never saw the conversation or feedback rounds that produced it; one voice throughout, no patchwork seams, no sentence explaining why the document was written this way
- On a rewrite: no fact, number, date, or source added or lost
FAQ
What does the reviewing-technical-prose skill do?
Use when reviewing, rewriting, or editing someone else's technical text, when writing a review report on a document, or as the final check before delivering any document. Encodes the severity mapping, the findings format, the what-not-to-flag list, and the delivery checklist. Use before any document ships, even when it looks fine.
How do I install reviewing-technical-prose?
Run npx skills add https://github.com/riekelt/technical-writer --skill reviewing-technical-prose in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/reviewing-technical-prose/ (personal) or .claude/skills/reviewing-technical-prose/ (project).
Which AI agents can use reviewing-technical-prose?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is reviewing-technical-prose safe to install?
Security partners have reviewed it: Gen Agent Trust Hub passed; Socket passed; Snyk passed. As with any skill, read the SKILL.md and bundled scripts before installing.
Who maintains reviewing-technical-prose?
It is published by riekelt in riekelt/technical-writer. It has 18,612 recorded installs.
More from riekelt/technical-writer
technical-writing
riekelt/technical-writer
Use when writing, restructuring, or revising any technical document - specs, design docs, READMEs, reference documentation, plans, reports - or any prose that must survive being read twice by someone in a hurry. Encodes the house style, the truth and sourcing rules, and the banned-constructions list. Use whenever you produce repository-bound text longer than a paragraph, even if nobody says "document". Foundation for the sibling document-type skills.
writing-design-docs
riekelt/technical-writer
Use when writing a proposal, RFC, design document, spec, or migration plan - anything that argues for a change, records a design, or asks readers for input on one. Encodes the proposal skeleton, the Why & What decision box, and the completeness checks. Use whenever a change needs arguing or scoping in writing, even if the user just says "write up the approach".
writing-runbooks
riekelt/technical-writer
Use when writing operational documentation - runbooks, setup guides, release procedures, migration guides, deprecation guides, troubleshooting entries, or any ordered procedure someone will execute under time pressure. Encodes the runbook skeleton, the risk legend, the symptom-first troubleshooting format, and the migration-guide rules (mapping table, mandatory rollback, deprecation dates, built-in expiry). Use whenever someone will execute the text, even if it is called a "guide" or "setup notes".
writing-changelogs
riekelt/technical-writer
Use when writing a changelog entry, release notes, or a "what shipped" summary after completing work. Encodes the entry shape, the handover template, and the honesty conventions. Use after shipping meaningful work, even if the user just says "summarize what we did".
writing-postmortems
riekelt/technical-writer
Use when writing a postmortem, incident report, or root-cause analysis after an outage, a defect that reached users, a data issue, or a near miss - or when turning an incident channel, alert log, or war-room thread into a durable document. Encodes the blameless framing, the evidence-only timeline, contributing factors, and owned action items. Use whenever something broke and the write-up must outlive the incident.
recording-decisions
riekelt/technical-writer
Use when a decision needs recording - an ADR, a decision log entry, or when someone asks to write down why something was chosen, rejected, or superseded. Encodes the ADR and decision-log formats. Use whenever a choice was made that would otherwise live only in chat, even if nobody says "ADR".
Popular docs & writing skills
grill-with-docs
mattpocock/skills
A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.
lark-markdown
open.feishu.cn
飞书 Markdown:查看、创建、上传、编辑和比较飞书中的原生 Markdown 文件。当用户要操作飞书 Markdown 文件,或比较其远端版本及本地草稿时使用。纯本地 Markdown 文件操作不触发本 skill。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管理操作。
writing-beats
mattpocock/skills
Writing, exploit; assemble raw material into a journey of beats, grounding each term before a beat leans on it.
writing-shape
mattpocock/skills
Writing, exploit: shape raw material into an article, paragraph by paragraph.
writing-fragments
mattpocock/skills
Writing, explore: mine raw fragments, no structure yet.
writing-for-agents
mattpocock/skills
Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.