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.