Anti-slop Kit

Deterministic linters that strip AI slop out of technical prose. English, Russian, Spanish, German, French. Open source, MIT.

What it is

Most anti-slop advice is a style guide. A skill tells the model how to write; a linter proves whether the model did it. This project ships the second half: rule-based checkers that run over your text and return findings you can act on, in five languages.

Install and run

pip install anti-slop-kit
anti-slop-check --version
python3 en/ste-lint.py docs/draft.md

Linters exit with code 1 when a file scores above the limit, so they gate a build:

python3 en/ste-lint.py --max 5 docs/*.md
python3 ru/ru-ste-lint.py --max 5 --json README.ru.md

Python 3.9 or later. Standard library only: the linters read the files you name, send nothing anywhere, and execute nothing they analyse.

The score

Violations per 100 words. Lower is cleaner. It is a smoke alarm, not a grade.

TextScoreLongest sentence
en/samples/baseline.md29.9449 words
en/samples/ste.md0.8314 words
ru/samples/baseline.md33.3327 words
ru/samples/utr.md0.0011 words

Two texts per language is a smoke test, not a benchmark. The useful signal is the delta between two revisions of the same text. A threshold means something only after a team picks one for a document class.

For agents

tools/aslint/ holds the agent-facing half: JSON in, JSON out, an MCP server, baseline gating and a write-time hook. .anti-slop.yaml switches off rules that are wrong for a given document class.

python3 en/ste-lint.py --explain docs/draft.md
python3 en/ste-lint.py --breakdown docs/draft.md

--explain prints one line per finding: line number, rule, matched text, suggested fix. --breakdown splits the total into slop (banned words, filler, marketing adjectives) and cl (sentence length, passive voice, nominalizations, participle chains).

Where it does not fit

Essays, marketing copy where the voice is the point, fiction, anything where rhythm matters more than being parsed correctly. A score of 0 says nothing about whether the text is correct or complete, and every rule can produce a false positive. Use the score to find candidates for a rewrite, not to grade a writer.

Repository

gitlab.com/ameobius-ai/anti-slop-kit — source, rule catalogue, examples with measured scores, and the evaluation harness.

Other projects by the same author: ameobius-ai.gitlab.io.