Humanizer — de-slop long-form prose
Removes the tells that make writing read as AI-generated. The full pattern set lives in
references/patterns.md (33 patterns, vendored from blader/humanizer). Read that file before
editing — this wrapper only carries the scope and the voice calibration.
What this is for, and what it is NOT for
Use it on: nurture/sequence emails, sales pages, lead magnets, product docs, landing copy,
long-form posts — buyer-facing prose you are about to ship.
Do NOT use it on short-form video scripts. Those get their own spoken-word de-slop pass with
different overrides (in content-script-generation, that is gate C). Two tools on purpose: prose
and TTS scripts fail differently — a script is judged on how it sounds against a seconds budget,
prose on how it reads.
The one thing that matters most: it can only remove, never add
Measured on a real run, 2026-07-30. On a raw Claude draft it cut ~70%, all puffery. On copy that
was already written in an established human voice it changed almost nothing — 3 punctuation
swaps. It takes text from sloppy to plain — never to good. Its own rule #3 forbids
inventing facts, so it cannot supply the specifics that make copy land (a real price, a real
disclosure like "I'm not paid by any of these tools to name them", a real promise like "I read
every email").
So: if a de-slopped draft reads clean but says nothing, that is a content problem, not a
humanizer failure. Send it back for real specifics rather than accepting plain-but-empty.
Calibrate to YOUR voice (READ BEFORE EDITING)
Upstream's own Voice Calibration section states: "A sample outranks this skill's style rules…
Matching the author beats scrubbing the tell." That is the whole design. Without a voice to match,
this tool converges on generic-but-clean, which is its own kind of tell.
Before rewriting, get two things from the user:
- A voice of record, in their words. One line is enough — e.g. "confident and energetic:
punchy, direct, momentum, short declaratives, honest, no hype." If the project has a voice or
brand doc, read it and use it. If they have never stated one, ask; do not infer it from the
slop you are about to cut.
- A real sample of their own shipping copy — 3–5 paragraphs of something they wrote and were
happy with. The sample outranks every style rule below.
Also ask what is off-limits — the phrases, disclosures, or claims that must survive verbatim.
Four calibration rules that override the raw ruleset
- The sample wins over every style rule in
patterns.md. Match sentence length, vocabulary,
paragraph openings, punctuation habits, and recurring phrases. Do not upgrade casual words or
regularize deliberate quirks. Everything below is a specific instance of this.
- KEEP em-dashes — strong default. Upstream §14 cuts every one as the #1 tell. That rule
over-fires on human writers who genuinely use them, and stripping them is the fastest way to
make voiced copy read like everyone else's. Default to keeping them at roughly the sample's
frequency. Change this only if the user says em-dashes are not theirs — then cut to §14.
- Short declaratives can be the VOICE, not "staccato drama." Upstream §31 flags runs of
clipped sentences. If the user's stated voice is punchy/direct/high-momentum, flattening those
runs destroys exactly what they asked for. Only flag §31 when short fragments are manufacturing
fake profundity — never when they are carrying energy.
- Never touch the honesty beat. No-hype / no-fabrication language — "I'm not paid by any of
these tools", "no fake timers", explicit cost transparency, disclosure of limitations — is
load-bearing. It reads plain because it is true, and it is often legal protection (FTC
substantiation) as well as the thing that separates the writer from every hyped competitor.
It is not padding. Leave it.
These exist because without them this tool flattens the voice. That risk was tested and is real;
the overrides are what make it safe to run on copy someone already likes.
Where upstream and an honest writer already agree
Upstream rule #3 (never invent a fact) is not a conflict — it is the same discipline. If a
rewrite would need a number, name, date, testimonial, or proof that is not in the source, write the
plain version or ask for the real figure. Never invent one to make a sentence land. A fabricated
count or a fake timer is a bigger problem than a dull sentence.
Process
- Read
references/patterns.md, the stated voice, and the sample.
- Draft the rewrite. Preserve every claim; compress the dull parts.
- Ask upstream's two audit questions: "What makes this obviously AI-generated?" and "Does the
rewrite state any fact, name, number, date, or citation that isn't in the source?"
- Deliver the final rewrite. Apply the four calibration rules above on the way out.
Invocation modes (upstream): pasted text → give draft, brief audit bullets, final. File mode
→ rewrite in place, report a short summary, leave code/frontmatter/links untouched. Embedded →
output only the final prose, no ceremony.
Never edit live copy in place without saying so. Anything already published or queued to send is
a shipping asset. Show the rewrite first unless the user explicitly asked for an in-place edit.
Gotchas
- Don't run this on scripts. If the text has beats, on-screen-text cues, or a spoken-word
budget, it belongs to the script-side de-slop pass, not here.
- Clusters, not singletons. Upstream's own guidance: one em-dash or one "however" proves
nothing. Look for a pile of tells before rewriting. Its "What NOT to flag" section is as
load-bearing as the pattern list — over-editing clean prose is the failure mode on this side.
- No sample means no calibration. Running this on someone's voiced copy without their sample is
how you hand back something clean that they no longer recognize. Ask first.
- Vendored, not live.
references/patterns.md is a point-in-time copy (upstream v2.9.1,
commit 523374de, vendored 2026-07-30). It does not auto-update. To refresh, diff against
github.com/blader/humanizer and re-vendor, keeping the four calibration rules above intact.
Upstream is MIT — references/UPSTREAM-LICENSE ships with it and must stay.
1---2name: humanizer3description: Strip AI-writing tells out of LONG-FORM PROSE — nurture emails, sales pages, product docs, lead magnets, landing copy, anything buyer-facing that reads like a chatbot wrote it. Use WHENEVER the user wants copy to sound human, says a draft "sounds like AI" or "sounds like ChatGPT", asks to de-slop / humanize / clean up marketing copy, or is reviewing a raw Claude draft of an email or sales page before it ships. Trigger on "/humanizer", "humanize this", "make this sound human", "remove the AI tells", "does this sound like AI?", "de-slop this email". Applies the full 33-pattern Wikipedia "Signs of AI writing" ruleset (vendored in references/patterns.md), calibrated to the user's OWN stated voice so it does NOT flatten it. Do NOT use this on short-form VIDEO SCRIPTS — those have their own de-slop pass (gate C in content-script-generation), tuned for spoken word with different overrides. This skill EDITS existing prose; it does not write new copy from scratch.4---56# Humanizer — de-slop long-form prose78Removes the tells that make writing read as AI-generated. The full pattern set lives in9`references/patterns.md` (33 patterns, vendored from `blader/humanizer`). **Read that file before10editing** — this wrapper only carries the scope and the voice calibration.1112## What this is for, and what it is NOT for1314**Use it on:** nurture/sequence emails, sales pages, lead magnets, product docs, landing copy,15long-form posts — buyer-facing prose you are about to ship.1617**Do NOT use it on short-form video scripts.** Those get their own spoken-word de-slop pass with18different overrides (in `content-script-generation`, that is gate C). Two tools on purpose: prose19and TTS scripts fail differently — a script is judged on how it *sounds* against a seconds budget,20prose on how it *reads*.2122## The one thing that matters most: it can only remove, never add2324Measured on a real run, 2026-07-30. On a raw Claude draft it cut **~70%**, all puffery. On copy that25was already written in an established human voice it changed **almost nothing — 3 punctuation26swaps**. **It takes text from *sloppy* to *plain* — never to *good*.** Its own rule #3 forbids27inventing facts, so it cannot supply the specifics that make copy land (a real price, a real28disclosure like "I'm not paid by any of these tools to name them", a real promise like "I read29every email").3031So: if a de-slopped draft reads clean but says nothing, that is a **content** problem, not a32humanizer failure. Send it back for real specifics rather than accepting plain-but-empty.3334## Calibrate to YOUR voice (READ BEFORE EDITING)3536Upstream's own Voice Calibration section states: *"A sample outranks this skill's style rules…37Matching the author beats scrubbing the tell."* That is the whole design. Without a voice to match,38this tool converges on generic-but-clean, which is its own kind of tell.3940**Before rewriting, get two things from the user:**41421. **A voice of record, in their words.** One line is enough — e.g. "confident and energetic:43 punchy, direct, momentum, short declaratives, honest, no hype." If the project has a voice or44 brand doc, read it and use it. If they have never stated one, ask; do not infer it from the45 slop you are about to cut.462. **A real sample of their own shipping copy** — 3–5 paragraphs of something they wrote and were47 happy with. The sample outranks every style rule below.4849Also ask what is **off-limits** — the phrases, disclosures, or claims that must survive verbatim.5051### Four calibration rules that override the raw ruleset52531. **The sample wins over every style rule in `patterns.md`.** Match sentence length, vocabulary,54 paragraph openings, punctuation habits, and recurring phrases. Do not upgrade casual words or55 regularize deliberate quirks. Everything below is a specific instance of this.562. **KEEP em-dashes — strong default.** Upstream §14 cuts every one as the #1 tell. That rule57 over-fires on human writers who genuinely use them, and stripping them is the fastest way to58 make voiced copy read like everyone else's. Default to keeping them at roughly the sample's59 frequency. **Change this only if the user says em-dashes are not theirs** — then cut to §14.603. **Short declaratives can be the VOICE, not "staccato drama."** Upstream §31 flags runs of61 clipped sentences. If the user's stated voice is punchy/direct/high-momentum, flattening those62 runs destroys exactly what they asked for. Only flag §31 when short fragments are manufacturing63 fake profundity — never when they are carrying energy.644. **Never touch the honesty beat.** No-hype / no-fabrication language — "I'm not paid by any of65 these tools", "no fake timers", explicit cost transparency, disclosure of limitations — is66 load-bearing. It reads plain *because* it is true, and it is often legal protection (FTC67 substantiation) as well as the thing that separates the writer from every hyped competitor.68 It is not padding. Leave it.6970These exist because without them this tool flattens the voice. That risk was tested and is real;71the overrides are what make it safe to run on copy someone already likes.7273### Where upstream and an honest writer already agree7475Upstream rule #3 (**never invent a fact**) is not a conflict — it is the same discipline. If a76rewrite would need a number, name, date, testimonial, or proof that is not in the source, write the77plain version or ask for the real figure. Never invent one to make a sentence land. A fabricated78count or a fake timer is a bigger problem than a dull sentence.7980## Process81821. Read `references/patterns.md`, the stated voice, and the sample.832. Draft the rewrite. Preserve every claim; compress the dull parts.843. Ask upstream's two audit questions: *"What makes this obviously AI-generated?"* and *"Does the85 rewrite state any fact, name, number, date, or citation that isn't in the source?"*864. Deliver the final rewrite. Apply the four calibration rules above on the way out.8788**Invocation modes** (upstream): *pasted text* → give draft, brief audit bullets, final. *File mode*89→ rewrite in place, report a short summary, leave code/frontmatter/links untouched. *Embedded* →90output only the final prose, no ceremony.9192**Never edit live copy in place without saying so.** Anything already published or queued to send is93a shipping asset. Show the rewrite first unless the user explicitly asked for an in-place edit.9495## Gotchas9697- **Don't run this on scripts.** If the text has beats, on-screen-text cues, or a spoken-word98 budget, it belongs to the script-side de-slop pass, not here.99- **Clusters, not singletons.** Upstream's own guidance: one em-dash or one "however" proves100 nothing. Look for a *pile* of tells before rewriting. Its "What NOT to flag" section is as101 load-bearing as the pattern list — over-editing clean prose is the failure mode on this side.102- **No sample means no calibration.** Running this on someone's voiced copy without their sample is103 how you hand back something clean that they no longer recognize. Ask first.104- **Vendored, not live.** `references/patterns.md` is a point-in-time copy (upstream v2.9.1,105 commit `523374de`, vendored 2026-07-30). It does not auto-update. To refresh, diff against106 `github.com/blader/humanizer` and re-vendor, keeping the four calibration rules above intact.107 Upstream is MIT — `references/UPSTREAM-LICENSE` ships with it and must stay.