/humanizer
Detects 53 AI writing patterns and rewrites text in five voice profiles so it reads like a specific human wrote it, with an optional 0-100 AI-tell score. Use when text sounds AI-generated or like a chatbot, when preparing a blog post, README, or LinkedIn post for publication,
$ npx -y skills add Aboudjem/humanizer-skill --skill humanizer --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/humanizer
Context preview
The summary Claude sees to decide when to auto-load this skill.
Detects 53 AI writing patterns and rewrites text in five voice profiles so it reads like a specific human wrote it, with an optional 0-100 AI-tell score. Use when text sounds AI-generated or like a chatbot, when preparing a blog post, README, or LinkedIn post for publication,
SKILL.md
humanizer.SKILL.mdname: humanizer
description: Detects 53 AI writing patterns and rewrites text in five voice profiles so it reads like a specific human wrote it, with an optional 0-100 AI-tell score. Use when text sounds AI-generated or like a chatbot, when preparing a blog post, README, or LinkedIn post for publication, when auditing prose for AI tells, or when editing a Markdown file in place. Triggers on phrases like "humanize this", "make this sound less AI", "make this sound human", "remove AI tells", "does this read like ChatGPT", and "rewrite so it does not sound AI-generated". Pure Markdown, zero dependencies, no network calls.
user-invocable: true
argument-hint: '"your text" [--mode detect|rewrite|edit] [--voice casual|professional|technical|warm|blunt] [--file path/to/file.md] [--aggressive] [--iterate N] [--score] [--purpose essay|email|marketing|technical|general] [--openings N] [--ignore-code] [--ignore-quotes]'
allowed-tools:
- Read
- Write
- Edit
- Grep
- Glob
- AskUserQuestion
Humanizer: Make Text Sound Like a Human Wrote It
Take text that smells like a chatbot wrote it and rewrite it as a specific, opinionated human. Detects 53 AI writing patterns, scores them 0-100, applies a chosen voice profile, and varies sentence-length burstiness so the result reads as written by a person.
Quick reference
**Modes**
| Mode | What it does | |:-----|:-------------| | `detect` | Scan text, report patterns, output a 0-100 AI-tell score. No rewrite. | | `rewrite` | Full transform with voice injection. Default mode. | | `edit` | In-place file editing using the Edit tool. Minimal targeted changes. |
**Voices**
| Voice | Personality | Best for | |:------|:-----------|:---------| | `casual` | Contractions, first person, fragments | Blog posts, social media | | `professional` | Selective contractions, dry wit | Business comms, reports | | `technical` | Precise vocabulary, code-like clarity | API docs, READMEs | | `warm` | "We" language, empathy, short paragraphs | Tutorials, onboarding | | `blunt` | Shortest sentences, no hedging, active voice | Internal comms, reviews |
**Pattern catalog (53 total)**
| Category | Count | IDs | |:---------|:------|:----| | Content | 8 | P1 to P8 | | Language & Style | 10 | P9 to P18 | | Communication | 3 | P19 to P21 | | Filler & Hedging | 9 | P22 to P30 | | Emerging | 13 | P31 to P43 | | Craft & Forensic | 10 | P44 to P53 |
**Flags**
| Flag | Effect | |:-----|:-------| | `--score` | Prepend a `[Score: NN/100]` AI-tell density header | | `--iterate N` | Loop detect, rewrite, detect until convergence (max N=3) | | `--aggressive` | Heavier rewrite, shorter sentences, more personality | | `--purpose` | Layer `essay`, `email`, `marketing`, `technical`, or `general` rules | | `--openings N` | Generate N maximally-different opening hooks, surface the strongest | | `--ignore-code` | Mask fenced code blocks before detect/score (do not flag inside them) | | `--ignore-quotes` | Mask blockquotes before detect/score (do not rewrite quoted text) |
Deep dives, before/after examples, and full trigger lists for every pattern live in [`references/patterns.md`](references/patterns.md), loaded on demand. A provisional native-Chinese appendix is in [`references/patterns.zh.md`](references/patterns.zh.md). This file is standalone and needs neither.
When to use this skill
- The text reads like a chatbot wrote it (uniform sentence length, no specifics, "delves into" energy)
- You're publishing a blog post, README, or LinkedIn note and want a real human voice
- You're auditing an existing document for AI tells before shipping
- You want a 0-100 score that quantifies how AI-flagged the text reads right now
- You want the skill to edit a Markdown file in place rather than print a rewrite to chat
Auto-loads `humanizer-context.md` from the project root if present. Use that file for brand samples and banned phrases.
Guardrails: what NOT to flag, and what to preserve
Read this before you change a single word. A ruthless editor who over-edits is worse than no editor: it launders a real person's voice into the same flat prose it claims to fix. Restraint is part of the job.
What NOT to flag (false positives)
- **Flag clusters, not isolated tells.** One em dash, one "crucial", one three-item list is how humans write too. Flag a pattern only when several co-occur in the same passage.
- **Perfect grammar is not AI.** Clean spelling, correct punctuation, and a consistent Oxford comma are signs of a careful writer or a copy editor, not proof of a machine.
- **A single em dash, curly quote, or tidy sentence alone means nothing.** These matter only as part of a cluster.
- **Never rewrite watched phrases inside quotes, block quotes, titles, headings, code, or examples.** If "delve" appears in a direct quotation, a book title, a variable name, or a pasted sample of AI text the author is critiquing, leave it exactly as written. Rewriting quoted or code content changes meaning and breaks references. When `--ignore-code` or `--ignore-quotes` is set, mask those spans before you even scan.
- **Jargon and repetition can be correct.** Technical writing repeats the exact term on purpose; do not "vary" `useEffect` into "the effect hook" for elegance. Reference and encyclopedic prose is supposed to be plain and neutral; that plainness is the human voice there, not a defect.
- **Short samples are unreliable.** Under about 40 words there is not enough signal to score. Say so instead of guessing.
Signs of human writing (preserve these)
When you see these, protect them. They are hard for a model to fake and they are the whole point.
- **Hard-to-fabricate specifics:** real dates, dollar amounts, file paths, proper names, measured numbers ("dropped from 900ms to 40ms").
- **Mixed or unresolved feelings:** "I still can't decide if I love it," admitted uncertainty, a stated bias.
- **Lived, sensory, first-person detail:** the 2am debugging session, the coffee machine no one
Read more
name: humanizer description: Detects 53 AI writing patterns and rewrites text in five voice profiles so it reads like a specific human wrote it, with an optional 0-100 AI-tell score. Use when text sounds AI-generated or like a chatbot, when preparing a blog post, README, or LinkedIn post for publication, when auditing prose for AI tells, or when editing a Markdown file in place. Triggers on phrases like "humanize this", "make this sound less AI", "make this sound human", "remove AI tells", "does this read like ChatGPT", and "rewrite so it does not sound AI-generated". Pure Markdown, zero dependencies, no network calls. user-invocable: true argument-hint: '"your text" [--mode detect|rewrite|edit] [--voice casual|professional|technical|warm|blunt] [--file path/to/file.md] [--aggressive] [--iterate N] [--score] [--purpose essay|email|marketing|technical|general] [--openings N] [--ignore-code] [--ignore-quotes]' allowed-tools: - Read - Write - Edit - Grep - Glob - AskUserQuestion
Humanizer: Make Text Sound Like a Human Wrote It
Take text that smells like a chatbot wrote it and rewrite it as a specific, opinionated human. Detects 53 AI writing patterns, scores them 0-100, applies a chosen voice profile, and varies sentence-length burstiness so the result reads as written by a person.
Quick reference
**Modes**
| Mode | What it does | |:-----|:-------------| | `detect` | Scan text, report patterns, output a 0-100 AI-tell score. No rewrite. | | `rewrite` | Full transform with voice injection. Default mode. | | `edit` | In-place file editing using the Edit tool. Minimal targeted changes. |
**Voices**
| Voice | Personality | Best for | |:------|:-----------|:---------| | `casual` | Contractions, first person, fragments | Blog posts, social media | | `professional` | Selective contractions, dry wit | Business comms, reports | | `technical` | Precise vocabulary, code-like clarity | API docs, READMEs | | `warm` | "We" language, empathy, short paragraphs | Tutorials, onboarding | | `blunt` | Shortest sentences, no hedging, active voice | Internal comms, reviews |
**Pattern catalog (53 total)**
| Category | Count | IDs | |:---------|:------|:----| | Content | 8 | P1 to P8 | | Language & Style | 10 | P9 to P18 | | Communication | 3 | P19 to P21 | | Filler & Hedging | 9 | P22 to P30 | | Emerging | 13 | P31 to P43 | | Craft & Forensic | 10 | P44 to P53 |
**Flags**
| Flag | Effect | |:-----|:-------| | `--score` | Prepend a `[Score: NN/100]` AI-tell density header | | `--iterate N` | Loop detect, rewrite, detect until convergence (max N=3) | | `--aggressive` | Heavier rewrite, shorter sentences, more personality | | `--purpose` | Layer `essay`, `email`, `marketing`, `technical`, or `general` rules | | `--openings N` | Generate N maximally-different opening hooks, surface the strongest | | `--ignore-code` | Mask fenced code blocks before detect/score (do not flag inside them) | | `--ignore-quotes` | Mask blockquotes before detect/score (do not rewrite quoted text) |
Deep dives, before/after examples, and full trigger lists for every pattern live in [`references/patterns.md`](references/patterns.md), loaded on demand. A provisional native-Chinese appendix is in [`references/patterns.zh.md`](references/patterns.zh.md). This file is standalone and needs neither.
When to use this skill
- The text reads like a chatbot wrote it (uniform sentence length, no specifics, "delves into" energy)
- You're publishing a blog post, README, or LinkedIn note and want a real human voice
- You're auditing an existing document for AI tells before shipping
- You want a 0-100 score that quantifies how AI-flagged the text reads right now
- You want the skill to edit a Markdown file in place rather than print a rewrite to chat
Auto-loads `humanizer-context.md` from the project root if present. Use that file for brand samples and banned phrases.
Guardrails: what NOT to flag, and what to preserve
Read this before you change a single word. A ruthless editor who over-edits is worse than no editor: it launders a real person's voice into the same flat prose it claims to fix. Restraint is part of the job.
What NOT to flag (false positives)
- **Flag clusters, not isolated tells.** One em dash, one "crucial", one three-item list is how humans write too. Flag a pattern only when several co-occur in the same passage.
- **Perfect grammar is not AI.** Clean spelling, correct punctuation, and a consistent Oxford comma are signs of a careful writer or a copy editor, not proof of a machine.
- **A single em dash, curly quote, or tidy sentence alone means nothing.** These matter only as part of a cluster.
- **Never rewrite watched phrases inside quotes, block quotes, titles, headings, code, or examples.** If "delve" appears in a direct quotation, a book title, a variable name, or a pasted sample of AI text the author is critiquing, leave it exactly as written. Rewriting quoted or code content changes meaning and breaks references. When `--ignore-code` or `--ignore-quotes` is set, mask those spans before you even scan.
- **Jargon and repetition can be correct.** Technical writing repeats the exact term on purpose; do not "vary" `useEffect` into "the effect hook" for elegance. Reference and encyclopedic prose is supposed to be plain and neutral; that plainness is the human voice there, not a defect.
- **Short samples are unreliable.** Under about 40 words there is not enough signal to score. Say so instead of guessing.
Signs of human writing (preserve these)
When you see these, protect them. They are hard for a model to fake and they are the whole point.
- **Hard-to-fabricate specifics:** real dates, dollar amounts, file paths, proper names, measured numbers ("dropped from 900ms to 40ms").
- **Mixed or unresolved feelings:** "I still can't decide if I love it," admitted uncertainty, a stated bias.
- **Lived, sensory, first-person detail:** the 2am debugging session, the coffee machine no one
Showing the first part of this file.
AI writing pattern detector and rewriter. 53 patterns, 5 voices, 0-100 AI-tell score. Pure Markdown, zero dependencies.
Repo: Aboudjem/humanizer-skill

