Skip documentation navigation
Documentation menu

AI speak patterns, part 3

Built from the packs in hooks/lib/patterns. Each section names its own source.

The category index is in ai-speak-patterns.md.

sycophancy

Presets: default, ryan, technical, minimal, all. Source: avoid-ai-writing by Conor Bronsdon (MIT) and Ryan Yannelli’s house rules.

Praise aimed at the reader instead of the work.

FlaggedFix
You're right (sentence-initial)cut, state the fix
you're absolutely rightcut
what a great, what a fantastic, what a wonderfulcut
Great point, Great idea, Great catch, Excellent observation, Excellent suggestioncut
That's a great point, That's an excellent point, That's a fantastic idea, That's a really good observation, That's an insightful observationcut
I completely understand, I completely agree, I totally understand, I totally agreecut
thank you for sharing, thank you for bringing this, thank you for pointing, thank you for the clarification, thank you for your patiencecut
thanks for sharing, thanks for pointing, thanks for flaggingcut
You raise a great point, You raise an excellent point, You raise a good point, You raise a valid point, You raise an important pointcut
I apologize for the confusion, I apologize for the oversight, I apologize for the inconvenience, I apologize for any confusion, I apologize for any oversight, I apologize for any inconvenience, apologies for the confusion, my apologiesstate the correction

terminal-punctuation

Presets: statistical, all.

Flags list items that all carry a trailing period even though they read as short fragments.

FlaggedFix
Flags list items that all carry a trailing period even though they read as short fragments.minWords = 0, minItems = 8, minBlocks = 2, maxItemWords = 8

List items only. Every declarative sentence ends in a period, so sentence-level uniformity carries no signal.

transition-density

Presets: ryan, statistical, all.

Flags text where too many sentences open on a transition or connector word.

FlaggedFix
Flags text where too many sentences open on a transition or connector word.minWords = 150, minSentences = 8, maxDensity = 0.3

Document-wide connector rate. The transitions pack flags single openers; this one flags the habit.

transitions

Presets: default, ryan, technical, all. Source: avoid-ai-writing by Conor Bronsdon (MIT) and Ryan Yannelli’s house rules.

Connectors and scene setters that add length without adding a fact.

FlaggedFix
Moreover, Furthermore, Additionally (sentence-initial)cut, or “and”, “also”
Notably, Importantly, Interestingly, Surprisingly (sentence-initial)cut
in today'sname the context or cut
in an era where, in an era ofcut
in the evolving world of, in the evolving field of, in the changing world of, in the changing field of, in the rapidly evolving world of, in the rapidly evolving field of, in the rapidly changing world of, in the rapidly changing field oflead with the point
worth noting, it's worth noting, it is worth notingstate the fact
when it comes toname the thing
here's what's interesting, here's what caught my eye, here's what stood out, here's the interesting partstate the fact
that said, that being saidcut, or “but”
Certainly, Undoubtedly, Without a doubtcut

undue-emphasis

Presets: ryan, all. Source: Pangram signs-of-ai-writing frequency counts and Wikipedia:Manual of Style/Words to watch.

Intensifiers, stacked qualifiers, or markup used to manufacture stress.

FlaggedFix
extremely, remarkably, utterly, undeniably, unquestionably, exceptionally, tremendously, immenselycut
a stress word in bold or italicsremove the bold, state the fact
a stress word in capitals mid-sentenceuse normal case
Intensifiers, stacked qualifiers, or markup used to manufacture stress.minPairs = 2

very, highly, deeply, and particularly report only when two of them share a sentence. A line-initial admonition label with a colon stays unflagged.

vague-attribution

Presets: default, ryan, technical, all. Source: Wikipedia:Manual of Style/Words to watch, Wikipedia:Weasel word, Simple Wikipedia avoid-weasel-words.

A claim attributed to an unnamed authority.

