SKILL 17 / WRITING · DEEP DIVE

De-Slopping Skills: What They Actually Delete

25 patterns / 55 patterns / eight categories · the one non-English list · and why "beat the detector" is a fight you shouldn't pick

2026-09-18 · BigCat

Every skill in this family is called some variant of "humanize," which makes it sound like taste in a bottle. Open any of their SKILL.md files and you find something mechanical instead: a named list of sentence patterns, deleted one by one. This issue takes apart four implementations you can actually click, and answers the question everyone has — will this get me past an AI detector?

Prerequisite → Skill 16 · Writing Skills Roundup (where this category sits in the whole)

// WHY THIS MATTERS

One disclosure first. The roadmap named the Agensi marketplace entry humanize-writing as this issue's subject, but this site could not open agensi.io this time. If it can't be verified, its install counts and rankings don't get cited here — the link is below, go look yourself. The thing worth remembering is that humanize / humanizer / humanize-writing is not one skill's name, it's the generic term for a category. So the four subjects below are all named by their GitHub repository path. If the path doesn't match, you didn't install the same thing.

// 01

What it removes for you: turning "this reads like AI" into a deletable list

Claim: what it kills isn't the editing pass — it's the state of not being able to name what's wrong. Aesthetic judgment gets demoted to pattern matching, and pattern matching is something you can check.

When you edit an AI draft yourself, most of the time goes into "something's off and I can't say what." This category breaks that sentence into named items. Not "make it flow naturally" — "pattern 8: the dash used as a universal connector, delete it." The four implementations differ in granularity, not in structure.

Implementation List size Its one distinctive thing Skip it when ────────────────────────────────────────────────────────────────────────────────────────────────────────── blader/humanizer 25 patterns, groups A–E states "does not make things up" you already run any sibling hardikpandya/stop-slop 8 categories + swap table references/ files you can copy you write specs / API docs Aboudjem/humanizer-skill 55 patterns, 8 categories 0–100 score + local zero-dep CLI you want one rewrite, no score gencharitaci/humanize-skills 20 languages x 10 modes the only non-English catalog you only write English ────────────────────────────────────────────────────────────────────────────────────────────────────────── Stars, per each project's own GitHub page, 2026-09: blader 49.7k / stop-slop 17.3k / Aboudjem 245 / gencharitaci 0

