enforced in code, not suggested in a style guide

the blacklist

90patterns our generator refuses to ship: the machine tells, the linkedin formula, the corporate filler. every other AI-writing blog tells you to "avoid clichΓ©s". we can show you the regex.

this page is generated from the sanitizer's own pattern table at build time. if the code changes, the page changes. it cannot drift, and it cannot lie.

exhibit aquoted as evidence. does not count against our own grade-a rule.
Thrilled to announce a truly transformative milestone πŸš€ In today's fast-paced world, we leverage cutting-edge AI to unlock synergies across the entire ecosystem β€” a robust, scalable, game-changing paradigm shift. Moreover, this journey will empower every stakeholder to delve deeper and elevate their impact β€” because growth isn't luck. It's math. Let that sink in.
Fslop score 100/100 Β· 15 tells in 55 words Β· scored at build time by the same engine as the detector

house rule: every public page on this site must pass the slop detector with a grade a. including this one. specimens like the block above are marked as exhibits and excluded, the way a courtroom quotes the crime.

cause of death: machine fingerprints

ai tells

the shapes a language model falls into when nobody stops it. these get rewritten or deleted from every generation before you ever see them.

the em-dash

auto-rewritten β†’ "-"

chatgpt's favorite key. real people press comma.

/[^\S\n]*[—–][^\S\n]*/g

the semicolon

auto-rewritten β†’ "."

nobody has ever typed one into a social post on purpose.

/;[^\S\n]*/g

"not just about x"

auto-rewritten β†’ "it's"

false modesty for sentences. say what it is.

