ai newsFr., 23. Okt.
EilmeldungAnalyse von 471 Claude-Code-Sessions: Wohin sechs Milliarden Tokens flossen

Deterministic linters for AI-written technical prose (EN, RU, ES, DE, FR)

Most "AI slop" advice is a style guide. This is a checker. The symptom: documentation that reads fine in review and breaks the reader later. A sentence that hides the actor. A run-on that buries the command. A paragraph of hedges. Nobody flags it during review, because review is where prose gets re

dev.toFreitag 21:04 · 23.10.3 Min. Lesezeit
Bild: dev.to

Most "AI slop" advice is a style guide. This is a checker.

The symptom: documentation that reads fine in review and breaks the reader later. A sentence that hides the actor. A run-on that buries the command. A paragraph of hedges. Nobody flags it during review, because review is where prose gets read politely. It surfaces in the incident, in the support ticket, in the runbook nobody can follow at 3 a.m.

Anti-slop-kit has two halves. A skill tells the model how to write. A linter proves whether the model did it. The linter is the half most advice leaves out, because rules are easy to state and annoying to enforce.

Each language lives in its own directory, and every clean sample is pinned in the gate.

pip install anti-slop-kit anti-slop-check --version python3 en/ste-lint.py docs/draft.md Enter fullscreen mode Exit fullscreen mode Linters exit with code 1 above the limit, so they gate a build:

python3 en/ste-lint.py --max 5 docs/ *.md Enter fullscreen mode Exit fullscreen mode The score is a smoke alarm Violations per 100 words. Lower is cleaner. It is not a grade.

Two texts per language is a smoke test, not a benchmark — read RESULTS.md before quoting these numbers. The useful signal is the delta between two revisions of the same text, not an absolute number. A threshold means something only after a team picks one for a document class; the CI samples gate at 2, and that is a convention, not a law.

python3 en/ste-lint.py --breakdown docs/draft.md Enter fullscreen mode Exit fullscreen mode slop counts banned words, marketing adjectives, filler and hedges. cl counts controlled-language mechanics: sentence length, passive voice, nominalizations, participle chains. In the Russian baseline, 24 of 39 findings are structural, so a search for banned words finds 15 and misses the larger half.

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

python3 en/ste-lint.py --explain docs/draft.md Enter fullscreen mode Exit fullscreen mode prints one line per finding: line number, rule, matched text, suggested fix.

Essays, marketing copy where the voice is the point, fiction, anything where rhythm matters more than being parsed correctly. The sentence-length and semicolon rules will fight you there, and they should: they come from maintenance-manual standards, not from general writing advice.

A score of 0 says nothing about whether the text is correct or complete. Every rule can produce a false positive — passive voice is right when the actor is unknown. Use the score to find candidates for a rewrite, not to grade a writer.

https://gitlab.com/ameobius-ai/anti-slop-kit

MIT. Python 3.9+, standard library only: the linters read only the files you name, send nothing anywhere, and execute nothing they analyze.

One caveat, stated plainly: GitHub Actions is disabled at the account level for the account that hosts this repository, so the CI workflow never runs there. The local hooks ( hooks/pre-commit, hooks/pre-push ) are the only enforcement that exists until that is lifted.

Quelle: dev.to (dev.to). Original öffnen