The Sound of Machine Writing
Why AI prose is recognisable, what actually fixes it, and the skill I built — plus the version of this I refused to build.
There is a particular sound that machine-written prose makes. Not wrong, exactly. Even.
Every sentence lands in the same 14-to-22-word band. Every paragraph deploys the same rhetorical move. Every list has exactly three items with matched rhythm. Every claim arrives pre-softened by a hedge. It reads like someone being careful in a language they learned from a manual.
Human writing is lumpy. It speeds up, stalls, contradicts itself, and occasionally just states a thing and moves on.
The tells, in the order they give you away
Metronomic sentence length is the strongest signal and almost nobody looks for it. The median clusters tight with small variance. Real prose swings — a forty-word sentence piling clause on clause, then four words. Then a fragment.
"Not just X, but Y." And the whole family: "It's not A, it's B." "This isn't merely C — it's D." Humans write this occasionally, for emphasis. Models write one per paragraph. It's the single most recognisable construction in the genre. (There's a commit in this repo titled "Articles: break the repeated 'not X, it's Y' construction", which tells you how hard it is to avoid even when you know about it.)
Tidy tricolons. "Fast, reliable, and affordable." Three beats, matched rhythm, neatly balanced. Real lists are ragged — two items, or four, or three of wildly different lengths.
Hedging preambles. "It's important to note that." "Generally speaking." "In many cases." These exist because models are trained to sound careful. An editor cuts them on the second pass. If the hedge carries real uncertainty, state the uncertainty specifically: not "results may vary" but "this failed in two of the five trials."
Em-dash saturation. The dash is markdown leaking into prose — the surviving trace of a training corpus made of structured documents. One or two per page is style. One per paragraph is a fingerprint.
The summarising close. "In conclusion, X remains a complex and evolving field." Nobody writing for an actual reader ends this way.
Abstraction where a number belongs. "Significantly improved" instead of "cut it from 40 minutes to 9." This is the big one, because it's also the fix.
Specificity is the whole trick
Models default to the general. People default to the particular thing that actually happened to them.
That asymmetry is why specificity is the cheapest humanising move available — and why it's the only one that improves the writing rather than just disguising it. A number, a name, a date, the thing that broke. Every abstraction you replace with a concrete detail makes the piece both more human and more useful.
The corollary: if a rewrite makes prose livelier and vaguer, it failed.
What I won't build
There's a genre of these skills that markets itself on bypassing GPTZero, Turnitin and Originality.ai. I'm not interested in that version and didn't build it.
Partly because submitting machine-written work under your own name is fraud, and evasion is usually treated as a second offence on top of the first. Partly because AI detectors are unreliable in both directions — they flag human writing constantly, particularly from non-native speakers — so the arms race is being fought over a broken instrument.
Mostly because it's the boring version. Everything that makes text read as human — rhythm variation, concrete detail, a real opinion, an actual concession — is just writing better. The evasion framing takes a craft problem and turns it into a compliance problem, and you end up with prose that passes a checker and still isn't worth reading.
The file
---
name: human-prose
description: Strip the machine cadence out of writing. Use when drafting or editing any prose a person will read — articles, essays, emails, docs, landing copy, README intros — and whenever asked to make text sound less like AI, less generic, punchier, or more like a specific human wrote it. Also use proactively before delivering any long-form prose. This is a craft skill about rhythm, specificity and voice; it is not for disguising authorship.
---
# HUMAN PROSE
LLM prose has a recognisable sound. Not because it is wrong — because it is *even*. Same sentence length, same rhetorical move every paragraph, same three-item lists, same careful hedge before every claim. Human writing is lumpy. It speeds up, stalls, contradicts itself, and occasionally just states a thing.
This skill removes the evenness.
## Scope
This is about writing well. Use it to make prose read like a person with a view wrote it.
**Do not use it to disguise AI authorship of work being submitted as someone's own** — coursework, applications, anything with an authorship declaration. That is fraud, the detectors are unreliable in both directions anyway, and evasion is usually its own offence on top of the original one. If asked for that, say so plainly once, offer to help them write the thing properly instead, and move on.
## The tells, ranked by how much they give you away
**1. Metronomic sentence length.** The single strongest signal. LLM prose clusters at a 14–22 word median with small variance. Human prose swings — a 40-word sentence that piles clause on clause, then four words. Vary it deliberately. A short sentence after a long one lands like a punch.
**2. "Not just X, but Y."** And its family: "It's not A, it's B." "This isn't merely C — it's D." Humans write this occasionally. LLMs write one per paragraph. Search your draft for it and cut all but the best one. Same for "More than X, it's Y."
**3. Tidy tricolons.** Three-beat parallel lists with matched rhythm: "fast, reliable, and affordable." Real speech and real writing produce ragged lists — two items, or four, or three of wildly different lengths. Break the symmetry.
**4. Hedging preambles.** "It's important to note that." "Generally speaking." "In many cases." "It's worth considering." These exist because models are tuned to sound careful. A human editor cuts them on the second pass. Cut them. If the hedge carries real uncertainty, state the uncertainty specifically instead: not "it's worth noting this may vary" but "this failed in two of the five trials."
**5. Em-dash saturation.** The em dash is markdown leaking into prose — the surviving trace of a structurally-oriented training corpus. The dash is a good piece of punctuation. One or two per page is style; one per paragraph is a fingerprint. Convert most to full stops, commas, or nothing.
**6. The summarising final paragraph.** "In conclusion, X remains a complex and evolving field." Nobody writing for a real reader ends like this. End on the strongest concrete thing you have, or on the thing that is still unresolved.
**7. Abstraction where a number belongs.** "Significantly improved" instead of "cut it from 40 minutes to 9." "A variety of factors" instead of naming two. Specificity is the cheapest and most reliable humanising move available, because models default to the general and people default to the particular thing that actually happened to them.
**8. Relentless positivity and balance.** Every point balanced by its counterpoint, every criticism softened. Real writers have opinions, dislike things, and occasionally say something is bad without appending a redeeming feature.
**9. Signposting.** "Let's dive in." "First, let's explore." "Now that we've covered X, let's turn to Y." Structural narration is a substitute for structure. Delete it and let the headings do the work.
**10. Uniform paragraph length.** Four sentences, four sentences, four sentences. Write a one-sentence paragraph when the point deserves the isolation.
## What to add, not just remove
Removal alone produces flat, cautious prose. The additions are what make it sound like someone:
- **A specific detail that only the writer would know.** A number, a name, a date, the thing that broke.
- **One concession that costs something.** Not the balanced fake concession — a real "I got this wrong" or "I don't know."
- **An occasional fragment.** For emphasis. Like that.
- **Rhythm changes at paragraph boundaries.** If three paragraphs opened with a subordinate clause, open the fourth with a verb.
- **A word that isn't the obvious one** — but only if it's the *right* one. Thesaurus reaching is its own tell, and a worse one.
## The process
1. **Read the draft aloud, in your head, at speed.** The places you stumble are the places to cut. Evenness is invisible on the page and obvious in the ear.
2. **Run the checklist above and count.** Actually count the "not just X" instances and the em dashes. Intuition under-detects your own patterns.
3. **Cut 15%.** Almost every draft survives it. Cut hedges, signposts and the summarising close first.
4. **Add two specifics.** Find the two vaguest sentences and replace the abstraction with something concrete.
5. **Break three sentences.** Find the longest run of similar-length sentences and shatter it — split one, merge two, leave one at five words.
## Calibrations
**Do not overshoot into affectation.** Deliberate typos, forced slang, and random tangents to seem casual read worse than clean AI prose. The goal is a competent human writer, not a performance of one.
**Match the register.** A technical doc should sound like a good engineer wrote it, not like a Substack essay. Legal and medical writing is *supposed* to be careful and even — do not strip precision out of a context that needs it.
**Voice beats rules.** If the user has existing writing, read it and match its actual habits: sentence length distribution, punctuation preferences, how they open and close, whether they use contractions, how blunt they get. A matched voice beats a generically "human" one every time.
**Keep the substance.** If a rewrite makes prose livelier and vaguer, it failed. Specificity and rhythm move together or the edit is not working.
Save it to ~/.claude/skills/human-prose/SKILL.md for Claude Code, or upload it under Settings → Capabilities on claude.ai. It fires automatically when drafting prose.
One calibration that matters
Don't overshoot into affectation. Deliberate typos, forced slang and random tangents to seem casual read worse than clean machine prose, because now it's machine prose wearing a costume.
The target is a competent human writer. Not a performance of one.
Every skill I use or wrote is at /skills. The companion filter for judging sources rather than prose is source-finder.
More writing
One Kinase, Two Answers
Endurance training and hypertrophy don't merely compete for time. They send opposing instructions to the same signalling node, and the conflict has a name: AMPK. Here's what it actually does, how big the effect is, and how to schedule around it.
Measurement Without a Decision Is a Hobby
More data makes the signal-to-noise problem worse, not better, unless the analysis accounts for it. A counterweight to my own tracking article, and the rule that decides whether a metric earns its place.