Skip to content

slop-chop

Chop the slop.

Emails. Resumes. Blog posts. Docs. LinkedIn. READMEs.

Paste text that sounds like a bot, get back text that sounds like you. Em-dashes, buzzwords, stock phrases, and the newer tells models switched to once everyone learned the old ones: the double hyphen, the "The best part?" reveal, emoji bullets. All chopped in one pass, right in your browser. Plug in a model when you want a deeper rewrite.

Paired with your AI, it is the rails. It runs after the model to catch what drifted, gates a build on the score, and bosses the agent into cleaning its own work to your standard, not its whim.

Get started Put it in your agent

Chop it right hereRuns in your browser. Your text never leaves the page.
Slop in
Chopped
slop-chop
$ echo "In summary, the fix—simple and quick—shipped today." | slop-chop fix The fix, simple and quick, shipped today. $ slop-chop check notes.md notes.md:1:43 structural:lets-dive-in: "Let's dive into" notes.md:3:18 word:robust: "robust" notes.md:4:35 structural:fragment-reveal: "The best part?" slop-chop: 3 finding(s) $ slop-chop score notes.md 66
brew install dcadolph/tap/slop-chop

How it works

1Rules passFast and deterministic. Swaps characters, drops flagged words, rewrites stock phrases, fixes spelling to one dialect, tidies punctuation. No model, no cost, same output every run. Code blocks come through untouched.
2ScoreOne number from 0 to 100 for how densely the profile's patterns appear, with stock sentence shapes counted double. A lint result, not a reading on who wrote the text. Pass --max to gate a build.
3RewriteOptional. Hands the text to a model for the things rules cannot manage, like reworking a sentence so it no longer needs a semicolon, or bending the writing toward your voice.

"Can't my AI just do this?"

A model has the brains for it. Point one at your draft and it will spot the buzzwords and fix a clumsy line better than any fixed list can. What it will not do is behave the same way twice. It cuts a phrase on this run and keeps it on the next, forgets half your rules by the third paragraph, and nudges your meaning while you look away. Ask the model that wrote the slop to take it back out and you get the same model guessing a second time. Nothing to pin down, nothing to diff.

slop-chop is a fixed list, not a mood. The same text gives the same result every run, with or without a model in the loop. On its own it is a deterministic clean that costs nothing. Paired with your AI it becomes the rails: it runs after the model to catch what drifted, gates a build on the score, and bosses the agent into cleaning its own work to your standard, not its whim. You keep the model's brains and add the bumpers that hold it honest.

There is a second problem a model cannot solve for you. Every tell that gets famous gets trained away, and the writing simply moves somewhere else. The em-dash gave way to a double hyphen. "Delve" gave way to "crucial" and "vibrant". The stock opener became the fragment reveal, "The best part?", and the bold-label bullet list. A list only works if someone keeps watching what changed. That is the work here, and the benchmark in the repo is the receipt.

Why slop-chop

  • Deterministic and free


    No model, no cost, and the exact same output every run, predictable enough to diff in review and trust in a pipeline. It knows markdown, so code, links, and front matter pass through untouched.

  • Drop it in CI


    check fails a pull request when it finds slop, and fix can push the cleanup straight back to the branch. A ready-made GitHub Action wires both into your pipeline in a few lines.

  • Claude Code plugin


    The repo is its own marketplace. Install the plugin for a slop-chop skill and a /slop-chop command, so the assistant runs the tool and cleans its own output for you.

  • Reads like you


    Profiles and presets say what to cut and what to put in its place. Bring your own keep, prefer, and avoid lists so the result sounds like you, not a chatbot.

  • Tuned for today's models


    Models trained away "delve" and the em-dash, then picked up new habits: the double hyphen, the "The best part?" reveal, bold-label bullets, emoji headings. The default profile tracks what models write now, with 161 buzzwords, 46 stock phrases, and 61 sentence shapes.

  • Measured, not guessed


    The engine ships with a labeled corpus of AI, human, and technical passages. AI text averages 85 of 100 on the slop score, human text 2, and technical prose raises no false flags. The benchmark runs with the tests, fails on any regression, and its numbers, methods, and limits are documented. And the tool eats its own cooking: every guide on this site passes slop-chop's own check in CI. This front page is the one exception, since its demo text is slop on purpose.

Install it anywhere

The same engine, wherever you write. Everything is local and free unless noted.

  • This page


    The web app above. Nothing to install, nothing leaves the browser.

  • Command line


    brew install dcadolph/tap/slop-chop, or go install github.com/dcadolph/slop-chop@latest.

  • Claude Code


    /plugin marketplace add dcadolph/slop-chop, then /plugin install slop-chop@slop-chop. See Claude plugin.

  • Claude Desktop, Cursor, any MCP client


    slop-chop mcp serves chop and check as tools, over stdio and local. See MCP server.

  • CI and automation


    The GitHub Action, Raycast, macOS, and pre-commit. See integrations.

  • VS Code, Cursor, VSCodium


    Search slop-chop on Open VSX.

  • JetBrains and LSP editors


    The JetBrains Marketplace plugin, or slop-chop lsp for Neovim, Helix, and the rest. See Editor (LSP).

  • Obsidian


    Search slop-chop in Settings, Community plugins.

  • Node


    npm install slop-chop-wasm.

Start here

  • Quickstart


    Install and clean your first file in a couple of minutes.

  • Profiles


    Every field, the presets, the spelling dialects, and the allow list.

  • Engine


    How the rules pass works under the hood.

  • The tells


    The full catalog of what gets chopped or flagged, and why.

  • Claude plugin


    Install, the skill, the command, backends, and troubleshooting.