Skip to content
lawlint
Esc
navigateopen⌘Jpreview
On this page

Rules

Every built-in rule, what it catches, and whether it charges the human-likeness score.

36 built-in rules ship enabled. 25 are detection rules that charge the score; 11 are style rules that report and fix without moving it.

lawlint rules --json     # this table, as JSON

Detection rules

Corpus-validated to distinguish AI-generated from authentic human legal prose.

Rule Flags Tier Severity
empty-hedge Flags hedges that carry no information about actual uncertainty. inferential warning
no-ai-cliches Flags common AI-writing clichés. static warning
no-binary-contrast Flags formulaic binary-contrast constructions. static warning
no-colon-reveal Flags dramatic colon reveals at sentence starts. static warning
no-doublets Flags legal doublets and triplets static suggestion
no-dramatic-fragment Flags dramatic fragments and negative-listing constructions. static warning
no-em-dash-overuse Flags excessive em dashes statistical warning
no-empty-emphasis Flags overused empty emphasis words statistical warning
no-faux-insight Flags faux-insight setups that posture before making a claim. static warning
no-hedging Flags excessive hedging language statistical warning
no-importance-puffery Flags inflated claims about importance or status. static error
no-marketing-language Flags marketing language, hype, and filler. static error
no-not-only Flags not-only/but-also constructions static warning
no-passive-overuse Flags likely passive-voice overuse statistical warning
no-repetitive-openers Flags repeated sentence openings. statistical warning
no-rhetorical-setups Flags rhetorical setups that delay the substantive point. static warning
no-robotic-transitions Flags overuse of formulaic transitions statistical warning
no-rule-of-three Flags dense repeated triplet constructions statistical warning
no-superficial-analysis Flags trailing participial clauses that pretend to explain significance. static warning
no-sycophantic-openers Flags sycophantic openers static error
no-throat-clearing Flags throat-clearing openers static error
no-weasel-attribution Flags vague attributions without a named source. static warning
padded-elaboration Flags sentences that restate the previous point without adding new information. inferential warning
triad-overuse Flags documents dense with three-part parallel constructions. statistical warning
uniform-sentence-rhythm Flags documents whose sentence lengths barely vary. statistical warning

Style rules

Writing advice that says nothing about provenance. Reported and fixable; never scored.

Rule Flags Tier Severity
no-achievement-language Flags achievement language and hype in reports, PRs, and docs. static warning
no-dead-metaphors Flags worn-out metaphors and figures of speech. static warning
no-en-dash Flags en dashes outside numeric ranges. static error
no-foreign-phrases Flags decorative foreign phrases with an everyday English equivalent. static suggestion
no-legalese Flags archaic or unnecessarily formal legalese. static warning
no-parenthetical-asides Flags frequent parenthetical asides statistical warning
no-semicolons Flags semicolons. static error
oxford-comma Flags lists that omit the Oxford comma. static warning
prefer-concise-phrases Flags padded phrases that a shorter word or nothing replaces. static suggestion
prefer-short-words Flags long words that have a short everyday equivalent. static suggestion
sentence-length Flags sentences that are difficult to read. statistical warning

Writing your own

Rules are Markdown files with YAML frontmatter, exactly like the built-ins. See Authoring rules.