Skip to main content

Writing Technical Documents

Plugin: tsh-core
Invoke: /tsh-core:writing-technical-documents (also loaded automatically when a request matches its description)
Used by: managing-decision-records and managing-claude-context (both hand prose craft to it), auditing-accessibility, auditing-aws-cost, auditing-azure-cost, auditing-gcp-cost and the infrastructure-auditor agent (each applies it to a written report)

Produces technical documents people actually read: the conclusion first, every claim verified, and nothing left in that does not earn its place. The craft rules are drawn from Writing for Busy Readers by Todd Rogers and Jessica Lasky-Fink, restated as checkable rules.

It governs prose craft, never structure. It does not decide what sections an ADR needs or what a user story must contain. When an artifact already has a required shape (from the repository, the tracker or another TSH skill), that shape wins and this skill governs only the words inside it. A request for a template, a section list or "what should a good X contain" is declined: the skill names the boundary and offers craft help instead, such as tightening a draft or making acceptance criteria checkable.

Key Areas​

AreaCoverage
Conclusion firstThe conclusion, decision or required action goes in the first sentence; background comes after, or not at all
Verified factsEvery path, command, flag, version and link target is checked against the source before it is written. An unconfirmed claim is omitted or marked as an open question
CuttingEvery word, sentence and section that does not change what the reader thinks or does is cut; filler such as "comprehensive", "robust", "seamless", "leverage", "in order to" and "simply" is banned
FormOne idea per paragraph; a table or list when content is enumerable, prose when it is not; headings that summarise what follows; the reader's next action at the end whenever one exists
Domain termsWhere the project has a domain dictionary, its canonical terms are used, never an invented synonym or translation
Revision passMandatory before handoff: a first draft is never the deliverable

How It Works​

  1. Name the artifact and the reader. State the document type, who reads it and what decision they make afterwards. If the decision cannot be named, the document has no job.
  2. Load the matching reference before writing the first sentence.
  3. Gather and verify the facts from code, configuration and neighbouring documents.
  4. Draft conclusion-first, with short sentences, one idea per paragraph and active voice.
  5. Run the revision pass and apply it to the draft.
  6. Verify links and paths. Confirm every internal link resolves and every referenced path exists; for documentation-site changes, run the site build.

Reference Files​

ReferenceLoad whenCovers
revision-pass.mdA draft exists and is being tightened, shortened or clarifiedThe mechanical cut list: dead openings, filler phrases, marketing adjectives, hedges, buried conclusions
repository-documentation.mdWriting a README, /docs page, runbook or documentation-site pageThe reader who arrives with no context, the exists/use/next contract, command verification, runbook shape
change-records.mdWriting a CHANGELOG entry, PR description, release note or migration guideLeading with impact and required action, naming who is affected, describing breakage in the reader's terms
decision-records.mdWriting an ADR, RFC or technical proposalDecision before deliberation, one-line alternatives, concrete consequences and reversibility
work-items.mdWriting a ticket, user story, acceptance criteria or bug reportThe reader deciding whether to pick it up, cutting origin narrative, checkable "done", observed versus expected

What It Does Not Do​

  • Define, propose or produce the structure, template or required sections of any artifact, even when asked directly.
  • Govern commit subject lines or pull request titles; the repository's own commit convention owns those.
  • Rewrite historical CHANGELOG entries, decision records or incident reports.
  • Invent facts, examples or rationale to fill an empty section, or approve technical accuracy the source files do not show.

Source​