Prose Lint
Public Made by Adomby adom
Deterministic house-style linter for Adom copy. Flags em-dashes and the tics that make AI-written text read as AI-written (tell-words, boilerplate cadence, filler), with line:col, plain-language suggestions, --fix for safe swaps, and a --json envelope. Markdown/code-aware: never flags a --flag in a code span, a number range, or a URL.
name: prose-lint description: > Deterministic house-style linter. Run before shipping ANY user-facing copy (READMEs, wiki pages, release notes, chat announcements, UI strings) to catch em-dashes and the tics that make AI-written text read as AI-written. Trigger words: prose lint, lint this copy, remove em-dashes, de-AI this, does this sound AI-written, check my prose, make it read less generated.
prose-lint
prose-lint is the deterministic enforcement side of the Adom house style. The
judgment lives in the prose-style skill; this CLI is the fast, mechanical check.
Use it
prose-lint README.md # lint one or more files
prose-lint docs/*.md # globs are fine
cat page.md | prose-lint # or stdin
prose-lint --fix README.md # apply the safe 1:1 word swaps in place
prose-lint --json page.md # { status, data: {counts, files}, hints }
prose-lint --strict page.md # exit non-zero on ANY finding, not just em-dashes
Default exit codes: 0 clean or soft-only, 1 hard findings (em-dashes / spaced
--), 2 usage error. Under --strict, any finding fails.
What it catches
- Hard (error): em-dashes, en-dashes in prose, and spaced double-hyphens.
- Tells (warn): AI-favorite words (delve, seamless, robust, leverage, utilize, showcase, in-depth, cutting-edge, myriad, ...) and boilerplate cadence ("it's not just X, it's Y", "in today's ... world", "when it comes to", "whether you're X or Y", "plays a pivotal role", ...).
- Filler (info): "in order to", "a variety of", empty intensifiers.
It is markdown/code-aware: it will not flag a --flag inside a code span, a
number range like 2-5 V, a URL, or YAML front matter. So it is safe to run over
mixed prose+code files.
Where to run it
- Before
adom-wiki page publish/pkg publishon any page with prose. - In component-page / README generators, over the generated copy.
- On release notes and Google Chat announcements before they go out.
--fix only performs the unambiguous word-for-word swaps. Em-dashes and cadence
need a human rewrite. See the prose-style skill for how.
---
name: prose-lint
description: >
Deterministic house-style linter. Run before shipping ANY user-facing copy
(READMEs, wiki pages, release notes, chat announcements, UI strings) to catch
em-dashes and the tics that make AI-written text read as AI-written. Trigger
words: prose lint, lint this copy, remove em-dashes, de-AI this, does this
sound AI-written, check my prose, make it read less generated.
---
# prose-lint
`prose-lint` is the deterministic enforcement side of the Adom house style. The
judgment lives in the `prose-style` skill; this CLI is the fast, mechanical check.
## Use it
```
prose-lint README.md # lint one or more files
prose-lint docs/*.md # globs are fine
cat page.md | prose-lint # or stdin
prose-lint --fix README.md # apply the safe 1:1 word swaps in place
prose-lint --json page.md # { status, data: {counts, files}, hints }
prose-lint --strict page.md # exit non-zero on ANY finding, not just em-dashes
```
Default exit codes: `0` clean or soft-only, `1` hard findings (em-dashes / spaced
`--`), `2` usage error. Under `--strict`, any finding fails.
## What it catches
<!-- prose-lint-disable (this list names the banned words on purpose) -->
- **Hard (error):** em-dashes, en-dashes in prose, and spaced double-hyphens.
- **Tells (warn):** AI-favorite words (delve, seamless, robust, leverage, utilize,
showcase, in-depth, cutting-edge, myriad, ...) and boilerplate cadence
("it's not just X, it's Y", "in today's ... world", "when it comes to", "whether
you're X or Y", "plays a pivotal role", ...).
- **Filler (info):** "in order to", "a variety of", empty intensifiers.
<!-- prose-lint-enable -->
It is markdown/code-aware: it will **not** flag a `--flag` inside a code span, a
number range like `2-5 V`, a URL, or YAML front matter. So it is safe to run over
mixed prose+code files.
## Where to run it
- Before `adom-wiki page publish` / `pkg publish` on any page with prose.
- In component-page / README generators, over the generated copy.
- On release notes and Google Chat announcements before they go out.
`--fix` only performs the unambiguous word-for-word swaps. Em-dashes and cadence
need a human rewrite. See the `prose-style` skill for how.