Zero Slop
Score your writing 0 to 100 for AI slop, then edit it out without changing a single fact.

Problem
AI writing has an accent: "It's not X. It's Y." "Here's the thing nobody tells you." Ask an AI to fix it and it sands off the vocabulary and cadence that made the writing yours, and rewrites your numbers on the way.
Zero Slop is an Agent Skill and ships no model. Claude, GPT, or another compatible model does the editing; Zero Slop supplies the workflow, the meter, and the checks that refuse any change to a name, number, quotation or link.
How to install Zero Slop
Paste this into Claude Code, Codex, Cursor, OpenCode, Warp, or Zed:
Install the Zero Slop skill globally from https://github.com/manavmishra/ZeroSlop
Or install it with npx:
npx skills add manavmishra/ZeroSlop --global
ChatGPT users can download dist/zero-slop-single-file.md.
Claude.ai users can upload dist/zero-slop.zip. npx skills update zero-slop --global updates it later.
How to use Zero Slop
/zero-slop (your writing)
You get the edited draft, a before-and-after score, and the flagged phrases quoted with why. /zero-slop inspect (your writing) reviews without rewriting.
For a folder, slopscore.py --batch drafts/ --gate 25 fails the build above the threshold.
The slop that Zero Slop catches
290 weighted patterns and a 96-term lexicon, including:
- Binary contrasts. "It's not X. It's Y."
- Throat-clearing openers. "Here's the thing," "Let me be clear"
- Faux-insight setups. "What nobody tells you," "The part everyone misses"
- Colon reveals. "The best part: it learns."
- Dramatic fragments. "That's it. That's the whole thing."
- Superficial analysis. "highlighting the team's commitment to innovation"
- Importance puffery. "marks a pivotal moment," "a testament to"
- Weasel attribution. "experts agree," "studies show"
- Synonym cycling. The agent, the assistant, the tool, all one thing.
- Marketing riders. "robust" and "leverage" score only beside a marketing trigger, so a runbook stays quiet.
A reading pass covers defects of the whole document, which no span pattern reaches: one shape repeated seven times, statistics piled into a paragraph,
paragraphs that shuffle without loss. references/eval.md has all
76 checks.
Human writing scored 9 to 21 in data/corpus/must-not-flag/;
unedited AI drafts averaged 77 across bench/examples.json.
Neither number identifies the author.
How it works
Eight roles form one workflow. Each is a job rather than a service: a single model can handle several of them, each as its own pass, so nothing grades its own output.
| Role | Who does it | What happens |
|---|---|---|
| 1. Scorer | Local tools | Finds the exact wording, rhythm, readability, and formatting problems that raised the writing score. |
| 2. Interpreter | Your AI assistant | Reads the claims, purpose, audience, structure, and voice before changing anything. |
| 3. Rewriter | Your AI assistant | Removes stock language and rebuilds order, rhythm, and tone without inventing detail. |
| 4. Fact gate | Local tools | Rejects any version that changes names, numbers, quotations, links, code, tables, paths, or structure. |
| 5. Copy desk | Fresh AI pass | Corrects grammar, spelling, usage, and consistency in the actual deliverable. |
| 6. Read-aloud editor | Fresh AI pass | Fixes stumbles, repetition, weak transitions, and awkward flow. |
| 7. Verifier | Local tools and your AI assistant | Compares text with source for facts, meaning, qualifiers, voice, format, structure. |
| 8. Fresh-eyes finalizer | Fresh AI pass | Reads the verified text as a first-time reader, applying only safe polish. Any final polish restarts the final checks; the same text must return unchanged before release. |
Eight is an engineering choice; research supports the individual checks. Studies find predictable wording and overused vocabulary in machine text, and authorship detectors can misclassify non-native English. Local tools use only Python's standard library.
Private learning from your edits
Learning starts only when you hand over both versions: the produced and the kept. Zero Slop watches nothing on its own: no file monitoring, no browser hooks, no reaching into where you publish.
A phrase must vanish from three unrelated pieces to become a private rule; a word, five. Each must be new and stay silent on known-human text. Private
data stays under $ZERO_SLOP_HOME.
This is human-in-the-loop online learning. It never retrains Claude, GPT, or another model, and involves no neural training or RLHF. A profile can exempt existing watchlist words when selected by name; it does not learn cadence, tone, or a complete writing style.
What's inside
SKILL.md has the workflow and references/eval.md the
76 checks. scripts/slopscore.py is the meter and fact gate,
with scripts/register.py running the reading pass.
bench/README.md documents every benchmark with its limits.
Evidence
Against other tools, same model, same drafts
We reran Zero Slop, avoid-ai-writing, no-ai-slop and humanizer on the same 18 obvious drafts, each with GPT-5.4, high reasoning, batches of three, and its pinned instructions.
| Method | Mean writing score ↓ | Passed all Zero Slop checks | Important details kept | Average length change |
|---|---|---|---|---|
| Original drafts | 76.3 | 0/18 | — | — |
| Zero Slop | 12.8 | 18/18 | 18/18 | -8.9% |
| avoid-ai-writing | 23.3 | 15/18 | 18/18 | -14.6% |
| no-ai-slop | 28.4 | 12/18 | 17/18 | -13.7% |
| humanizer | 35.4 | 9/18 | 17/18 | -7.2% |

