prose-restraint — don't do the reader's work
The model's training pulls one way: be helpful — explain, resolve, clarify, complete. In substantive prose
that instinct is the enemy. The reader wants to draw the conclusion your setup makes inevitable, to feel a
tension before it resolves, to connect the two ideas you placed side by side. Do that work for them and the
writing goes flat and faintly patronizing. Restraint isn't fewer words for its own sake (that's mere terseness); it's
leaving the reader the part they came to do.
The moves (apply to a draft, in order)
- State it once. Said it clearly? Don't restate it two more ways "to be sure." The reader got it; the
restatement tells them you didn't trust them to.
- Show the implication; don't spell it out. Put the facts that make the conclusion obvious, then stop.
The reader completing "…so X" themselves believes it more than being told X.
- Cut the throat-clearing and the recap. The opening that announces what you're about to say, the closing
paragraph that summarizes what you just said — both are the reader's least favorite parts. Start at the
substance; end when it's done.
- Preserve productive omission / ambiguity. Where a small gap makes the reader lean in, leave it. Not
every tension needs resolving in the same sentence it appears.
- Stop over-hedging. The caveat that protects you from an objection nobody was going to make just dilutes
the claim. Qualify what's genuinely uncertain; assert what isn't.
- Kill the obvious "so what." If the takeaway is plainly inferable from what you wrote, saying it out loud
insults the inference the reader already made.
Before: "The cache is stale, which means reads return old data — in other words, users may see outdated values."
After: "The cache is stale; reads return old data."
The two checks (the whole skill, if you only do this)
After a draft, read it once for each:
- "What am I explaining that the reader could infer?" → cut it.
- "Where did I resolve a tension the reader would enjoy holding?" → restore the gap.
Boundaries (match restraint to genre — don't over-apply)
- This is for prose a human reads for understanding or pleasure: docs, concept notes, essays, READMEs,
design write-ups, explanations, the corpus's teaching text.
- NOT for code — code wants YAGNI and the shortest diff, a different discipline.
- NOT merely making chat terse — dropping filler is a different discipline. You can be un-terse and restrained:
restraint is about what you leave to the reader, not word count.
- NOT for reference material that must be complete/unambiguous — API docs, runbooks, legal, safety,
spec. There, completeness and explicitness beat craft; suppressing detail is a bug. Restraint serves the
reader's engagement; reference serves their lookup. Know which you're writing.
Overlaps: pair with a terseness pass for chat and YAGNI for code. When the genre is reference, defer to
completeness and switch this off.
1---2name: prose-restraint3description: Writing discipline for substantive prose (docs, essays, READMEs): suppress over-explaining — state it once, show the implication, keep the omission. Use for 'prose-restraint', 'tighten this writing', 'stop over-explaining', 'trust the reader'.4---56# prose-restraint — don't do the reader's work78The model's training pulls one way: be helpful — explain, resolve, clarify, complete. In *substantive prose*9that instinct is the enemy. The reader *wants* to draw the conclusion your setup makes inevitable, to feel a10tension before it resolves, to connect the two ideas you placed side by side. Do that work *for* them and the11writing goes flat and faintly patronizing. Restraint isn't fewer words for its own sake (that's mere terseness); it's12**leaving the reader the part they came to do.**1314## The moves (apply to a draft, in order)15161. **State it once.** Said it clearly? Don't restate it two more ways "to be sure." The reader got it; the17 restatement tells them you didn't trust them to.182. **Show the implication; don't spell it out.** Put the facts that make the conclusion obvious, then *stop*.19 The reader completing "…so X" themselves believes it more than being told X.203. **Cut the throat-clearing and the recap.** The opening that announces what you're about to say, the closing21 paragraph that summarizes what you just said — both are the reader's least favorite parts. Start at the22 substance; end when it's done.234. **Preserve productive omission / ambiguity.** Where a small gap makes the reader lean in, leave it. Not24 every tension needs resolving in the same sentence it appears.255. **Stop over-hedging.** The caveat that protects you from an objection nobody was going to make just dilutes26 the claim. Qualify what's genuinely uncertain; assert what isn't.276. **Kill the obvious "so what."** If the takeaway is plainly inferable from what you wrote, saying it out loud28 insults the inference the reader already made.2930Before: "The cache is stale, which means reads return old data — in other words, users may see outdated values."31After: "The cache is stale; reads return old data."3233## The two checks (the whole skill, if you only do this)3435After a draft, read it once for each:36- **"What am I explaining that the reader could infer?"** → cut it.37- **"Where did I resolve a tension the reader would enjoy holding?"** → restore the gap.3839## Boundaries (match restraint to genre — don't over-apply)4041- **This is for prose a human reads for understanding or pleasure:** docs, concept notes, essays, READMEs,42 design write-ups, explanations, the corpus's teaching text.43- **NOT for code** — code wants YAGNI and the shortest diff, a different discipline.44- **NOT merely making chat terse** — dropping filler is a different discipline. You can be un-terse *and* restrained:45 restraint is about what you leave to the reader, not word count.46- **NOT for reference material that must be complete/unambiguous** — API docs, runbooks, legal, safety,47 spec. There, completeness and explicitness beat craft; suppressing detail is a bug. Restraint serves the48 reader's *engagement*; reference serves their *lookup*. Know which you're writing.4950Overlaps: pair with a terseness pass for chat and YAGNI for code. When the genre is reference, defer to51completeness and switch this off.