---
title: Rules
description: Every built-in rule, what it catches, and whether it charges the human-likeness score.
icon: list
sidebar:
  order: 1
---

57 built-in rules ship enabled. 28 are
[detection](/docs/concepts/rules#intent-which-rules-move-the-score) rules that
charge the [score](/docs/concepts/scoring); 29 are style rules that
report and fix without moving it.

```sh
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`](/docs/rules/empty-hedge) | Flags hedges that carry no information about actual uncertainty. | `inferential` | `warning` |
| [`no-ai-cliches`](/docs/rules/no-ai-cliches) | Flags common AI-writing clichés. | `static` | `warning` |
| [`no-binary-contrast`](/docs/rules/no-binary-contrast) | Flags formulaic binary-contrast constructions. | `static` | `warning` |
| [`no-colon-reveal`](/docs/rules/no-colon-reveal) | Flags dramatic colon reveals at sentence starts. | `static` | `warning` |
| [`no-contrasting-pairs`](/docs/rules/no-contrasting-pairs) | Flags formulaic contrasting pairs | `static` | `warning` |
| [`no-doublets`](/docs/rules/no-doublets) | Flags legal doublets and triplets | `static` | `suggestion` |
| [`no-dramatic-fragment`](/docs/rules/no-dramatic-fragment) | Flags dramatic fragments and negative-listing constructions. | `static` | `warning` |
| [`no-em-dash-overuse`](/docs/rules/no-em-dash-overuse) | Flags excessive em dashes | `statistical` | `warning` |
| [`no-empty-emphasis`](/docs/rules/no-empty-emphasis) | Flags overused empty emphasis words | `statistical` | `warning` |
| [`no-faux-insight`](/docs/rules/no-faux-insight) | Flags faux-insight setups that posture before making a claim. | `static` | `warning` |
| [`no-hedging`](/docs/rules/no-hedging) | Flags excessive hedging language | `statistical` | `warning` |
| [`no-importance-puffery`](/docs/rules/no-importance-puffery) | Flags inflated claims about importance or status. | `static` | `error` |
| [`no-marketing-language`](/docs/rules/no-marketing-language) | Flags marketing language, hype, and filler. | `static` | `error` |
| [`no-negative-parallelism`](/docs/rules/no-negative-parallelism) | Flags repeated negative parallelism | `static` | `warning` |
| [`no-not-only`](/docs/rules/no-not-only) | Flags not-only/but-also constructions | `static` | `warning` |
| [`no-passive-overuse`](/docs/rules/no-passive-overuse) | Flags likely passive-voice overuse | `statistical` | `warning` |
| [`no-performed-enthusiasm`](/docs/rules/no-performed-enthusiasm) | Flags performed enthusiasm | `static` | `warning` |
| [`no-repetitive-openers`](/docs/rules/no-repetitive-openers) | Flags repeated sentence openings. | `statistical` | `warning` |
| [`no-rhetorical-setups`](/docs/rules/no-rhetorical-setups) | Flags rhetorical setups that delay the substantive point. | `static` | `warning` |
| [`no-robotic-transitions`](/docs/rules/no-robotic-transitions) | Flags overuse of formulaic transitions | `statistical` | `warning` |
| [`no-rule-of-three`](/docs/rules/no-rule-of-three) | Flags dense repeated triplet constructions | `statistical` | `warning` |
| [`no-superficial-analysis`](/docs/rules/no-superficial-analysis) | Flags trailing participial clauses that pretend to explain significance. | `static` | `warning` |
| [`no-sycophantic-openers`](/docs/rules/no-sycophantic-openers) | Flags sycophantic openers | `static` | `error` |
| [`no-throat-clearing`](/docs/rules/no-throat-clearing) | Flags throat-clearing openers | `static` | `error` |
| [`no-weasel-attribution`](/docs/rules/no-weasel-attribution) | Flags vague attributions without a named source. | `static` | `warning` |
| [`padded-elaboration`](/docs/rules/padded-elaboration) | Flags sentences that restate the previous point without adding new information. | `inferential` | `warning` |
| [`triad-overuse`](/docs/rules/triad-overuse) | Flags documents dense with three-part parallel constructions. | `statistical` | `warning` |
| [`uniform-sentence-rhythm`](/docs/rules/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`](/docs/rules/no-achievement-language) | Flags achievement language and hype in reports, PRs, and docs. | `static` | `warning` |
| [`no-actually-as-filler`](/docs/rules/no-actually-as-filler) | Flags “actually” when it adds emphasis instead of a fact. | `static` | `warning` |
| [`no-anaphoric-openers`](/docs/rules/no-anaphoric-openers) | Flags repeated sentence openers across a document | `statistical` | `warning` |
| [`no-antithesis`](/docs/rules/no-antithesis) | Flags rhetorical antithesis that balances one idea against another. | `inferential` | `warning` |
| [`no-corporate-register-verbs`](/docs/rules/no-corporate-register-verbs) | Flags corporate-register verbs | `static` | `warning` |
| [`no-corrective-negation`](/docs/rules/no-corrective-negation) | Flags corrective-negation constructions | `static` | `warning` |
| [`no-dead-metaphors`](/docs/rules/no-dead-metaphors) | Flags worn-out metaphors and figures of speech. | `static` | `warning` |
| [`no-em-dash`](/docs/rules/no-em-dash) | Flags em dashes | `static` | `error` |
| [`no-en-dash`](/docs/rules/no-en-dash) | Flags en dashes outside numeric ranges. | `static` | `error` |
| [`no-filler-intensifiers`](/docs/rules/no-filler-intensifiers) | Flags filler intensifiers | `static` | `warning` |
| [`no-foreign-phrases`](/docs/rules/no-foreign-phrases) | Flags decorative foreign phrases with an everyday English equivalent. | `static` | `suggestion` |
| [`no-landing-sentence`](/docs/rules/no-landing-sentence) | Flags short closing sentences written for rhetorical effect. | `inferential` | `warning` |
| [`no-legalese`](/docs/rules/no-legalese) | Flags archaic or unnecessarily formal legalese. | `static` | `warning` |
| [`no-metronomic-cadence`](/docs/rules/no-metronomic-cadence) | Flags predictable sentence-length cadence | `statistical` | `suggestion` |
| [`no-nominalization`](/docs/rules/no-nominalization) | Flags weak verbs paired with nominalized nouns | `statistical` | `warning` |
| [`no-paired-phrasing`](/docs/rules/no-paired-phrasing) | Flags excessive paired phrasing | `statistical` | `suggestion` |
| [`no-paragraph-pinning`](/docs/rules/no-paragraph-pinning) | Flags paragraphs that open and close by repeating the same theme. | `inferential` | `warning` |
| [`no-parallel-sentence-structure`](/docs/rules/no-parallel-sentence-structure) | Flags repeated syntactic templates across sentences in a paragraph. | `inferential` | `warning` |
| [`no-parataxis`](/docs/rules/no-parataxis) | Flags marches of short coordinate clauses and sentences. | `inferential` | `warning` |
| [`no-parenthetical-asides`](/docs/rules/no-parenthetical-asides) | Flags frequent parenthetical asides | `statistical` | `warning` |
| [`no-semicolons`](/docs/rules/no-semicolons) | Flags semicolons. | `static` | `error` |
| [`no-setup-payoff`](/docs/rules/no-setup-payoff) | Flags staged questions or tensions resolved by the next sentence. | `inferential` | `warning` |
| [`no-stacked-noun-phrases`](/docs/rules/no-stacked-noun-phrases) | Flags stacked noun phrases before abstract head nouns | `statistical` | `warning` |
| [`no-summary-beat`](/docs/rules/no-summary-beat) | Flags closing sentences that recap a paragraph without adding information. | `inferential` | `warning` |
| [`oxford-comma`](/docs/rules/oxford-comma) | Flags lists that omit the Oxford comma. | `static` | `warning` |
| [`prefer-concise-phrases`](/docs/rules/prefer-concise-phrases) | Flags padded phrases that a shorter word or nothing replaces. | `static` | `suggestion` |
| [`prefer-short-words`](/docs/rules/prefer-short-words) | Flags long words that have a short everyday equivalent. | `static` | `suggestion` |
| [`prefer-spoken-voice`](/docs/rules/prefer-spoken-voice) | Flags prose that works on the page but not in a spoken explanation. | `inferential` | `warning` |
| [`sentence-length`](/docs/rules/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](/docs/guides/authoring-rules).
