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.
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.
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.
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.
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.
| Matched | Uses | Files | Cluster | What to do |
|---|---|---|---|---|
harness, unlock, Unlock, leverage1 in display copy | 12 | 8 | Empty corporate verbs and superlatives | Use literal verb: "use", "wire up", "save", "let X do Y" |
disrupting, disruptive, disruption | 6 | 5 | Hype verbs and number framing | Cut or quantify ("doubled MQLs in 90 days") |
dominated, Crush, dominate3 in display copy | 4 | 3 | Hype verbs and number framing | State the actual outcome with numbers |
most people don't, most people never | 3 | 3 | False-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, incredible | 3 | 3 | Empty corporate verbs and superlatives | Cut, or replace with a specific claim |
Honest caveat, Honest limits | 3 | 3 | Self-declared honesty | Cut the label, state the claim |
why it matters | 3 | 3 | Filler transitions and preambles | Cut 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's | 2 | 2 | Triadic list with a verdict tag | Rewrite as plain sentences stating which items go where |
real value | 2 | 2 | Vague mass-noun results | Cite the actual result ("3× pipeline in 90 days") |
seamless | 1 | 1 | Empty corporate verbs and superlatives | Cut, or replace with a specific quantified claim |
delve | 1 | 1 | Empty corporate verbs and superlatives | Cut or replace with plain description |
groundbreaking | 1 | 1 | Empty corporate verbs and superlatives | Cut or cite the evidence |
the single biggest lever | 1 | 1 | Superlative ranking claims (the "single best" tell) | Cut the ranking. State the metric |
The fastest route | 1 | 1 | Superlative ranking claims (the "single best" tell) | Describe the category literally ("pages already ranking with no FAQ") |
Compared Honestly1 in display copy | 1 | 1 | Self-declared honesty | "X vs Y compared" or "X vs Y, compared" |
gnarly1 in display copy | 1 | 1 | Triadic list with a verdict tag | "hard", "messy", or name the specific difficulty |
Additionally, | 1 | 1 | Filler transitions and preambles | Cut or use a casual connector |
next level | 1 | 1 | Hype verbs and number framing | Cut or quantify |
Everything you need to know about1 in display copy | 1 | 1 | Authoritative-guide setups and listicle filler | Cut 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.
| Matched | Uses | Files | Cluster | What to do |
|---|---|---|---|---|
a significant milestone | 1 | 1 | Significance inflation | State 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.
| Shape | Uses | Per 10k | Budget | Found |
|---|---|---|---|---|
| "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. | 4 | 0.2 | 0 | Not 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. | 22 | 1.3 | 8 | state, 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. | 1 | 0.1 | 10 | That 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. | 0 | 0 | 0 | — |
| 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. | 29 | 1.7 | 5 | Someone (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. | 126 | 7.2 | 120 | — |
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.