FlaggedFix
experts say, experts agree, experts argue, experts believename the expert
studies show, studies suggest, studies indicatecite the study
research has shown, research shows, research suggestscite the source
it is widely believed, it is widely known, it is widely accepted, it is widely heldname who believes it
many argue, many believe, many say, many feelname who
some observers argue, some observers say, some observers note, some observers suggest, some analysts argue, some analysts say, some analysts note, some analysts suggestname the observer
industry reports suggest, industry reports indicate, industry reports say, industry observers suggest, industry observers indicate, industry observers saycite the report
it has been said that, it has been reported that, it has been observed that, it is said that, it is reported that, it is observed thatname the source
critics argue, critics say, critics contendname the critic
sources say, sources indicate, sources suggestname the source

A correctly sourced sentence is flagged the same as an unsourced one: the pattern cannot see a citation that follows.

vocabulary

Presets: default, ryan, technical, all. Source: avoid-ai-writing by Conor Bronsdon (MIT) and Ryan Yannelli’s house rules.

Words that appear far more often in model output than in human writing.

FlaggedFix
delve, delves, delved, delvinglook at, examine
tapestrydescribe the actual parts
realmarea, field
embark, embarks, embarked, embarkingstart
beaconrewrite
testament toshows, proves
robustreliable, or the measured property
comprehensivecomplete, full
cutting-edgelatest, or name the version
leverage, leverages, leveraged, leveraging (verb)use
pivotalimportant, or say what depends on it
meticulous, meticulouslycareful
seamless, seamlesslyworks without X, name X
nestledis in, sits
vibrantdescribe what is active
thrivinggrowing, or cite a number
showcases, showcasing (verb)shows
deep divelook at, examine
dive intolook at
bustlingbusy
intricate, intricaciescomplex, or name the complexity
ever-evolvingchanging
dauntinghard
holistic, holisticallycomplete, or list what is included
actionablepractical, or drop
impactfuleffective, or name the effect
learningslessons, findings
thought leader, thought leadershipexpert, or name the work
best practiceswhat works, the standard approach
synergy, synergiesdescribe the combined effect
interplayrelationship
symphony (as metaphor)describe the coordination
state-of-the-artname the benchmark
world-class, best-in-classcite a comparison
future-proofsay what changes it survives
empower, empowers, empowered, empoweringlet, enable
crucialimportant, or say what breaks without it
incrediblycut
competitive edgename the advantage
vast experienceyears and scope
excited to announcestate the fact
humbledcut
paradigmmodel, approach
load-bearing, load bearing (as metaphor)essential, or say what breaks without it
underscores the, underscored how, underscore that, underscores whyshows
the landscape, today's landscape, current landscape, evolving landscape, competitive landscape, digital landscape, tech landscape, business landscape, AI landscape, landscape offield, market, or cut
Flagged (tier 2)Fix
harness, harnesses, harnessed, harnessinguse
navigate, navigates, navigatinghandle, or name the work
foster, fosters, fosteringbuild, cause
elevate, elevates, elevatedimprove, raise
unleash, unleashes, unleashed, unleashingrelease, start
streamline, streamlines, streamlinedsimplify, speed up
bolster, bolsters, bolstered, bolsteringstrengthen, add to
spearhead, spearheads, spearheaded, spearheadinglead
resonate with, resonates withmatches, appeals to
facilitate, facilitates, facilitatedhelp, run
underpin, underpins, underpinningsupports
nuancedname the difference
multifacetedlist the parts
ecosystemthe tools, the parts
myriad, plethoramany, or the number
encompass, encompasses, encompassedincludes, covers
catalyze, catalyzes, catalyzed, catalyst forcauses
reimagine, reimagines, reimaginedredesign
galvanize, galvanizes, galvanizedprompt, spur
augment, augments, augmented, augmentingadd to
cultivate, cultivates, cultivatedbuild, grow
illuminate, illuminatesshows, explains
elucidate, elucidatesexplain
juxtapose, juxtaposes, juxtaposedcompare
cornerstonethe main part
paramountmost important
poised toabout to, or say when
burgeoninggrowing
nascentnew, early
quintessentialtypical
overarchingmain, general
transformativedescribe the change