Those checks are Zero Slop's own, so we also ran a method-hidden comparison against the pinned incumbent. The GPT-5.4 reviewer favored Zero Slop on 13 drafts and avoid-ai-writing on 3, with 2 unresolved; the passes agreed on 16 of 18. Our source check cleared 18/18 of our rewrites and 16/18 of the incumbent's. On mean score across this second set we lost, 17.8 to 17.0.

Cross-checks the tools didn't build: an external checker's clean rates, and a method-hidden quality ranking.


This is a small LLM-reviewed regression study. It measures neither field accuracy nor a
universal ranking. Drafts, mappings, verdicts, hashes and limits:
bench/incumbent-blind-replay/. On the 38-item
editorial panel (bench/README.md), v2.6.1 matched the prior 84.2% result. Its four new checks left all 114
frozen document scores unchanged and 18 human controls clear, while the four target cases
moved from 9.5 to between 30.7 and 65.1. Median throughput was 0.03% lower across 12
runs, which is local timing noise and no kind of speed claim.
Speed
On one Apple silicon Mac: 1,000 documents in 2.1956 seconds (455.5 per second), a 15,201-word document in 0.3225 seconds, the slowest stress case in 2.2577 seconds, an 8,000-word learning pass in 0.1811 seconds. Editing time is excluded; none of this is a service-level guarantee.
Current models
The pinned RAID+ sample yielded 7,627 usable generations:
| Model | Texts scored | Mean writing score ↓ | At or above 25 |
|---|---|---|---|
| DeepSeek V3 | 1,995 | 14.5 | 10.1% |
| Gemini 3.1 Pro | 1,998 | 17.0 | 18.2% |
| Gemma 3 27B | 1,634 | 21.6 | 30.4% |
| Llama 3.3 70B | 2,000 | 25.5 | 41.7% |
RAID+ labels capture which model produced a text and say nothing about quality. In Beemo, raw responses averaged 30.2, expert edits 25.3, human answers 20.0. Neither dataset carries quality labels.
Where Zero Slop came from
Zero Slop stands on no-ai-slop, humanizer, de-slop, stop-slop, unslop-text and avoid-ai-writing, adding a writing score, source protection, separate editorial passes, private learning, portfolio analysis and release tests.

The chart records which features each project documents, and says nothing about writing quality. Reproduce the shipped checks:
python3 tests/test_all.py
python3 scripts/calibrate.py --selftest
python3 scripts/register.py --selftest
python3 bench/make_charts.py --check
License
MIT
No comments yet
Be the first to share your take.