Home
cd ../playbooks
Developer ToolsIntermediate

Technical Writing Style Guide

Write docstrings, READMEs, commit messages, and PR descriptions that read like human technical documentation instead of LLM output — six concrete 'tells' with before/after rewrites, a smoothness diagnostic for prose that sounds authoritative while stating one fact three times, and industry-metaphor substitution tables ('surfaces' to 'raises/returns/logs', 'wired through' to 'passed as a parameter').

5 minutes
By pydantic (monty)Source
#technical-writing#documentation#code-review#writing-style#developer-tools

The single biggest giveaway that documentation was LLM-written isn't a specific word — it's writing that states significance instead of mechanism, like 'this ensures the sandbox remains secure' instead of the actual fact: every operation runs relative to a Dir opened at mount time, so .. and symlinks can't escape it.

Who it's for: engineers writing docstrings, READMEs, and PR descriptions who want them to read like real documentation, tech leads establishing a house writing style for AI-assisted contributions, anyone reviewing generated documentation that feels subtly off but can't name why, teams tired of code comments padded with adjectives instead of the actual mechanism or cost

Example

"This docstring reads like it was written by an LLM, fix it" → The specific tell identified (significance instead of mechanism — 'provides robust protection against runaway code' names no number or mechanism) and rewritten to state the actual fact ('the VM polls allocator usage every 255 instructions; crossing the hard limit exits the worker with OOM_EXIT_CODE'), plus a scan for industry-metaphor language like 'wired through' or 'surfaces to the caller' replaced with the literal mechanism

CLAUDE.md Template

New here? 3-minute setup guide → | Already set up? Copy the template below.

Or install from your terminal:
npx ccplaybooks add technical-writing-style
# Technical Writing Style

Write prose that reads like human technical documentation rather than LLM output. Applies to docstrings, comments, limitations/caveats sections, READMEs, commit messages, and PR descriptions. The reader is an engineer looking for a fact — give them the fact. You are not persuading or building to a conclusion: say what happens, when, and what it costs.

## Tells to Avoid

### Significance Instead of Mechanism

The most common LLM tell. If a sentence would fit unchanged in any other project's docs, it carries no information.

- ✗ "This ensures the sandbox remains secure."
- ✓ "Every operation runs relative to a `Dir` opened at mount time, so `..` and symlinks cannot reach outside it."

Get new playbooks like this one

One email a week with new Claude Code workflows. Free, like everything here.

No spam. Unsubscribe anytime.

README.md

What This Does

A precise, mechanism-first style guide for engineering prose — docstrings, comments, limitations sections, READMEs, commit messages, and PR descriptions — built around one governing rule: the reader is an engineer looking for a fact, so give them the fact instead of building toward a conclusion. Six concrete "tells" each get a named failure mode and a before/after rewrite: stating significance instead of mechanism ("ensures the sandbox remains secure" versus the actual boundary check that makes it true), throat-clearing openers that delay the sentence, the "not just X, but Y" essay-style reveal that reference docs don't need, adjectives standing in for a number or mechanism, docstrings that restate the function signature instead of saying why it exists, and self-summarizing sections that announce what they just said.

Beyond the tells, it names a subtler failure — smoothness — where sentences engineered for rhythm read as authoritative conclusions even when they only restate one fact three ways; a three-check diagnostic (does the sentence end on a rhythmic beat that could be duller without losing meaning? how many actual facts survive stripping the cadence? is the sentence about the system or about how the reader should feel?) catches this in review. It closes with three substitution tables for industry-metaphor language that deletes the actual mechanism — "the error surfaces" doesn't say whether it raises, returns, or logs; "wired through" doesn't say parameter, field, or global — mapping dozens of these phrases (lands, ships, spins up, bubbles up, load-bearing, X-shaped) to the literal, checkable alternative.


Quick Start

Step 1: Create a Project Folder

mkdir tech-writing-style && cd tech-writing-style

Step 2: Download the Template

Click Download above, then:

mv ~/Downloads/CLAUDE.md ./

Step 3: Write or Review Docs

claude

Ask Claude to write a docstring, README, or PR description, or to review existing prose that reads as generic or "off." It will apply the tell-avoidance rules and metaphor substitutions, and — when reviewing — name which specific failure mode is present rather than giving vague style feedback.


Tips & Best Practices

  • Apply the "significance instead of mechanism" check first when reviewing — it's the single most common tell, and fixing it (replacing a vague benefit claim with the actual boundary, number, or code path) usually improves a passage more than any other single edit.
  • Run the three smoothness checks on any paragraph that "reads well" but feels hard to pin down — smooth, confident-sounding prose is exactly the failure mode most likely to get approved without scrutiny.
  • Keep the industry-metaphor tables open while reviewing PR descriptions specifically — phrases like "wired through" and "surfaces to" are common enough in casual engineering speech that they slip past without the explicit substitution list as a checklist.