Tier-2 verbs and nouns report only when two or more of them share a paragraph, so a single ordinary use stays quiet. load-bearing before a structural noun (wall, beam, column, joist, truss, member, footing, slab, stud, partition, masonry, lintel, pier, rafter, girder, capacity), with up to one adjective in between, is building terminology and stays unflagged. bearing down, bearing on, and bearing upon are the literal verb and stay unflagged.

word-frequency

Presets: statistical, all.

Flags text that leans on one favorite word far more than natural word spread predicts.

FlaggedFix
Flags text that leans on one favorite word far more than natural word spread predicts.minWords = 200, maxShare = 0.035

Share of the text taken by its most repeated content word. The research’s Zipf exponent is unreachable at this text size, so the share replaces it.

wordiness

Presets: ryan, ste, all. Source: avoid-ai-writing by Conor Bronsdon (MIT) and Ryan Yannelli’s house rules.

Long forms of short words.

FlaggedFix
utilize, utilise, utilizes, utilized, utilizing, utilisinguse
in order toto
due to the fact thatbecause
commence, commences, commencedstart
ascertainfind out
endeavor, endeavors, endeavored, endeavoring, endeavour, endeavours, endeavoured, endeavouringtry, effort
prior tobefore
subsequent toafter
in the event thatif
at this time, at this point in timenow
for the purpose ofto, for
with regard toabout
in conjunction withwith
in accordance withas in, follow
is capable of, are capable of, has the ability to, have the ability tocan
a number ofsome, or the number
a large number ofmany, or the number
it is necessary toyou must
in the vicinity of, in close proximitynear
the majority ofmost
in spite of the fact thatalthough

A hit here is a writing fix and says nothing about who wrote the text.

ai-attribution

Presets: default, ryan, technical, minimal, git, all. Source: Group G research: claude-code#1296, Codex CLI commit attribution, VS Code #314311, Cursor forum #168258, docs.devin.ai, code.claude.com settings reference (attribution.sessionUrl), Cursor forum #154494, GitHub changelog 2026-03-20.

A commit or PR trailer credits an AI tool as co-author, generator, or signer.

FlaggedFix
Generated with [Claude Code]drop the generated-with line
Generated with Devindrop the generated-with line
Made with Cursordrop the made-with line
a Generated-By: trailerdrop the trailer
This commit was generated bydrop the disclosure sentence
an Assisted-by: trailerdrop the trailer
a Claude-Session: trailerdrop the session trailer
a Made-with: Cursor trailerdrop the trailer
an Agent-Logs-Url: trailerdrop the trailer
Signed-off-by: plus a [bot] accountdrop the bot sign-off
Signed-off-by: plus an AI tool emaildrop the bot sign-off
Flagged (tier 2)Fix
Co-authored-by: plus an AI tool namedrop the co-author trailer
Co-authored-by: plus an AI tool emaildrop the co-author trailer

The two Co-authored-by patterns sit at tier 2. A trailer that pairs an AI tool name with an AI email reports; a co-author named Claude with a personal address stays quiet.

ai-identity

Presets: default, ryan, technical, minimal, git, all. Source: Group G research: claude-code#72477, VS Code #314311, Cursor forum #168258, gemini-cli #11447.

The commit author or committer field names an AI tool instead of a person.

FlaggedFix
--author= naming an AI tooluse a human author name
--author= holding an AI tool emailuse a human email address
GIT_AUTHOR_NAME set to an AI tooluse a human author name
GIT_COMMITTER_NAME set to an AI tooluse a human committer name
GIT_AUTHOR_EMAIL on an AI tool domainuse a human email address
GIT_COMMITTER_EMAIL on an AI tool domainuse a human email address
git config user.name or user.email set to an AI toolset a human name or email
a numeric-id GitHub bot addressuse a human email address
Flagged (tier 2)Fix
--author= naming a bare AI tool nameuse a human author name
GIT_AUTHOR_NAME or GIT_COMMITTER_NAME set to a bare AI tool nameuse a human author name

Bare first names such as Claude, Devin, and Gemini sit at tier 2, so a person who sets their own identity with a personal email produces one hit and stays quiet. A repo that intentionally commits as a bot lists ai-identity in excludePacks.