Unslop Tools Are Turning AI Voice Into a Lint Error
Open-source de-AI-ifiers now treat ChatGPT cadence as a fixable build defect, and the easy half really is.
A Show HN crossed the front page this week pitching unslopai.com, a paid service that rewrites AI-generated text so it stops sounding AI-generated — fewer "leverages," fewer "delves," no more "in today's fast-paced world." The post itself barely registered: single-digit points, and the top comment was "fighting slop with slop." But it's not an isolated launch. It's the SaaS wrapper on something that's quietly become a tool category. There are now at least three MIT-licensed "unslop" projects on GitHub, a pip install unslop on PyPI, and marketplace listings for Claude Code, Cursor, and Windsurf. De-AI-ing prose is turning into a lint stage.
That's worth taking seriously even if this particular product isn't, because the shape of the tooling tells you something about where AI-assisted writing pipelines are heading.
The taboo list became a commons
Every one of these tools sits downstream of the same upstream artifact: Wikipedia's Signs of AI writing field guide. WikiProject AI Cleanup editors have been triaging undisclosed AI content since 2023 — over ten thousand articles by their count — and the roughly 15,000-word catalog they distilled from that triage got broad coverage last fall as the best AI-writing detection guide anyone had produced. One of the open-source unslop projects, theclaymethod/unslop, literally maintains a taboo-phrases file with automated sync against it.
This matters because it means the lexical layer of the problem is now commoditized. Detecting "let's dive in," "I hope this helps," stacked hedges, negative parallelism ("it's not just X, it's Y"), and em-dash pileups is a solved, deterministic, regex-shaped problem, and the pattern list is effectively public infrastructure maintained by Wikipedia editors. Nobody should be paying $19 a month for that layer, which is the awkward position the SaaS entrants are in.
The hard part isn't the words
The interesting engineering is one level up. MohamedAbdallah-14/unslop — the more polished of the open-source pair, around a hundred stars — runs a layered pipeline: a deterministic regex pass for the known tells, then a structural pass that deliberately reintroduces sentence-length variance ("burstiness"), then an optional LLM pass for semantic rewrites, with detector scoring as a feedback loop. The theclaymethod project goes further into what it calls silhouette tells: outline-following structure, recap codas, the self-Q&A rhythm — the sense that a piece was assembled from a bullet list rather than argued.
Those structural and silhouette tells are the real fingerprint. Individual words aren't; actual humans do reach for "leverage," just less often. AI voice is a distributional property, which is why stripping the vocabulary while leaving the rhythm produces the uncanny result one HN commenter nailed as having "a whiff of automatic translation." Credit where due: theclaymethod's own published evals label the current version "no-ship" — better recall than baseline, not yet meeting its precision and safety bars. That's an unusually honest self-assessment for this space, and more trustworthy than the competing repo's self-reported 92% slop reduction on its own nine-fixture suite, which you should read as a smoke test, not a benchmark.
Where this fits in a real pipeline
The obvious objection — raised in the HN thread — is that this is a prompt problem: tell the model to write plainly and you're done. That's half right and misses why the linter form factor wins anyway. Style instructions in a system prompt fail probabilistically and invisibly; the same prompt drifts across model versions, and nobody diffs the drift. A deterministic post-pass is the opposite: it's reviewable, versionable, and enforceable. You can run it as a pre-commit hook on docs/**/*.md, fail CI when slop density crosses a threshold, and read the rewrite as a diff before it merges. The open-source tools already ship in exactly this shape — Claude Code plugin, Cursor rule files, standalone CLI — and both are careful to leave code blocks, URLs, tables, and frontmatter byte-identical, which is the property that makes them safe to point at a docs tree.
If your team ships AI-assisted changelogs, release notes, or documentation, this is worth an afternoon: it's the difference between "we asked the model nicely" and "we have a style gate." Start with the deterministic pass only. The LLM rewrite modes reintroduce the meaning-drift risk you were trying to engineer out.
The treadmill you shouldn't get on
There's a fork in this road, and the tools themselves mark it. One of the repos ships an explicit "anti-detector" mode tuned to beat AI-text classifiers. That's a different product with a different customer, and it's a treadmill: every tell these tools strip at scale stops being a tell, detectors retrain on the residue, and the cycle repeats. Wikipedia's editors flag this themselves — their guide is "descriptive, not prescriptive," a snapshot of current model behavior, not a stable spec. Any tool that hard-codes today's tells has a built-in decay rate.
Unslop-as-evasion loses that race eventually. Unslop-as-linter doesn't need to win it — its job isn't to fool a classifier, it's to stop your own docs from reading like a press release, and that bar doesn't move when the models do. The SaaS versions will struggle because their entire value is a phrase list the commons now maintains for free. The skill-and-hook versions will stick around for the same reason prettier did: once prose quality is a diffable, CI-enforceable check instead of a vibe, teams don't go back.
Sources & further reading
- Show HN: Remove AI voice from AI writings — news.ycombinator.com
- Unslop - remove AI voice from AI writings — unslopai.com
- unslop: Make AI output sound human — github.com
- unslop: An agent skill to de-AI your writing — github.com
- Wikipedia: Signs of AI writing — en.wikipedia.org
- The best guide to spotting AI writing comes from Wikipedia — techcrunch.com
Mariana covers the fast-moving world of machine learning and generative AI, with a particular focus on how these technologies are reshaping development workflows. When she isn't stress-testing the latest foundation models, she's usually at a local hackathon.
Discussion 6
we ran into this at work last month—had to detox a batch of api-generated documentation because internal teams wouldn't trust it, even though the content was solid. the real problem is that once people smell the synthetic voice they stop reading critically, which means we needed the unslop layer not for accuracy but for perception. but now i'm wondering what happens when this becomes table stakes and everyone's running their output through these filters. does the problem just move upstream to the model training?
okay but i think you're assuming the perception problem stays constant—like once unslop becomes standard, people will just develop a new tell for synthetic writing and reject that too. feels like we're building a treadmill instead of actually solving why the voice feels synthetic in the first place. the solid content should speak for itself if it's actually solid, right.
we caught ourselves doing exactly this last month after our chatgpt-powered docs rewrites went live. realized we were shipping the same three corporate phrases in every changelog entry, and it was painful enough that our users actually called it out in feedback. swapped in one of those github unslop tools as a post-processing step and it caught like 80% of the obvious stuff. the hard part (making the tone actually match our voice) still needs a human pass, but yeah treating it like a linter made a real difference.
yeah, that 80% is deceptive though—i've watched the same pattern with linters. you get diminishing returns fast once you move past pattern matching. the real work is making your docs sound like *your team*, not just "less ChatGPT." we ended up treating it as a first pass only, then had someone actually rewrite for voice. the tool got us out of the worst offenders, but it can't fix the underlying problem—that you're outsourcing something that should carry your fingerprints.
spent three hours last week debugging why our docs read like a press release, only to realize half the team was just copy-pasting claude outputs verbatim. now we've got a lint rule that flags 'streamline' and 'synergy' like unused imports. the weird part is it actually caught real problems — turns out when you're forced to rewrite the slop, you notice you were being vague anyway.
yeah, that's the actual insight buried here — the lint rule isn't really about AI, it's about forcing a rewrite pass that you'd skip otherwise. we started doing something similar with our onboarding copy (manually, just rereading everything) and our conversion lifted like 8% just because we had to actually *justify* each sentence instead of letting the AI do the thinking for us. the unslop tool is just the accountability mechanism that makes the rewrite part non-negotiable.