Thanks to visit codestin.com
Credit goes to github.com

Skip to content

grahamrowe82/antislop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

antislop

A portable spec of "AI slop": the writing patterns that make text read as machine-generated, and the rules for removing them. Point an AI agent at this repo and it has what it needs to strip slop from prose while keeping the meaning.

Slop is not bad grammar. It is the set of stylistic tics that large language models over-produce because those tics were rewarded during training: em dashes, "it's not X, it's Y", the rule of three, the bolded one-line mic-drop, the reflective closing sentence, and the habit of announcing its own honesty. Each one is fine once. As a reflex, across every paragraph, they are the tell.

Use it with an agent

Point your coding or writing agent at this repo (clone it, add it to context, or drop it in a project). The agent should read AGENTS.md, apply the catalogue in PATTERNS.md, and follow the method in PROCESS.md.

A one-line brief that works:

Read AGENTS.md and PATTERNS.md in the antislop repo, then deslop these files. Preserve meaning. Run python check_slop.py afterwards and fix what it flags.

Use it in CI

check_slop.py is a dependency-free checker. It fails the build on em/en dashes (the highest-signal tell) and reports the phrase-level tics it finds:

python check_slop.py path/to/docs   # scans .md/.txt/.html/.rst under the paths

Exit code is non-zero if any dash codepoint is found, so it drops into a lint job as a gate.

Use it in the browser

A static, single-page version of the checker lives in docs/ and runs entirely client-side. Paste prose, see the dash and phrase tells highlighted in place, and browse the full catalogue. No build step, no upload, no keys.

Run it locally:

cd docs && python3 -m http.server   # then open http://localhost:8000

Or host it free on GitHub Pages: repo Settings, Pages, deploy from main and the /docs folder. The deterministic engine (docs/engine.js) is a faithful port of check_slop.py; test/engine.test.mjs enforces parity so the two cannot drift. The 18 structural and semantic patterns cannot be auto-flagged, because they are judgement calls; they need the cutting pass in PROCESS.md, a deletion-first read a person or agent runs over the draft. docs/deepcheck.js sketches an opt-in AI version of that pass.

Run the tests:

node --test

The spec defines it

antislop is defined by spec/SPEC.md, not by the checker. The catalogue, the checker, and the process are implementations that must satisfy it. The spec is built on Grice's four maxims: one axis per way an utterance can fail without being false (quality, quantity, relation, manner), a speech-act guard in front, and a bipolarity test at the core. spec/corpus.jsonl is a labelled test set, and spec/run.py scores the checker against it: precision on good prose, recall on the catchable slop, and the blind spots no regex can reach, which are the standing agenda for the judgement pass.

python spec/run.py        # scorecard: precision, recall, contact, blind spots

A change to antislop earns its place only by moving that score without dropping precision. Build test first.

Contents

  • spec/: the specification (SPEC.md), the labelled corpus, and the runner.
  • AGENTS.md: the operative instructions an agent follows.
  • PATTERNS.md: the catalogue. Each pattern, why it reads as slop, and a sloppy-to-clean example.
  • PROCESS.md: how to deslop reliably, why a separate editing pass beats trying to write clean in one go, and the cutting pass that turns the urge to add into deletion.
  • check_slop.py: the deterministic checker.
  • examples/: before-and-after rewrites.
  • docs/: the in-browser checker (static, client-side, deployable on GitHub Pages).
  • test/: parity and false-positive tests for the browser engine (node --test).

Scope

This targets style, not substance. It does not check facts, grammar, or correctness, and it will not improve a weak argument. Keep the author's meaning, domain terms, and spelling convention (UK or US). The goal is plain, concrete, specific prose, not prose flattened into something robotic.

About

No description, website, or topics provided.

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors