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 spaced 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.

Get started

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
go install github.com/dcadolph/slop-chop@latest

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 for clean to 100 for heavy slop. It weighs rule tells, with stock sentence shapes counted double, against flat cadence and a hedge-heavy register. 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 spaced 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 spaced hyphen, the "The best part?" reveal, bold-label bullets, emoji headings. The default profile tracks what models write now, with 114 buzzwords, 39 stock phrases, and 21 sentence shapes.

  • Measured, not guessed


    The engine ships with a labeled corpus of AI, human, and technical passages. AI text averages 79 of 100 on the slop score, human text 3, and technical prose raises no false flags. The benchmark runs with the tests and fails on any regression.

Install it anywhere

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

  • Command line


    go install github.com/dcadolph/slop-chop@latest

  • This page


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

  • 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).

  • Browser extension


    Chrome, Edge, and Firefox, on the Chrome Web Store and Firefox Add-ons. See Extension.

  • Obsidian


    The desktop plugin under obsidian/.

  • Node


    npm install slop-chop-wasm.

  • HTTP API


    POST https://api.slop-chop.com/chop. See API.

  • Slack


    A /chop command and a message shortcut, riding the API. See Slack.

  • 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.

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.