Overview

AI-generated prose has a sound. This page names the constructions, sentence shapes, and structural patterns that produce that sound, and gives concrete rewrites. Apply these rules whether the draft was written by a person, a model, or a person editing a model.

Banned constructions

Cut these on sight. Each entry includes the tell and a quick fix.

  • The em-dash parenthetical aside. Use a period, a semicolon, or a comma. “The plan, which had three parts, shipped on Friday.” not "The plan, which had three parts — and was negotiated late — shipped on Friday."
  • "It's not X, it's Y." Always reach for the affirmative form. “Y” alone, or “Y, more than X.” The contrastive frame is a rhythm crutch.
  • "Delve," "delve into," "dive in," "let's dive in." Use “read,” “look at,” “open,” “study,” or just start the sentence.
  • "Navigate the landscape of." Use “work with,” “use,” or “ship.”
  • "Unlock the power of." Delete. State what the tool does.
  • "In today's fast-paced world," “in an era where.” Delete; the reader knows what year it is.
  • “Boasts.” Use “has.”
  • "Leverage" as a verb. Use “use.”
  • "Robust solutions," "comprehensive guide," "seamless experience." Use specific nouns. What is robust? What is comprehensive? If you cannot answer, the word is filler.
  • Three-item lists where one item would do. “Fast, reliable, and scalable” usually means “fast.” Pick the one that is true and ship that.

Banned structural patterns

Sentence-level rewrites do not fix paragraph-level slop. These patterns also have to go.

  • Every paragraph ending in a takeaway. “And so, X matters.” “This is why Y is essential.” Trust the reader; end the paragraph on the last fact.
  • Hollow transitions: “Moreover,” “Furthermore,” “Additionally,” “It’s important to note that.” Most are deletable. The rest can be replaced by a period.
  • Summary closers: a final paragraph that restates the opening. Cut it. A piece can end on its last real point.
  • False balance: “While X has its merits, Y is the better choice.” If Y is the better choice, say so. The hedge is a tell.
  • Hedge stacking: “It may be possible that, in some cases, you might want to consider.” Pick one hedge or none.

Voice positives

Replacement habits, not just banned ones.

  • Lead with the verb. “Use Postgres for app data.” not “Postgres is generally considered a good choice for application data.”
  • Use specific nouns. “Cloudflare Workers,” not “edge functions.” “Postgres 17,” not “modern relational databases.”
  • Name the thing. If you mean pg_dump, write pg_dump. If you mean Tailwind v4, write Tailwind v4.
  • State the rule, then the rationale. “Use --ci in CI runs; it fails fast on snapshot mismatches.” Rule first, reason after.

Sentence rhythm

Vary length. A page of 18-word sentences sounds like a model. So does a page of 6-word sentences.

  • Do not follow a long sentence with another long sentence. Break the second one.
  • Do not stack three short sentences in a row unless you are doing it on purpose.
  • Read a paragraph aloud. If you run out of breath, cut it.

Tells of AI authorship

These are the patterns that read as “a model wrote this” even when the prose is technically fine.

  • False balance on settled questions. If a topic has a clear answer, give it.
  • Hedge stacking on confident claims. “Some say” is a tell when the writer means “this is true.”
  • Summary closers that restate the lede.
  • “Tapestry,” “intricate,” "delve," “navigate,” “landscape,” “ever-evolving,” “rapidly changing.”
  • A bulleted list inside every section regardless of whether the content calls for one.
  • Adjective pairs glued together: “fast and reliable,” “simple and effective,” “robust and scalable.” Pick one.

Before and after

Five rewrites. The before column is what a model tends to produce; the after column is what to ship.

1. Em-dash parenthetical

Before: "The migration — which had to land before the freeze — touched every service."

After: “The migration had to land before the freeze. It touched every service.”

2. "It's not X, it's Y"

Before: "It's not a framework, it's a runtime."

After: “Bun is a runtime, not a framework.”

3. Slop preamble

Before: "In today's fast-paced world of frontend development, let's dive into the basics of Astro."

After: “Astro is a static site framework. Start here.”

4. Hollow transition + summary closer

Before: “Postgres is a powerful database. Moreover, it scales well. Furthermore, it has a rich ecosystem. In conclusion, Postgres is a great choice for your next project.”

After: “Use Postgres for app data. It scales, the ecosystem is deep, and the operational story is well-understood.”

5. Three-item filler

Before: “Tailwind is fast, flexible, and developer-friendly.”

After: “Tailwind ships small CSS, because it generates only the utilities you use.”