The no-ai-slop skill
How the AI-writing cleanup skill works, and the research behind it. Enter hub password to continue.
That's not right. Try again.
Tooling · 29 July 2026
The no-ai-slop skill
One Claude skill that strips AI-writing patterns out of a draft without sanding your voice off. It's a merge of the three best open-source skills in the category, picked by reading the actual code in seven of them, then rewired so it follows your rules instead of theirs.
How to use it
Type /no-ai-slop in any project, then paste a draft. It has three modes and it picks the right one from how you ask.
- Edit (the default). Paste a draft, get it back edited, plus a short "what changed" list of 3 to 8 bullets. If the list is longer than that, it rewrote instead of edited, and that's a bug.
- Detect. Ask "does this sound like AI?" and it flags patterns without touching the text. Each finding quotes the line and names the pattern, so you can check the call yourself. It will not give you a score, on purpose.
- Audit. For anything public or paid. Full catalog sweep, then a second pass where it interrogates its own draft, then a pass or fail rubric before it hands anything back.
There's also a scanner you can run over a file directly. It's a triage list, not a verdict.
node "C:\Users\annet\.claude\skills\no-ai-slop\scripts\slop-lint.mjs" draft.md Findings come in two tiers. Hard is always wrong in your writing and fails the run. Soft needs your eyes, because words like "crucial" are sometimes the accurate word in health writing. Add --hard-only to hide the soft tier, or --quiet for just the summary.
Why it needed rewiring
Every skill in this category is built for a generic writer. Yours isn't a generic voice, and three of the four rules you care most about were actively contradicted by the source material. The most embarrassing example: the most popular humanizer on GitHub, with 32,000 stars, has a worked example that turns "No configuration file needed" into "You do not need a configuration file." Not "you don't." It de-contracts, which is the opposite of your standing rule and reads as more robotic, not less.
So the merged version carries eight non-negotiables that override everything else in it:
- Zero em dashes and en dashes. No "sparingly," no exception when you supply a writing sample. Two of the three sources had an escape hatch that would have quietly reintroduced them.
- The displacement check. Deleting the character doesn't delete the rhythm. More on this below.
- Contractions always. Never de-contracts anything.
- Never rewrites a file in place. The popular one overwrites your source file with only the final version. That's gone.
- Never invents a fact. No name, number, date, quote, or citation that wasn't already in your draft. If a sentence needs a source to work, it asks.
- Your voice profile is the protect list. It reads your anti-AI voice file before editing, and where that file conflicts with a pattern, your file wins and it tells you so.
- Formatting rules apply inside paragraphs, never to structure. All three sources call bold, emoji, and bullets slop. In a Substack issue those are deliberate design, so the skill strips decoration inside prose and leaves the architecture alone.
- Medical hedging is exempt in health content. "Cut the hedging, pick a side" is right for business copy and wrong for menopause, HRT, and APOE4 writing, where the qualified claim is the honest one. It cuts hedge stacking ("could potentially possibly") and keeps the clinician framing.
The one idea worth stealing on its own
From a repo I didn't otherwise use: banning em dashes doesn't remove the AI cadence, it relocates it. The same punchy-aside rhythm reappears as colon reveals ("The best part: it learns"), comma splices, and parenthetical asides. The punctuation changed, the metronome didn't.
Your em dash ban has been in force for months, which means your drafts have almost certainly been doing this the whole time. The skill now runs a displacement check after the dash pass and rewrites the sentence properly instead of letting the beat move house.
What's inside
- The router with the three modes, the workflow, and the eight rules at the top.
- The pattern catalog, 40 entries with before and after examples, sorted into three severity tiers: credibility killers, structure tells, and surface polish. Structure first, because that's what readers actually notice.
- The false-positive guard. Thirteen things that look like AI and aren't, including perfect grammar, formal vocabulary, curly quotes, and a single short emphatic sentence. Plus a list of human signals to protect: specific unfakeable detail, mixed feelings, genuine asides, and being a little fed up, which your voice profile names outright.
- A rubric the skill runs against its own output before returning anything.
- The scanner, rewritten from the one open-source linter in the category.
How it tested
On a deliberately slopped sample it found 15 hard and 7 soft problems, and correctly ignored the em dash and banned words I'd hidden inside a code block and a blockquote, since quoted material isn't your prose.
On three paragraphs of real health writing in your voice it found zero hard problems and passed. The only two soft flags were the word "actually," raised for a human read rather than swapped automatically. That's the behavior I wanted. A linter that cries wolf on your good writing is worse than no linter.
It also caught a live em dash in the heading of your own anti-AI voice profile, in the file that bans them. Fixed.
The research: seven skills, read in full
Descriptions in this category are all marketing, so this compares what's actually in the files. The three in bold are the ones that got merged.
| Skill | Size | Method | Voice handling | Verdict |
|---|---|---|---|---|
| petergyang/no-ai-slop | 1,563 words, 3,409 stars | Two modes, minimum effective edit, self-run rubric. Refuses to score. | Preservation is the architecture. Identifies voice signals before touching anything. | Merged: the spine |
| blader/humanizer | 4,472 words, 32,000 stars | 33 patterns, each with a real before and after, plus a draft to audit to final loop. | Matches a supplied writing sample. De-contracts by default, which is wrong for you. | Merged: the catalog |
| haidrrrry/humanize-ai-writing | 2,400 words, 7 stars | Thin skill, but the only real runnable linter in the field. Bans em dashes outright. | Imposes a plain house style. Rewrites silently by instruction. | Merged: the scanner |
| kjmagnan1s/anti-slop | 12,735 words, 0 stars | Best design on paper: severity triage, vocabulary tiers, per-surface profiles. | A protect-list seam, shipped as an unfilled template. | Skipped, one idea taken |
| sirambrosio/humanink | 10,200 words, 2 stars | 35 patterns and a 0 to 100 score computed by arithmetic no model can actually run. | Style fingerprinting if fed samples, generic archetypes otherwise. | Skipped |
| jpeggdev/humanize-writing | 5,540 words, 39 stars | Solid 8-pass pipeline with genuinely good false-positive discipline. | Installs a specific tech-blogger personality in its final pass. | Skipped |
| jalaalrd/anti-ai-slop-writing | 1,670 words, 228 stars | A flat rule list applied at write time, with no process and no loop. | Hardcodes a default persona. Never explains a single edit. | Skipped |
Why the popular ones lost
The one that teaches fabrication
jpeggdev has the best editing structure of the seven, and then its showcase example demonstrates "add specific sources" by inventing a named interview subject and a fake study attribution. For health writing with citation discipline that's the single most dangerous thing I read all day.
The one whose numbers are made up
HumanInk is the most impressive document in the category and the least usable tool. Its scoring engine is six steps of standard deviations and density multipliers with nothing to compute them, so the scores are confabulated and won't reproduce between runs. Its own file breaks its own em dash rule 72 times.
The one that's mostly a promise
anti-slop's README calls its living pattern corpus "the asset you cannot copy." The corpus has two entries. Its weekly loop also sweeps Reddit and X for new rules, which means untrusted web text becoming instructions your editor follows later. Good architecture, empty building.
The supply-chain one
The linter I did take ships a pre-commit hook that pulls unpinned code from GitHub and runs it on every single commit. The scanner in your skill is a local copy with that removed, the worst false-positive rule deleted (it flagged every ordinary use of "rather than"), and your own banned slogans and wellness vocabulary added.
All three merged sources are MIT licensed and credited in the skill folder, along with every place I deliberately diverged from them and why. Nothing here phones home, and the scanner has no network access and no dependencies.