Skip to content

The AI-style rulepack

writinglint-rulepack-ai-style is the first rulepack. recommended enables every rule below at warn. Rules are namespaced ai-style/<name>, so you override any of them in a config, e.g. 'ai-style/rule-of-three': 'off'.

The ★ structural rules match over the dependency graph — the ones a regex or POS-only linter cannot express. The rest are lexical / idiom / formatting rules.

RuleCategoryWhat it catches
corrective-antithesisparallelismThe “X, not Y” staged contrast (“the graph, not the vibes”).
negative-parallelismparallelism”Not (only) X but (also) Y” — a signature LLM cadence.
copula-avoidancesignificance”stands/serves as a …” dressing up a plain “is a …”.
light-verb-rolesignificance”plays a … role” — importance asserted, not shown.
participial-appendagesignificanceTrailing “-ing” clause that editorialises the main clause.
rule-of-threerule-of-threeReflexive triads of coordinated adjectives or adverbs.
vague-attributionvagueA bare, generic subject asserting a “that …” clause (“Studies suggest…”).
throat-clearingmeta”It is important to note that …”. If it matters, just say it.
RuleCategoryWhat it catches
ai-vocabularyai-vocabWords LLMs over-use relative to human writers (delve, tapestry, …).
significance-idiomssignificanceFixed “inflated significance” idioms (rich tapestry, testament to …).
promo-idiomspromoTravel-brochure / press-release idioms (nestled in the heart of …).
chatbot-idiomsmetaEditorialising / chatbot filler (“it’s worth noting…”).
opening-conjunctionconjunctionsFormulaic sentence-opening transitions (“Moreover,”, “Ultimately,”).
RuleCategoryWhat it catches
em-dash-overuseformattingHeavy em-dash use relative to sentence count.
curly-quotesformattingCurly “smart” quotes, common in chatbot output.
markdown-boldformattingMarkdown **bold** left in the text.
markdown-headingformattingMarkdown # headings in prose.
emojiformattingDecorative emoji in formal prose.

Separately from the lints, the pack ships a stylometric score — a document-level 0–100 estimate of how AI-shaped the writing reads, from a small data-free classifier. It is deliberately not a rule: flags are local and structural; the score is global and statistical. See Consume as a library.