Writing
AI writing: avoid the slop
Adapted from tropes.fyi by ossama.is, with additions from practice.
Hard bans
Never use these. They are AI tells regardless of context.
Verbs & adjectives
Nouns & metaphors
Drama inflation
Filler phrases
False engagement
Structural crutches
Structural patterns to avoid
Negative parallelism
"It's not X, it's Y." The single biggest AI tell.
Dramatic countdown
"Not X. Not Y. Just Z."
Self-answered rhetorics
"The result? Devastating."
Anaphora abuse
The same sentence opening three or more times in a row.
Tricolon abuse
Rule-of-three used more than once per page. Watch list length too: when every list lands on exactly three or five items, that's a tell of its own.
Superficial -ing analysis
"highlighting its importance", "reflecting broader trends"
False ranges
"from X to Y" where X and Y aren't on a real scale.
Short punchy fragments
One-word or two-word paragraphs for fake emphasis.
Listicle in a trench coat
"The first... The second... The third..."
Fractal summaries
Summarizing what you just said, at every level.
One-point dilution
Restating the same argument ten ways across thousands of words.
Hollow fluency
Clean, grammatical sentences that say nothing. The test: after each paragraph, can the reader say what they just learned? If not, cut it. This is the strongest tell I know of, because it survives every word swap.
Hedged symmetry
Balancing every point with a counterpoint so no stance is ever taken. Real writing commits somewhere.
Escalation cascade
The same claim restated across consecutive short sentences, each pitched a notch hotter than the last, with nothing new added. Annoying, then infuriating, then the root cause of everything. A ladder of synonyms standing in for an argument.
Unearned gravitas tag
Ending a sentence with ", and that matters" or ", and that's the key insight" to manufacture stakes. Delete the tag. If the sentence goes empty without it, it was empty with it.
Two-beat verdict headlines
A headline that pairs the finding with a spin: "Fundraiser turnout dipped, and the families who came gave more than ever." It reads as a pitch. Write the finding as one plain sentence and let the body do the interpreting.
Stakes inflation
Everything is "fundamentally reshaping" civilization.
Copula avoidance
Swapping "is" and "has" for "boasts", "features", "offers", or "maintains".
Historical analogy stacking
"Apple didn't build Uber. Facebook didn't build Spotify..."
Signposted conclusions
Announcing "In conclusion" instead of just concluding.
Dead metaphor
Repeating the same metaphor five or more times in one piece.
Tone traps
False vulnerability
Polished, risk-free self-awareness ("And yes, I'm openly...").
"The truth is simple"
Asserting clarity instead of proving it.
Pedagogical voice
A teacher-student dynamic with expert audiences.
Magic adverbs
"quietly", "deeply", "fundamentally", "remarkably"
Invented concept labels
Compound labels ("supervision paradox", "acceleration trap") used as if they were established terms.
Promotional puffery
Press-release or travel-guide voice for a person, place, or organization: "renowned", "vibrant", "nestled in the heart of". State facts and skip the brochure.
Ranked praise
Inventing a comparison just to pay a compliment ("the best version of this we've seen"). Nobody asked for the ranking and nobody can check it. Say what the thing did.
Honesty theater
"The honest take is", "to be completely honest", "here's the real answer". Candor that announces itself before it speaks. Just be candid.
Formatting tells
Em-dash addiction
I don't use them, and my email send gate blocks them outright. If dashes come naturally to you, two or three in a piece reads as human. Twenty reads as a model. Restructure the sentence instead of swapping in a double hyphen.
Bold-first bullets
Every list item starting with a bold keyword followed by a description.
Unicode decoration
Fancy arrows and smart quotes. Use straight quotes and plain punctuation.
Horizontal rules in flowing text
Using a row of hyphens to break up prose. Use whitespace or paragraph breaks instead.
Short predictable sentence patterns
Back-to-back sentences of the same length and structure are a dead giveaway.
Title Case headings
Capitalizing every word in a heading. Use sentence case (Next steps, not Next Steps).
Claude-specific tells
Claude's own fingerprint, distinct from the generic tropes above. Watch for these in anything it generates.
Sycophantic openers
"You're absolutely right", "Great question", "Good catch", "Smart approach". Cut the praise and answer.
Validate-then-decorate
Three moves stacked: praise the question, promise to sharpen it, then call the result the key insight. Cut all three and state the correction.
Reflexive hedging
Stacking qualifiers on every claim ("it could potentially possibly"). State it, or admit uncertainty once.
False-depth phrases
"at its core", "the real question is", "what really matters". They promise insight and deliver filler.
Assistant artifacts in deliverables
"I hope this helps", "Certainly!", "Rest assured". Fine in chat. Never in emails, docs, or content.
Stock offer closers
"say the word", "just give the word", "don't hesitate to reach out". Use "let me know" instead.
False-reassurance fillers
"nothing on your end", "no action needed on your part", "nothing to worry about". It patronizes, and it's often wrong, because it gets written as comfort before anyone knows the cause. Test it against the next paragraph. If that paragraph explains how their change set things off, the reassurance has to go.
Engineering words as prose metaphor
"gated on", "the last real gate", "gating factor". Anyone outside software hears jargon. Say "waiting on her reply" or "the last approval it needed".
Industry shorthand
The trade's word where a plain one exists: "the gate" for attendance, "cohort" for a six-month period. It's technically right, and it makes the reader translate. Would they use the word unprompted? If not, write the ordinary one.
Wordy filler
"in order to" becomes "to", "due to the fact that" becomes "because", "at this point in time" becomes "now".
Enforce it in code
Reading a list is not the same as checking against it. I run a small checker script that matches the mechanical half of this page. It prints its findings on every draft, and it blocks an email send only on the hard tells: a banned phrase, an em dash, or an invisible character pasted in from a model's output.
Everything softer prints and never blocks. A gate that cries wolf gets routed around, and then it catches nothing.
It matches strings, so a clean run tells you the draft has no mechanical tells. Whether the draft is any good is still a question for a reader. Hollow fluency, hedged symmetry, and puffery are invisible to it.
When you add a ban, add the whole family. A checker that knew one phrase let its close cousin walk right past on the day it was built. And it can't tell your prose from a quote, so when a send is blocked over words inside someone else's quotation, a person has to make the call.
The test
Would a real person type this in a first draft? If not, rewrite it. Code comments and technical documentation get a pass where some patterns (like bold-first bullets in API docs) are conventional. Everything else gets the full checklist: emails, proposals, content, and blog posts.
Updated October 2026
← Back to Tools & Resources