How to install (commands copied from each project's own page)

# (1) blader/humanizer — the best known one; invoke with /humanizer
npx skills add blader/humanizer --global

# (2) hardikpandya/stop-slop — this is upstream (Skill 16's boraoztunc copy is a mirror)
git clone https://github.com/hardikpandya/stop-slop ~/.claude/skills/stop-slop

# (3) Aboudjem/humanizer-skill — the only one with a recomputable score
npx skills add Aboudjem/humanizer-skill
# Claude Code plugin form: claude plugin install humanizer@10x

# (4) gencharitaci/humanize-skills — install this one for its language catalogs
npx skills add gencharitaci/humanize-skills

The first thing you can actually run

Don't start by asking a model to rewrite anything. Run (3)'s local CLI first — plain Node, zero dependencies, no network calls, and the only thing in this category that produces a result without spending model tokens:

# Score a draft (0–100 AI-tell score, five verdict bands)
node cli/index.js score examples/blog-post/before.md

# Diff before/after and check that numbers, URLs, dates, versions, acronyms survived
node cli/index.js compare --before draft.md --after final.md --check-facts

Run it on something you shipped last week. If the score already looks fine, you can skip this whole category — what you save is the description budget every installed skill charges you on every turn.

Further reading · blader/humanizer · SKILL.md (all 25 patterns with their groupings and the four-step flow; MIT, v3.0.0)
// 02

Mechanism: why it works, and the opposite answers two authors gave

Claim: everything that works here is mechanical — a list, a self-critique pass, and a fidelity guard. And on the question "how long should the list be," the same codebase's author and forker reached opposite conclusions, which tells you this category has no ground truth.

Three layers

  1. A named list demotes taste to lookup. blader/humanizer's 25 patterns come in five groups: A, staging instead of stating ("not X but Y", sayings that sound deep, a staged run-up before the point); B, rhythm by rule (forced triads, repeated sentence openings, dashes as the universal connector); C, inflation and borrowed authority; D, formatting by rule (bold as decoration, decorative headings); E, leftovers from chat and draft (chatbot residue, knowledge-limit disclaimers). The first five are strong enough to justify an edit on a single sighting. The model doesn't have to judge quality — only to find matches.
  2. Self-critique is a cheap second pass. The output runs in four steps: mark the tells, draft the rewrite, check that draft, write the final. That third step costs almost nothing and catches a real share of the damage, because rewriting introduces fresh slop of its own.
  3. The fidelity layer guards the expensive bug. blader/humanizer's README is explicit: a name, number, date, quote or citation must come from the source or the writer, and if a detail is missing the skill asks rather than inventing one. Aboudjem turned that promise into an executable --check-facts. The worst failure in rewriting isn't a worse draft — it's a better-sounding one. "Up 23.4% year over year" becomes "growth approaching a quarter," which reads better and is no longer the same number.
More patterns isn't better, and nobody knows what the right number is: blader/humanizer's v3.0.0 release notes say it "consolidated 35 patterns into 25." Its fork jooray/humanizer (49 stars per its GitHub page, 2026-09, against upstream's 49.7k) explicitly refused that merge, on the grounds that taking it wholesale "would now drop #26–54," and hand-ported selected fixes instead while keeping all 54 patterns plus Slovak and Czech support. The author and the forker of one codebase gave opposite answers, and neither has evidence. Every list in this category is a snapshot of one moment's observation, not a law of language.

What makes stop-slop the lightest one

hardikpandya/stop-slop (17.3k stars per its GitHub page, 2026-09; SKILL.md carries v2.0.0 and an internal date of 2026-03-17) splits into SKILL.md plus three references/ files: phrases.md, structures.md, examples.md. Its eight categories are throat-clearing openers, emphasis crutches, business jargon, adverbs, meta-commentary, performative emphasis, telling instead of showing, and vague declaratives. The key detail is that phrases.md is a two-column swap table (navigate → handle, address), which means you can use it without installing anything — paste the table into your own prompt. It also ships a five-dimension score (directness, rhythm, trust, authenticity, density, 1–10 each), with revision warranted below 35/50. That stopping line is exactly what blader's version lacks.

// 03

Real use and limits: other languages, and three places to encode your voice

Claim: all three lists above are English sentence patterns, and they mostly idle on text in another language. That's the one case in this issue where a specific repo is genuinely irreplaceable.

Non-English slop is a different table

"Delete every -ly adverb" and "cut the em dashes" do nothing to a Chinese, Japanese or Turkish draft. gencharitaci/humanize-skills (CC BY 4.0, 0 stars) is the only one here with per-language catalogs: references/languages/ holds 20 files — zh.md, ja.md, ko.md, ar.md, ru.md, tr.md and the rest — plus a modes/ directory with ten purpose modes. The Chinese catalog is concrete enough to use as a checklist straight off: overused vocabulary, reflexive marketing superlatives, sentence-pattern tells (the repeated "not merely X, but rather Y" construction; false-depth reveals of the "at bottom, the real question is…" kind; guided-tour openers like "let us now dive deep into…"), punctuation and number conventions, false-positive carve-outs and one worked before/after example.

Look before you install: the Chinese catalog is written in traditional characters, so writers working in simplified have to convert it or accept missed matches. And the repo has 0 stars and 3 commits — its value is the table, not the project's maturity. The sound move is to read the file, take the ten entries you actually commit, and paste those, rather than hanging the whole thing on your trigger chain.

Encoding your own voice: three layers, don't pick the wrong one

"Write like me" and "stop sounding like AI" are different jobs. The second runs on lists; the first runs on examples — and which layer you put it in decides when it applies:

The rule in one line: "I re-explain this every turn" goes in an output style; "I need this occasionally" goes in a skill; "this only holds in this repo" goes in CLAUDE.md. Writing your tone default as a skill hands it to a trigger you don't control — and a voice that changes every time is worse than one that's consistently wrong.

Three hard limits

Further reading · Claude Code · Output styles (file locations, frontmatter fields, and the comparison table against CLAUDE.md, skills and subagents, 2026-09)
// 04

Costs and alternatives: if the goal is beating a detector, don't take that fight

Claim: detectors never measured who wrote it — they measure how unsurprising the prose is. A humanizer is a natural adversarial example against that, which is why the trick works, why it won't keep working, and why it pins your delivery standard to something that flipped within two years.

Three things you can check

Failure mode: using a humanizer to chase a detector score pushes you toward writing that sounds less like you, because what it optimizes is sentence-length variance and vocabulary distribution — statistics, not your judgment. Worse, it assimilates you. Run it for three months and you start treating those 25 patterns as writing truth, when they are one person's 2026 observations about English prose.

What to do instead of installing one

// ONE-PAGE BUYING CARD

If you install only one: npx skills add blader/humanizer --global — 25 patterns, a four-step self-critique flow, and an explicit no-fabrication promise; the default choice for English prose. If you want a recomputable stopping line, take Aboudjem/humanizer-skill instead and start with node cli/index.js score <something you shipped>. If the score looks fine, don't install anything.

Add by situation: writing in another language → take just the relevant file from gencharitaci/humanize-skills's references/languages/ (the Chinese one is in traditional characters; convert it, then keep ten entries) · want zero trigger cost → move hardikpandya/stop-slop's references/phrases.md into ~/.claude/output-styles/ · want "like me" rather than "not like AI" → an output style plus three example pairs, the brand-guidelines route.

Explicitly don't: run blader/humanizer, stop-slop and Aboudjem/humanizer-skill at the same time (one trigger surface, a voice that shifts every run) · leave one on in a technical-docs repo (the adverbs it cuts are your precision) · install one to beat an AI detector (see the three items in section 04) · install by name from a search — jooray/humanizer and blader/humanizer share a name and a description, differ by a thousandfold in stars, and no longer ship the same list.

Three things after installing: run /skills and confirm only one sibling is live · run --check-facts on anything numeric, or keep it away from those passages · set yourself a stopping line (Aboudjem's score, or stop-slop's 35/50), because this category will let you revise forever.

// GLOSSARY

AI tell
A recognizable construction models produce at high frequency. The lists in this category enumerate them, from 8 categories to 55 patterns.
perplexity
A measure of how surprising a passage is to a model. A core detector feature: flatter reads as more machine-like — and non-native writing is also flat, which is where the false positives come from.
burstiness
Variation in sentence length. Human writing swings; models stay even. This is the statistic a humanizer optimizes, which makes it an adversarial example against detectors by construction.
false positive
Human writing judged to be AI-written. Liang et al. measured 61.3% on average over non-native essays in 2023.
output style
A Claude Code configuration layer that replaces the default instructions and ships with every request — a different thing from an on-demand skill.

// FURTHER READING