Limitations

  • Scoped specifically to technical/engineering prose (docstrings, READMEs, commit messages, PR descriptions) — it's a different register from marketing copy, user-facing help text, or narrative writing, which have their own legitimate use for rhythm and persuasion.
  • The before/after examples use a specific codebase's terminology (sandboxes, allocators, worker pools); apply the underlying principle (mechanism over adjective, fact over feeling) rather than the literal examples to a different domain.
  • A style discipline, not a technical-accuracy check — prose can pass every rule here and still be factually wrong; pair it with an actual code or documentation review for correctness.

$Related Playbooks

Developer Tools

Three.js Scroll World Builder

Build a scroll-controlled real-time Three.js experience as one persistent 3D world instead of stacked sections — a scene-ledger data model for authoring chapters, native-scroll-to-deterministic-state mapping with separate exact and smoothed progress, cinematic camera composition, a measurable per-device performance budget, and mandatory reduced-motion and WebGL-failure fallbacks.

20 minutes
Advanced
Developer Tools

Visual Explainer HTML Pages

Have Claude Code explain architectures, diffs and plans as self-contained HTML pages with labeled Mermaid diagrams and a deliberate design pass, instead of walls of chat text, terminal ASCII or generic AI-looking pages.

5 minutes
Intermediate
Developer Tools

Web Animation Design Principles

Design web animations that feel natural and purposeful — a decision-first easing blueprint (ease-out for entrances, ease-in-out for movement, ease for hover), duration and frequency rules, spring configuration, the GPU-only performance rule, and mandatory prefers-reduced-motion accessibility patterns with working CSS and Framer Motion code.

5 minutes
Intermediate
Developer Tools

Web Technique to Skill Extractor

Turn a one-off web visual or interaction technique into a reusable, well-scoped skill — the one-sentence mechanism test that separates a real technique from mere styling, a mechanism-vs-staging sort for what belongs in the skill versus the demo, rules anchored to named failures instead of adjectives, and a demo craft bar that treats the acceptance reference as a target, not inspiration.

10 minutes
Advanced
Developer Tools

Planning with Files

Persistent, file-based planning for multi-step AI-agent work — task_plan.md, findings.md, and progress.md on disk, a 2-action rule for capturing multimodal findings before they're lost, a 3-strike error protocol, and a 5-question reboot test to verify state survives a compaction.

5 minutes
Intermediate
Developer Tools

Secret Scan and Rotation

Find committed credentials in a repository's working tree and full history, triage real secrets from test fixtures, and drive rotation-first remediation — with an absolute rule against ever printing a secret's actual value, even during the scan itself.

5 minutes
Intermediate
Developer Tools

Self-Improvement Loop Design

Design systems where the harness itself is the optimization target — an optimization ladder from prompt to context to workflow to harness code, a two-split empirical acceptance gate, an outside-the-loop invariant for the evaluator, and a catalog of documented reward-hacking and collapse failure modes.

10 minutes
Advanced
Developer Tools

Skill Security Inspector

Review an AI agent skill before installing it using two independent lines — static scanner evidence plus source-aware semantic judgment — checking purpose fit, permission fit, sensitive access, external transmission, execution risk, and persistence, down to a clear APPROVE, CAUTION, or REJECT verdict.

10 minutes
Intermediate
Developer Tools

Writing for AI Agents: A Craft Reference

A theory of writing any document an agent consumes — skills, CLAUDE.md, reference docs — built on context pointers, an information hierarchy of steps versus disclosed reference, completion criteria, and leading words that anchor behavior in the fewest tokens.

10 minutes
Advanced
Developer Tools

Windows RDP Connection Doctor

Diagnose Windows App / AVD / W365 remote-desktop connection quality on macOS — transport selection (UDP Shortpath vs WebSocket), VPN/proxy interference with STUN/TURN, and Shortpath failures from the logs.

15 minutes
Intermediate
Developer Tools

Who Built This Before Me

Check whether your project, tool, library, or product idea has already been built — before you invest a weekend or a quarter in it.

5 minutes
Intermediate
Developer Tools

Vibe Skill Creator

Build world-class Claude skills through a guided 10-step conversation — explore where Claude fails by default, research the domain, draft, self-critique, test on a real scenario, and iterate until the skill actually improves output.

10 minutes
Intermediate

Browse all Developer Tools playbooks →