/(?:it'?s |this is )not (?:just |only )about ([^,.;]+)[,;]\s*it'?s (?:about )?/gi

the negate-then-reveal

auto-rewritten β†’ "$1: $3"

"x isn't y. it's z." the single most machine-shaped sentence in english.

/([a-z][^.!?]*?) (?:isn'?t|is not) ([^.!?]+)\.\s*it'?s ([^.!?]+\.)/gi

the negate-then-reveal, compact

auto-rewritten β†’ "$1 is $3"

same trick squeezed into one sentence. still a tell.

/([a-z][^,.!?]*?) (?:isn'?t|is not) ([^,.!?]+),\s*it'?s ([^.!?]+)/gi

"less about x, more about y"

auto-rewritten β†’ "$1"

a dichotomy nobody asked for.

/\bless about [^,.!?]+? and more (about )/gi

"essentially"

deleted on sight

the throat-clear. delete it and nothing is lost.

/\bessentially,?\s*/gi

"fundamentally"

deleted on sight

a philosophy degree clearing its throat.

/\bfundamentally,?\s*/gi

"arguably"

deleted on sight

then argue it.

/\barguably,?\s*/gi

"interestingly"

deleted on sight

the reader decides what's interesting.

/\binterestingly,?\s*/gi

"undoubtedly"

deleted on sight

doubt.

/\bundoubtedly,?\s*/gi

"importantly"

deleted on sight

if you have to label it important, it wasn't.

/\bimportantly,?\s*/gi

"significantly"

deleted on sight

compared to what.

/\bsignificantly,?\s*/gi

"moreover"

deleted on sight

no human has ever said this out loud.

/\bmoreover,?\s*/gi

"furthermore"

deleted on sight

moreover's attorney.

/\bfurthermore,?\s*/gi

cause of death: overuse

the formula

the openers, closers, and engagement bait that ate linkedin. each of these once worked. then everyone used them, and now they read as a template with your name on it. deleted on sight.

"let's be real"

deleted on sight

we were already being real.

/\blet'?s be real:?\s*/gi

"unpopular opinion:"

deleted on sight

it has 40,000 likes. it's popular.

/^unpopular opinion:?\s*/i

"hot take:"

deleted on sight

label removed. takes must survive at room temperature.

/^hot take:?\s*/i

"confession:"

deleted on sight

father, forgive the format.

/^confession:?\s*/i

"true story:"

deleted on sight

suspicious that you have to say it.

/^true story:?\s*/i

"is it just me or"

deleted on sight

it's never just you. 9,000 posts this week.

/^is it just me,? or\s*/i

"i've noticed that"

deleted on sight

skip to the noticing.

/^i'?ve noticed that\s*/i

"here's the thing:"

deleted on sight

just say the thing.

/^here'?s the thing:?\s*/i

"let me tell you:"

deleted on sight

you were already telling us.

/^let me tell you:?\s*/i

"here's what i've learned:"

deleted on sight

the lesson never survives this opener.

/^here'?s what i'?ve learned:?\s*/i

"here's why:"

deleted on sight

clickbait's little brother.

/^here'?s why:?\s*/i

"spoiler alert:"

deleted on sight

the spoiler is that nothing surprising follows.

/^spoiler alert:?\s*/i

"plot twist:"

deleted on sight

there was no plot.

/^plot twist:?\s*/i

"imagine this:"

deleted on sight

we're readers. we were already imagining.

/^imagine this:?\s*/i

"picture this:"

deleted on sight

no.

/^picture this:?\s*/i

"and that's okay"

deleted on sight

toxic positivity's signature.

/\s*and that'?s okay\.?\s*$/i

"read that again"

deleted on sight

we read it the first time. once was plenty.

/\s*read that again\.?\s*$/i

"let that sink in"

deleted on sight

it sank. it drowned. 2019 wants its closer back.

/\s*let that sink in\.?\s*$/i

"think about that"

deleted on sight

we were, until you asked.

/\s*think about that\.?\s*$/i

"chew on that"

deleted on sight

spat it out.

/\s*chew on that\.?\s*$/i

"sit with that"

deleted on sight

stood up.

/\s*sit with that\.?\s*$/i

\bdoing the heavy lifting\b

auto-rewritten β†’ "doing the work"

/\bdoing the heavy lifting\b/gi

\bthe (?:baseline|ground|goalposts?) (?:has |have )?(?:shifted|moved)(?:\s+(?:under|beneath) (?:their|your) feet)?

deleted on sight

/\bthe (?:baseline|ground|goalposts?) (?:has |have )?(?:shifted|moved)(?:\s+(?:under|beneath) (?:their|your) feet)?/gi

\bmoved the goalposts\b

deleted on sight

/\bmoved the goalposts\b/gi

\b(?:the|here'?s the)\s+(?:wild|crazy|insane|scary)\s+part[?:.]

deleted on sight

/\b(?:the|here'?s the)\s+(?:wild|crazy|insane|scary)\s+part[?:.]/gi

\bhere'?s what nobody (?:tells|is telling|told) you[?:.]?

deleted on sight

/\bhere'?s what nobody (?:tells|is telling|told) you[?:.]?/gi

\bthe part nobody (?:talks about|mentions|wants to talk about)[?:.]?

deleted on sight

/\bthe part nobody (?:talks about|mentions|wants to talk about)[?:.]?/gi

\bmost people (?:still )?(?:haven'?t|don'?t|never) (?:noticed|realized?|see|get)\b

deleted on sight

/\bmost people (?:still )?(?:haven'?t|don'?t|never) (?:noticed|realized?|see|get)\b/gi

\bnobody(?:'?s| is)? (?:even )?talking about\b

deleted on sight

/\bnobody(?:'?s| is)? (?:even )?talking about\b/gi

\bwhile everyone(?:'?s| is| was)?\s+(?:distracted|busy|focused|arguing|sleeping)\b

deleted on sight

/\bwhile everyone(?:'?s| is| was)?\s+(?:distracted|busy|focused|arguing|sleeping)\b/gi

"what's your take?"

deleted on sight

you don't want a take. you want a comment for the algorithm.

/\s*what'?s your take\??\s*$/i

"what do you think?"

deleted on sight

a question mark doing sales.

/\s*what do you (?:think|reckon)\??\s*$/i

"thoughts?"

deleted on sight

the laziest word in engagement farming.

/\s*thoughts\??\s*$/i

"agree?"

deleted on sight

no.

/\s*agree\??\s*$/i

"am i wrong?"

deleted on sight

structurally, yes.

/\s*am i wrong\??\s*$/i

"am i missing something?"

deleted on sight

an ending.

/\s*am i missing something\??\s*$/i

"curious to hear your thoughts"

deleted on sight

curiosity has never once looked like this.

/\s*curious (?:to hear |what )?(?:your |everyone'?s )?(?:thoughts|take)\??\s*$/i

"let me know in the comments"

deleted on sight

we know why you want that.

/\s*let me know(?: in the comments)?[.!?]?\s*$/i

"fight me"

deleted on sight

nobody is fighting. everyone is scrolling.

/\s*fight me[.!?]?\s*$/i

"change my mind"

deleted on sight

a folding table nobody sat down at.

/\s*change my mind[.!?]?\s*$/i

"tell me i'm wrong"

deleted on sight

fine: the closer is wrong.

/\s*tell me i'?m wrong[.!?]?\s*$/i

cause of death: meetings

buzzwords

corporate filler. these get flagged, never auto-rewritten. we used to fix them in post until the sanitizer turned a joke about synergy into a joke about combos and killed it. irony is legal here. the flag is a warning, not a verdict.

"delve"

flagged, not touched

no one delved between 1987 and 2023. one model revived it alone.

/\bdelv(e|es|ed|ing)\b/gi

"tapestry"

flagged, not touched

your q3 review is not a textile.

/\btapestry\b/gi

"leverage"

flagged, not touched

you mean 'use'. you always meant 'use'.

/\bleverag(e|es|ed|ing)\b/gi

"journey"

flagged, not touched

it was a signup flow.

/\bjourney\b/gi

"landscape"

flagged, not touched

content is not terrain. stop surveying it.

/\blandscape\b/gi

"robust"

flagged, not touched

a word for software that has never once crashed for you personally.

/\brobust\b/gi

"seamlessly"

flagged, not touched

the seams are visible from here.

/\bseamlessly\b/gi

"foster"

flagged, not touched

the metrics are not orphans. stop raising them.

/\bfoster(s|ed|ing)?\b/gi

"game-changer"

flagged, not touched

the game remains unchanged.

/\bgame-?chang(er|ing)\b/gi

"unlock"

flagged, not touched

your insights were never locked.

/\bunlock(s|ed|ing)?\b/gi

"elevate"

flagged, not touched

it's a blog post, not an elevator.

/\belevat(e|es|ed|ing)\b/gi

"paradigm"

flagged, not touched

retired in 2003. exhumed by AI.

/\bparadigm\b/gi

"synergy"

flagged, not touched

legal only as a joke. we checked.

/\bsynerg(y|ies|istic)\b/gi

"holistic"

flagged, not touched

your marketing plan does not have chakras.

/\bholistic\b/gi

"multifaceted"

flagged, not touched

so is a rock.

/\bmultifaceted\b/gi

"nuanced"

flagged, not touched

calling it 'nuanced' is the least nuanced move available.

/\bnuanced\b/gi

"pivotal"

flagged, not touched

nothing pivoted.

/\bpivotal\b/gi

"groundbreaking"

flagged, not touched

the ground is fine.

/\bgroundbreaking\b/gi

"navigate"

flagged, not touched

you read an email.

/\bnavigat(e|es|ed|ing)\b/gi

"resonate"

flagged, not touched

it got four likes.

/\bresonat(e|es|ed|ing)\b/gi

"empower"

flagged, not touched

nobody received any power.

/\bempower(s|ed|ing)?\b/gi

"transformative"

flagged, not touched

nothing transformed.

/\btransformative\b/gi

"ecosystem"

flagged, not touched

there is no pond.

/\becosystem\b/gi

"stakeholder"

flagged, not touched

people. they're people.

/\bstakeholder(s)?\b/gi

"actionable"

flagged, not touched

the word is 'useful'.

/\bactionable\b/gi

"impactful"

flagged, not touched

not a word. never was.

/\bimpactful\b/gi

"scalable"

flagged, not touched

your anecdote does not need to scale.

/\bscalable\b/gi

"innovative"

flagged, not touched

if it were, you wouldn't need the adjective.

/\binnovative\b/gi

layer zero

banned before the model speaks

some patterns never reach the sanitizer because the model is forbidden from writing them at all. the prompt carries dozens more bans than fit on one page. these are the ones the public detector also checks.

"stop x-ing" openers

banned upstream

the format that ate linkedin. yes, our own slogan matches it. one exemption, framed on the wall.

/^stop [a-z]+ing\b/i

"in today's [anything]"

banned upstream

today's date is available. use it.

/\bin today'?s [^,.\n]{0,40}?(?:world|landscape|environment|market|age)\b/i

"thrilled to announce"

banned upstream

nobody thrilled has ever typed 'thrilled'.

/\b(?:thrilled|humbled|excited|honou?red) to (?:announce|share)\b/gi

"let's dive in"

banned upstream

there is no water.

/\blet'?s dive in\b/gi

"without further ado"

banned upstream

the ado was you.

/\bwithout further ado\b/gi

the rocket emoji

banned upstream

that rocket has carried more bad news than nasa.

/πŸš€/g

your last post is on this list somewhere

paste it into the detector and find out which entries it trips. free, no signup, runs in your browser.

want posts that never trip it in the first place? senpai writes clean by default