by the
red pen
Make it survive a
hostile editor's red pen.
Strip the AI slop from prose and sharpen what's underneath — without trading it for louder slop.
It's worth noting that, in many cases, caching can often lead to significant improvements in performance for a wide variety of applications.
Caching improves performance for many applications.
same claim, stated ✓ slop_band · strongTwo hard rules, read first.
Most "humanizers" swap AI-slop for forced hot takes, em-dash theatrics, and fake first-person. This skill treats that as a failure, not a fix.
Fidelity over flair
Preserve the original meaning and claims exactly. Only subtract hedging and filler, and sharpen what's already there. Never inject stance or personality the content didn't earn.
Swapping AI-slop for edgy-slop is a failure.Flag hollow spans, don't fabricate
Some prose is weak because it has no point to make — rewording can't save it. Those get flagged for a human, never faked with an invented hot take.
The bar is a thinking author, not a loud one.The loop: detect, judge, rewrite, prove.
Paragraph by paragraph. It reports rather than overwrites — you decide what to accept.
Scope & pre-flag
Skip code, headings, lists. A deterministic flag_slop.py pass surfaces obvious tells as candidates.
Judge
Score each paragraph against the rubric: strong · moderate · weak · fail, with a one-line reason.
Triage
The central call: is it rewordable (a real claim, buried) or hollow (no claim at all)?
Rewrite
Subtract the hedging, surface the buried claim, keep the meaning identical. Fidelity guardrails apply.
Self-score
Re-judge against the rubric. Bar is strong; cap is 3 passes. Can't reach it? Keep the best and flag it.
Report
Humanized text + a per-paragraph change log + flags. Non-destructive, fail-honest, idempotent.
It's measurable — and it knows its limits.
A zero-dependency eval gates the detector on every push across Python 3.9–3.13. No pip install — that's the portability proof.
de-slop detector eval (tests DETECTOR behaviour only — not humanness) corpus: 29 slop / 11 clean / 11 over-correction recall 1.0 gate >= 0.95 PASS clean_specificity 1.0 gate >= 0.95 PASS oc_recall 1.0 gate >= 1.00 PASS false_positives 0 gate <= 1 PASS # the catch the thesis insists on: over-correction recall 1.0 # louder-slop caught too RESULT: PASS
Catches louder-slop too
The eval gates over-correction recall at 100%: performed candor, em-dash theatrics, and manufactured stakes must be caught — not just timid AI-slop.
Surface tells, not humanness
The slop_band score measures pattern density, never claim presence. A clean-scoring paragraph can still be hollow — and the skill says so.
Sentence-aware buzzwords
"We leverage connection pooling" stays silent; "seamless platform empowers teams to leverage cutting-edge X" flags the whole cluster.
Honest about its blind spots
A documented catalogue marks which tells regex can't see — hollowness, fabricated stance — so a quiet detector is never mistaken for clean prose.
29 tells, including stop-slop's
The taxonomy folds in the stop-slop corpus and its community PRs — assistant voice, transformation chains, corrective reveals — as weighted, idiom-anchored rules, not a blunt block-list.
Score your own text for AI slop.
The repo's detector, ported to run in your browser. Paste prose, get a slop score and the flagged tells. Nothing is uploaded — it runs entirely on this page.
Surface tells only — not a humanness judge. A clean score means "no pattern-matched slop," never "good writing." Hollow prose with a real-sounding shape can still score high; only a human (or the full skill loop) catches an absent claim.
Install for your tool.
One source, every harness. Each adapter is generated from the same SKILL.md — drop it in and ask "humanize this." Zero dependencies.
Claude Code skill
git clone https://github.com/isatimur/de-slop \ ~/.claude/skills/de-slop
Then ask: "humanize this."
SKILL.md ↗Cursor .mdc rule
mkdir -p .cursor/rules && curl -o \ .cursor/rules/de-slop.mdc \ https://raw.githubusercontent.com/isatimur/de-slop/main/adapters/cursor/de-slop.mdcadapters/cursor/…mdc ↗
GitHub Copilot instructions
mkdir -p .github/instructions && curl -o \ .github/instructions/de-slop.instructions.md \ https://raw.githubusercontent.com/isatimur/de-slop/main/adapters/copilot/de-slop.instructions.mdadapters/copilot/… ↗
Codex & agents AGENTS.md
curl -o AGENTS.md \ https://raw.githubusercontent.com/isatimur/de-slop/main/adapters/AGENTS.md
The cross-tool standard — also read by Amp, Jules, Pi, Hermes, OpenCLAW.
adapters/AGENTS.md ↗Gemini CLI GEMINI.md
curl -o GEMINI.md \ https://raw.githubusercontent.com/isatimur/de-slop/main/adapters/gemini/GEMINI.mdadapters/gemini/GEMINI.md ↗
Windsurf rule
mkdir -p .windsurf/rules && curl -o \ .windsurf/rules/de-slop.md \ https://raw.githubusercontent.com/isatimur/de-slop/main/adapters/windsurf/de-slop.mdadapters/windsurf/… ↗
Any chatbot paste-anywhere
Copy the self-contained prompt into ChatGPT, Claude, or Gemini, then paste your text under it. No install, no account, nothing to set up.
adapters/PROMPT.md ↗CLI detector uv · pipx
# run the deterministic flagger anywhere — recommended: uv uvx --from git+https://github.com/isatimur/de-slop \ de-slop yourfile.md --score # or install it as a standalone tool uv tool install git+https://github.com/isatimur/de-slop de-slop yourfile.md # JSON of flagged tells
Zero runtime dependencies, stdlib only. pipx install works too.