AI tells

How much of this site's copy carries the habits of machine-written prose — measured over the same corpus as Voice & tone, against a catalogue of165 patterns in two tiers plus 6 sentence shapes.

Scoped corpus. Only blog, newsletter, guides and docs were measured — 4 of 13 collections under src/content/. The rest is not site prose. Text hardcoded into src/pages/ templates is always measured, whatever the scope.

How to read this

This is not a detector and a hit is not evidence.

It cannot tell you who or what wrote something, and it never will. Every pattern below appears in prose written by people — several are ordinary English that any writer uses. A number here is a prompt to look at a sentence, never a verdict on it, and using one to accuse a writer would be a misuse of the page.

What is actually measurable is rate and position. One "plays a crucial role" in two thousand words is a sentence. Three in one section is a register, and the register is the tell. A phrase in a headline lands harder than the same phrase in a paragraph, because more people read it.

The three measures are not the same kind of rule, and treating them alike is what makes an AI-tells check useless. Distinctive phrases are close to a ban — almost nobody writes "here's the kicker" on purpose. Overused ordinary English is a budget: chasing it to zero produces stilted avoidance, which is its own tell. Sentence shapes are habits, and a habit is only a problem at volume.

Summary

214,954 words scanned — prose and display copy together, across every markdown file, section default and page template on the site.

Distinctive phrases

48uses

Above targettarget 0 or fewer

19 of 110 catalogued phrases appear. Each one has a repair that costs the sentence nothing.

Close to a ban, not a budget. These are constructions with a repair that loses nothing — the sentence works without them.

How this is measured

Counts: Phrases almost nobody writes on purpose — "here’s the kicker", "unlock the power of", "in today’s fast-paced world".

Computed: Each of the catalogue’s ban-tier patterns matched case-insensitively across prose and display copy. Counted flat: one hit is a hit, and the table shows what it matched so the reader can judge it rather than take the count on trust.

Limits: A hit is not evidence of anything. People write these too, and a handful across a whole site is a handful. The examples are shown for exactly this reason.

AI-tells catalog

Words per overused phrase

214954words

Within targettarget 400 or more

1 uses across 214,954 words.

A density budget from the catalogue: at most one per 400 words. Above the budget is fine; below it means the register is thickening.

How this is measured

Counts: Phrases that are normal English but 22x-182x commoner in machine-written text.

Computed: A density budget, not a ban: at most one hit per 400 words. Reported as words-per-hit against that budget. Position matters too — the catalogue counts a hit in a headline, an H1 or a CTA as over budget regardless of document length, so display-copy hits are counted separately.

Limits: Chasing these to zero is the wrong outcome. Every one is a sentence a human writes sometimes, and a writer avoiding them all produces stilted prose, which is its own tell. Over budget means look, not delete.

AI-tells catalog

Shapes over budget

4of 6

Above targettarget 0 or fewer

Over budget: "Not just X, it's Y", Three-item lists, Stacked hedging, Em-dash density.

Each shape carries its own rate budget, listed below with what it matched. A shape over budget is a habit worth breaking, not a fault.

How this is measured

Counts: Constructions rather than phrases: "not just X, it’s Y", rule-of-three cadence, stacked hedging, em-dash density, conjunctive-adverb openers, empty lead-ins.

Computed: Each shape matched by its own pattern over the prose, reported per 10,000 words against a budget. Shapes are measured because they survive paraphrase: a writer told to stop saying "not just X, it’s Y" writes "this isn’t merely X — it is Y", which a phrase list misses and the shape catches.

Limits: The rule-of-three pattern is narrowed to three lowercase single words closing a sentence, because matching every "X, Y and Z" caught ordinary lists of services. It undercounts on purpose — for a number that gets read as an accusation, that is the right direction to be wrong in.

AI-tells catalog

In display copy

7uses

Above targettarget 0 or fewer

Hits that landed in a heading, tagline, caption or button label rather than in a paragraph.

The catalogue counts a hit in a headline, an H1 or a CTA as over budget regardless of document length. Position is part of the measure, not a refinement of it.

How this is measured

Counts: Hits from either tier that landed in a heading, tagline, caption or button label rather than in a paragraph.

Computed: Every match is attributed to the field it came from as it is found, and display-copy matches are totalled across both tiers. Position is part of the measure rather than a refinement of it: the catalogue counts a hit in a headline, an H1 or a CTA as over budget regardless of how long the document is.

Limits: It counts where a phrase sits, not how prominent that position actually is on the rendered page. A caption on the twelfth image and an H1 both count as display copy.

AI-tells catalog

Distinctive phrases

The tier closest to a ban. These are constructions almost nobody writes deliberately, and every one has a repair that costs the sentence nothing — which is the test for belonging in this tier at all.

