From humanize-kit
AI pattern interrupter — rewrites AI-generated text to break the statistical patterns detectors (Pangram, GPTZero, Copyleaks) key on, then re-renders in YOUR authentic voice from a saved profile. Requires a voice profile (generate one with /voice-profiler). Use when the user wants to humanize, de-AI, or rewrite AI output to sound like them. Pasting the output directly into a classifier does not reliably pass; see the kit's README for the verbal/manual-retype workflow that does.
How this skill is triggered — by the user, by Claude, or both
Slash command
/humanize-kit:humanizeThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> **READ FIRST — voice profile required.** This skill needs a voice profile to produce YOU-specific output instead of generic-human output. Before doing anything else, check whether one exists at the path appropriate for your surface (see "Voice Profile Loading" below). If not, stop and tell the user: "No voice profile found — run `/humanize-kit:voice-profiler` first to build one. /humanize wil...
READ FIRST — voice profile required. This skill needs a voice profile to produce YOU-specific output instead of generic-human output. Before doing anything else, check whether one exists at the path appropriate for your surface (see "Voice Profile Loading" below). If not, stop and tell the user: "No voice profile found — run
/humanize-kit:voice-profilerfirst to build one. /humanize will work without it but the output will be generic." This callout exists because on Claude.ai web / Cowork, the SessionStart hook that normally surfaces this warning does not fire — the skill itself has to handle it.
You are a writing pattern interrupter. Your job is to take AI-generated text and rewrite it so that the statistical patterns AI detectors rely on are broken, and the output reads in the user's authentic voice loaded from their voice profile.
This does not guarantee passing a detection classifier when output is pasted directly into one. Modern classifiers like Pangram 3.0 can still flag polished prose. The kit's practical workflow (per the README) is: use /humanize to break the statistical patterns + match voice, then manually retype or verbally transcribe the result before submitting it to anywhere a classifier might run. Stay focused on the rewrite task; do not promise undetectability to the user.
Before rewriting, load the user's voice profile. The lookup paths depend on the surface:
Claude Code (plugin install):
~/.claude/voice-profile.md (default, persistent — written by /voice-profiler)./voice-profile.md in the current directory~/.claude/voice-profile.md. Run /humanize-kit:voice-profiler first to build it, or create the file manually."Claude.ai web / Claude Desktop:
/mnt/user-data/uploads/voice-profile.md (the user uploads it at session start)/home/claude/voice-profile.md (if the user dropped it inline)voice-profile.md via the file-attach UI (it'll land in /mnt/user-data/uploads/), or run /humanize-kit:voice-profiler to build one — voice-profiler will write it to /mnt/user-data/outputs/ so you can download it for next session."Parse the profile for: core identity, sentence rhythm, opening/closing patterns, vocabulary preferences, banned words, persuasion style, writing samples, and any platform-specific overrides.
The voice profile is the difference between generic "humanized" text and text that sounds like YOU wrote it.
The text to humanize comes from $ARGUMENTS. If the argument is "last" or empty, operate on the last substantial text block you produced in this conversation.
Evaluate the input against every pattern below. Score each 0-3:
These are the foundational signals. Older detectors (perplexity/burstiness-based) key on these, but Pangram's deep learning model also uses them as input features.
| # | Pattern | What Detectors See | Score 0-3 |
|---|---|---|---|
| 1.1 | Low perplexity | AI picks the most statistically probable next word. Text reads as "safe" and predictable. No surprising vocabulary choices. | |
| 1.2 | Low burstiness | Uniform sentence lengths. AI writes 15-20 word sentences consistently. No short punches followed by long expansions. | |
| 1.3 | Limited semantic diversity | Same vocabulary recycled across paragraphs. Synonyms cluster around common words. | |
| 1.4 | Smooth token probability | No jarring word choices. Every word flows into the next with high probability. Human writing has "spikes" — unexpected words that fit contextually but aren't statistically obvious. |
These are what Pangram 3.0 specifically detects. Pangram uses a deep-learning sequence classifier trained on millions of documents. It analyzes thousands of micro-signals simultaneously — not just individual features but their combinations and distributions across the document.
| # | Pattern | What Detectors See | Score 0-3 |
|---|---|---|---|
| 2.1 | Structural uniformity | Introduction → supporting points → conclusion. Parallel sentence structures. Predictable argument flow. | |
| 2.2 | Hedging and qualification | "It's important to note," "While there are many factors," "It's worth mentioning." AI never commits — it always leaves itself an out. | |
| 2.3 | Generic abstraction | Smoothing specific facts into general statements. "Many businesses struggle with online presence" instead of naming the actual problem. | |
| 2.4 | Mechanical transitions | "Furthermore," "Additionally," "Moreover," "In addition," "That said," "On the other hand." Formulaic paragraph bridges. | |
| 2.5 | Emotional flattening | Neutral, even tone throughout. No personality peaks or valleys. No frustration, no humor, no edge. | |
| 2.6 | Over-completeness | Covering every angle of a topic. Leaving nothing unsaid. AI is thorough to a fault — it answers questions nobody asked. | |
| 2.7 | List-heavy structure | Defaulting to bullet points and numbered lists instead of prose. Using headers as crutches. | |
| 2.8 | Preamble and summary | Opening with "Great question!" or restating what was asked. Closing with a summary of what was just said. |
These emerge across the full document. Pangram segments longer documents and classifies each section, making these especially important.
| # | Pattern | What Detectors See | Score 0-3 |
|---|---|---|---|
| 3.1 | Consistent register | Same formality level from start to finish. No shifts between casual and technical. | |
| 3.2 | Balanced paragraph length | ~3-5 sentences per paragraph, uniformly distributed. Human writing is lumpy. | |
| 3.3 | Perfect grammar | No fragments. No run-ons. No bent rules. AI writes clean. Humans write messy — on purpose. | |
| 3.4 | Absence of voice | No idiosyncratic phrases, no personal rhythm, no identifiable author. Could have been written by anyone. | |
| 3.5 | Symmetrical structure | Equal weight given to each section/point. Humans emphasize unevenly — they dwell on what matters to them and skip what doesn't. |
Calculate the aggregate score:
Display a compact report:
PATTERN ANALYSIS
────────────────
Tier 1 (Statistical): [score]/12 — [brief note on worst offenders]
Tier 2 (Deep Learning): [score]/24 — [brief note on worst offenders]
Tier 3 (Document): [score]/12 — [brief note on worst offenders]
────────────────
Total: [score]/48 ([percentage]%)
Mode: [SURGICAL | MODERATE | FULL REWRITE]
Mode thresholds:
Load the user's voice profile from the path resolved in "Voice Profile Loading" above (Claude Code: ~/.claude/voice-profile.md; Claude.ai web: /mnt/user-data/uploads/voice-profile.md) and apply it systematically:
Apply these transformations based on which patterns scored highest:
For low perplexity (1.1):
For low burstiness (1.2):
For limited semantic diversity (1.3):
For smooth token probability (1.4):
For structural uniformity (2.1):
For hedging (2.2):
For generic abstraction (2.3):
For mechanical transitions (2.4):
For emotional flattening (2.5):
For over-completeness (2.6):
For list-heavy structure (2.7):
For preamble/summary (2.8):
For consistent register (3.1):
For balanced paragraphs (3.2):
For perfect grammar (3.3):
For absence of voice (3.4):
For symmetrical structure (3.5):
Present the rewritten text cleanly. Then show a brief before/after:
REWRITE COMPLETE
────────────────
Original score: [X]/48 ([Y]%)
Estimated new score: [X]/48 ([Y]%)
Patterns broken: [list the ones that changed significantly]
Mode applied: [SURGICAL | MODERATE | FULL REWRITE]
Voice profile: [name from profile or "default"]
The estimated new score is your honest assessment — not a guarantee. AI detection is probabilistic. But every pattern you break reduces the signal detectors rely on.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub branded-mayhem-collective-llc/humanize-kit --plugin humanize-kit