MatchedUsesFilesClusterWhat to do
harness, unlock, Unlock, leverage1 in display copy128Empty corporate verbs and superlativesUse literal verb: "use", "wire up", "save", "let X do Y"
disrupting, disruptive, disruption65Hype verbs and number framingCut or quantify ("doubled MQLs in 90 days")
dominated, Crush, dominate3 in display copy43Hype verbs and number framingState the actual outcome with numbers
most people don't, most people never33False-insider framing (the "secret knowledge" move)Cut. If you must, name what the masses do instead with specifics ("HubSpot priced out at $800/mo")
fantastic, incredible33Empty corporate verbs and superlativesCut, or replace with a specific claim
Honest caveat, Honest limits33Self-declared honestyCut the label, state the claim
why it matters33Filler transitions and preamblesCut the label. Lead with the fact ("There's no database and no plugins, so there's very little to attack")
, a subagent's final report returns to the agent that spawned it, which then decides what to run next: that is, , quest chat, side quests) | Sends the message | New line | | Workbench task **description** | New line | New line | | Workbench task **title** | Commits the rename | Commits the rename | The Workbench description is the odd one out: it's22Triadic list with a verdict tagRewrite as plain sentences stating which items go where
real value22Vague mass-noun resultsCite the actual result ("3× pipeline in 90 days")
seamless11Empty corporate verbs and superlativesCut, or replace with a specific quantified claim
delve11Empty corporate verbs and superlativesCut or replace with plain description
groundbreaking11Empty corporate verbs and superlativesCut or cite the evidence
the single biggest lever11Superlative ranking claims (the "single best" tell)Cut the ranking. State the metric
The fastest route11Superlative ranking claims (the "single best" tell)Describe the category literally ("pages already ranking with no FAQ")
Compared Honestly1 in display copy11Self-declared honesty"X vs Y compared" or "X vs Y, compared"
gnarly1 in display copy11Triadic list with a verdict tag"hard", "messy", or name the specific difficulty
Additionally,11Filler transitions and preamblesCut or use a casual connector
next level11Hype verbs and number framingCut or quantify
Everything you need to know about1 in display copy11Authoritative-guide setups and listicle fillerCut or scope to one specific question

19 of 110 patterns in this tier matched; 91 matched nothing.

Overused ordinary English

A budget, not a ban. Every phrase in this tier is grammatical English a person writes sometimes — "parents play a significant role in shaping their children's values" is a normal sentence. What marks copy as machine-written is the rate: each of these is between 22 and 182 times commoner in AI text than in human text, so three in a short section is a register even though one is nothing.

Budget: at most one per 400 words, none in a headline or a first paragraph, never two in one paragraph. Over budget, cut the weakest hits — the ones carrying no fact — and keep any doing real work. Cutting all of them is the wrong outcome.

MatchedUsesFilesClusterWhat to do
a significant milestone11Significance inflationState what changed

1 of 55 patterns in this tier matched; 54 matched nothing.

Sentence shapes

Not phrases — constructions. These matter more than any word list because they survive paraphrase: a writer told to stop saying "it's not just X, it's Y" writes "this isn't merely X — it is Y", which a phrase list misses and the shape catches.

ShapeUsesPer 10kBudgetFound
"Not just X, it's Y"Over budgetA negated setup followed by the real claim. The most recognisable single construction in machine-written marketing copy.Repair: Delete the setup and keep the claim. The reader did not need to be told what it is not.40.20Not just the file you're editing, butnot just that the agent will do the right thing, butnot just the output, butNot just the final output, but
Three-item listsOver budgetThree single words closing a sentence — "fast, cheap, and honest". Ordinary lists count too, because no pattern can tell a rhetorical triad from a real list of three things. One is nothing; a page of them is a template.Repair: Keep the best two, or replace all three with the one specific thing they were circling.221.38state, retries, and branching.reads, reasons, and adapts.read, understood, and modified.made, saved and searchable.
Conjunctive-adverb openersSentences opening Furthermore, Moreover, Ultimately. Essay register borrowed into brand copy.Repair: Cut the adverb. The connection is almost always already clear from the order of the sentences.10.110That said, cross-platform is now on the table. crystl's terminal core
Empty lead-ins"In today's fast-paced world", "when it comes to", "it's important to note that" — throat-clearing before the sentence starts.Repair: Delete it. Every one of these can be removed without changing the meaning of the sentence.000
Stacked hedgingOver budgetTwo or more hedges in one sentence. Each softens the claim, and together they leave nothing a reader can hold you to.Repair: Keep one hedge at most. If the claim needs two, it is not a claim yet.291.75Someone (often you, often an agent, often `rm -rf`) deleted the worktrAnd that supervision problem is genuinely hard at scale. ## What managSessions are structured records rather than pixel streams, so the stat
Em-dash densityOver budgetEm dashes per 10,000 words. A real punctuation mark, and a documented habit of generated prose when it appears in every second sentence.Repair: Alternate. A comma, a full stop, or a pair of brackets does the same job and the page stops looking uniform.1267.2120

Budgets are per 10,000 words and are house style, not findings. Read a shape over budget next to what it actually matched: if the examples are ordinary lists rather than rhetoric, the pattern is being generous and the number is not telling you anything.

Method

The catalogue is a curated pattern bank, grown by hand as somebody notices a new tell. It is not a trained classifier, and the full methodology — what each measure counts, how it is computed, its source and its known limits — is on Voice & tone with every other measure, so there is one place to argue with the method rather than two.

Patterns, not a word list. "Delve" is a real word, and banning vocabulary makes writers write around it — which reads worse than the word did, and is its own tell. Every entry matches a construction. The catalogue lives in src/lib/ai-tells-catalog.ts, the shapes in src/lib/ai-tells.ts, and both are meant to be edited: a pattern that keeps producing false positives on this site's copy should be narrowed or removed rather than explained away every time somebody reads the page.