README.md

May 13, 2026 · View on GitHub

Humanizer

License 43 AI Patterns 5 Voice Profiles Zero Dependencies Stars

AI text scores ~0.00 burstiness. Humans score ~+0.70.
Humanizer rewrites the gap. 43 patterns, 5 voices, one Markdown file, zero API calls.

Try it in your browser →  ·  Install in 5 seconds  ·  Read the source

Burstiness comparison: AI writing has flat, uniform sentence lengths; human writing varies wildly. Humanizer restores the variation.

The chart is the whole pitch. AI writes in monotone. Humans don't. Detectors notice. So do readers.

Terminal demo: pasted AI text scores 84/100 (Pure AI smell), gets rewritten with --voice technical --aggressive --iterate 2, converges in 2 iterations, final score 8/100 (Pristine)

Real terminal capture: detect, rewrite, re-detect, converge. No marketing tricks, just the score before and after.


Get started

Install (one command)

Project-scoped (travels with your repo):

mkdir -p .claude/skills/humanizer && curl -sL \
  https://raw.githubusercontent.com/Aboudjem/humanizer-skill/main/skills/humanizer/SKILL.md \
  -o .claude/skills/humanizer/SKILL.md

Global (available in every project):

mkdir -p ~/.claude/skills/humanizer && curl -sL \
  https://raw.githubusercontent.com/Aboudjem/humanizer-skill/main/skills/humanizer/SKILL.md \
  -o ~/.claude/skills/humanizer/SKILL.md

That's it. No config. No dependencies. Claude Code picks it up automatically.

Use from your AI editor

Humanizer is a pure Markdown skill file. Add it to your editor's skill directory, then use the /humanizer command.

Claude Code

Already installed with the curl command above. Just use it:

/humanizer "Your AI-generated text here"
Cursor

Copy the skill file to your Cursor rules directory:

mkdir -p .cursor/skills/humanizer && curl -sL \
  https://raw.githubusercontent.com/Aboudjem/humanizer-skill/main/skills/humanizer/SKILL.md \
  -o .cursor/skills/humanizer/SKILL.md
VS Code + Copilot

Copy the skill file to your project:

mkdir -p .github/skills/humanizer && curl -sL \
  https://raw.githubusercontent.com/Aboudjem/humanizer-skill/main/skills/humanizer/SKILL.md \
  -o .github/skills/humanizer/SKILL.md

Reference it in your Copilot instructions or paste the content into your system prompt.

Codex CLI
mkdir -p .codex/skills/humanizer && curl -sL \
  https://raw.githubusercontent.com/Aboudjem/humanizer-skill/main/skills/humanizer/SKILL.md \
  -o .codex/skills/humanizer/SKILL.md
Gemini CLI
mkdir -p .gemini/skills/humanizer && curl -sL \
  https://raw.githubusercontent.com/Aboudjem/humanizer-skill/main/skills/humanizer/SKILL.md \
  -o .gemini/skills/humanizer/SKILL.md

Reference the file in your Gemini CLI configuration.

Windsurf
mkdir -p .windsurf/skills/humanizer && curl -sL \
  https://raw.githubusercontent.com/Aboudjem/humanizer-skill/main/skills/humanizer/SKILL.md \
  -o .windsurf/skills/humanizer/SKILL.md

Add the skill to your Windsurf rules configuration.

Continue.dev
mkdir -p .continue/skills/humanizer && curl -sL \
  https://raw.githubusercontent.com/Aboudjem/humanizer-skill/main/skills/humanizer/SKILL.md \
  -o .continue/skills/humanizer/SKILL.md

Reference the skill file in your Continue configuration.

OpenClaw
clawhub install humanizer-skill

Or copy manually:

mkdir -p ~/.openclaw/skills/humanizer && curl -sL \
  https://raw.githubusercontent.com/Aboudjem/humanizer-skill/main/skills/humanizer/SKILL.md \
  -o ~/.openclaw/skills/humanizer/SKILL.md

Note: Claude Code detects skills in .claude/skills/, ~/.claude/skills/, or any plugin's skills/ directory. No restart needed. Other editors may require referencing the file in their system prompt or configuration.


Usage

/humanizer "Your AI-generated text here"              # rewrite with default voice
/humanizer "text" --voice casual                      # pick a voice profile
/humanizer "text" --mode detect                       # scan only, no rewrite
/humanizer "text" --score                             # add 0-100 AI-tell score header
/humanizer --file docs/README.md --voice technical    # edit a file in place
/humanizer "text" --aggressive --iterate 3            # heavy rewrite, converge to zero patterns
/humanizer "text" --purpose marketing --voice warm    # purpose-specific rules + voice

Three modes, each for a different job:

ModeWhat it doesWhen to use
rewriteFull transformation with voice injectionContent creation, blog posts, social media
detectScan-only report with pattern countsAuditing existing content, learning what to fix
editIn-place file editing with minimal changesDocumentation cleanup, README polishing

rewrite is the default. You don't need to specify it.

Score yourself in 5 seconds

Run detect with --score on any text and you get a number you can quote:

$ /humanizer "In today's rapidly evolving landscape, AI is reshaping how we think about creativity..." --mode detect --score

[Score: 87/100, Pure AI smell]

Patterns found: 9
| #   | Pattern              | Text                              |
| P4  | Promotional          | "rapidly evolving landscape"      |
| P7  | AI Vocabulary        | "reshaping"                       |
| P22 | Filler               | "In today's"                      |
| P29 | Comprehensive Opening| meta-commentary about the article |
| P30 | Uniform Length       | sentences avg 19 words            |
| ...

After rewriting with /humanizer "..." --voice casual, the same text scores around 12/100. That delta is the entire point.

Bring your own brand voice

Drop a humanizer-context.md file at your project root with your brand samples and banned phrases. The skill auto-loads it as a personal extension of the --voice profile, so the rewrite sounds like you, not a preset.


What it does

You write with AI. The output sounds like a chatbot. Every sentence is the same length, the vocabulary is predictable, and phrases like "delve into" and "it's important to note" show up everywhere.

Humanizer detects 43 specific AI writing patterns and rewrites your text with real human rhythm, vocabulary, and voice. It doesn't swap synonyms. It rebuilds sentence structure, injecting the burstiness and unpredictability that make writing sound like a person wrote it.

Tip: This is about writing quality, not detection evasion. Good writing doesn't trigger AI detectors because it doesn't have the lazy patterns that detectors look for. Fix the writing, and the detection problem solves itself.


Before and after

Animated demo: AI text with 'comprehensive', 'delves into', and 'pivotal' highlighted and struck through, replaced with cleaner human prose

Three real AI tells flagged, struck, replaced. The skill does this on text you paste.

Technical documentation

Before: This comprehensive guide delves into the intricacies of our authentication system. The platform leverages cutting-edge JWT technology to provide a seamless, secure, and robust authentication experience. Additionally, it features a pivotal role-based access control system that serves as a testament to our commitment to security.

After (--voice technical): The auth system uses JWTs. Tokens expire after 15 minutes; refresh tokens last 7 days. Role-based access control restricts API endpoints by user role: admin, editor, and viewer each see different data. The token rotation logic is in src/auth/refresh.ts if you need to change the expiry windows.

Killed 9 AI patterns. Added real details. Cut word count by 40%.

Blog post

Before: In today's rapidly evolving technological landscape, artificial intelligence is reshaping how we think about creativity. This groundbreaking shift represents a pivotal moment in human history, one that underscores the intricate interplay between innovation and artistic expression.

After (--voice casual): I've been messing around with AI image generators for about six months now, and I still can't decide if I love them or if they make me uneasy. The outputs are technically impressive. I got a portrait last week that looked better than anything I could paint in a year. But there's something missing. It's like eating a perfect-looking meal that has no flavor.

Replaced abstract commentary with personal experience. Sentence lengths: 8, 31, 22, 4, 13 words. That's burstiness.

LinkedIn post

Before: Excited to announce that I've taken on a pivotal new role at TechCorp! This incredible opportunity represents a significant milestone in my professional journey. I'm deeply grateful to my amazing network for their unwavering support. #NewBeginnings #Innovation #Leadership #Grateful

After (--voice professional): Started a new job at TechCorp this week. I'm leading their developer tools team, 12 engineers building internal tooling that currently serves about 400 developers. First week has been drinking from the firehose: new codebase, new faces, new coffee machine I can't figure out. Nervous and excited in roughly equal measure.

No emojis. No hashtags. Real details instead of "pivotal milestone." The coffee machine line is more human than any amount of gratitude signaling.


Voice profiles

Every voice changes how the skill rewrites. Not just what words it picks, but the sentence structure, rhythm, and personality it injects.

VoicePersonalityBest for
casualContractions, first person, fragments, "And" startersBlog posts, social media, community docs
professionalSelective contractions, dry wit, concrete examplesBusiness comms, reports, formal docs
technicalPrecise terms, code-like clarity, deadpan humorAPI docs, READMEs, architecture docs
warm"We/our" language, empathy, shorter paragraphsTutorials, onboarding, support content
bluntShortest sentences, no hedging, active voice onlyReviews, internal comms, direct feedback

How it works

A 4-pass editing system. Each pass has one job and never does the others.

graph LR
    A["Pass 1: Detect<br/><sub>Scan for 43 AI patterns<br/>across 5 categories</sub>"] --> B["Pass 2: Strip<br/><sub>Remove significance inflation,<br/>AI vocabulary, filler</sub>"]
    B --> C["Pass 3: Inject<br/><sub>Apply voice profile,<br/>burstiness, perplexity</sub>"]
    C --> D["Pass 4: Verify<br/><sub>Sentence variance check,<br/>blacklist scan, final test</sub>"]

    style A fill:#f5f3ff,stroke:#8b5cf6,color:#1e1b4b
    style B fill:#ede9fe,stroke:#8b5cf6,color:#1e1b4b
    style C fill:#ddd6fe,stroke:#8b5cf6,color:#1e1b4b
    style D fill:#8b5cf6,stroke:#7c3aed,color:#ffffff

Your text goes in. Clean, human-sounding writing comes out. The skill auto-detects which patterns are present and applies the minimum transformation needed. Pass 1 is non-destructive: you can run --mode detect to get the report without rewriting anything.


The science

AI detectors don't use magic. They measure two things, and both are well-documented in published research.

Burstiness is sentence length variation. Humans write a 3-word sentence, then a 40-word one, then a 12-word one. AI writes every sentence at roughly 18 words. Detectors measure this variance. Low variance = probably AI.

Perplexity is word predictability. AI picks the most statistically likely next word every time. Humans don't. We use surprising words, odd phrasing, personal references. High perplexity = probably human.

Word-swapping tools like QuillBot change individual words but leave the rhythm and predictability untouched. That's why they fail. You need structural transformation, not synonym replacement.

TechniqueSourceFinding
Burstiness injectionGPTZeroHuman sentence length varies wildly. AI doesn't.
Perplexity increaseGPTZeroAI picks the most statistically likely next word.
Vocabulary diversitySSRN stylometric studyHuman TTR: 55.3 vs AI: 45.5
Kill negative parallelismWashington Post"It's not X, it's Y" confirmed as #1 AI tell across 328K messages
Structural paraphrasingRAID benchmark, ACL 2024Drops DetectGPT accuracy from 70.3% to 4.6%
Intrinsic dimensionNeurIPS 2023Human text ~9 dimensions vs AI ~7.5

vs. alternatives

FeatureHumanizerQuillBotUndetectable.aiManual editing
Open sourceYesNoNoN/A
Pattern detection43000
Voice profiles503Manual
Works offlineYesNoNoYes
Burstiness injectionYesNoPartialNo
File editing modeYesNoNoNo
Explains changesYesNoNoNo
PriceFree$20/mo$10/moFree

All 43 patterns

Content Patterns (P1-P8)
#PatternWhat to look for
P1Significance Inflation"marking a pivotal moment", "is a testament to"
P2Notability Name-Dropping"featured in", "active social media presence"
P3Superficial -ing Phrases"highlighting", "ensuring", "fostering"
P4Promotional Language"cutting-edge", "seamless", "world-class", "nestled"
P5Vague Attributions"Experts argue", "Research suggests" (no citation)
P6Formulaic Challenges"Despite challenges, continues to thrive"
P7AI Vocabulary"delve", "leverage", "multifaceted", "tapestry"
P8Copula Avoidance"serves as" instead of "is"
Language and Style (P9-P18)
#PatternWhat to look for
P9Negative Parallelisms"It's not just X, it's Y"
P10Rule of ThreeForced triads: "innovation, inspiration, and insights"
P11Synonym Cycling"protagonist" then "main character" then "central figure"
P12False Ranges"From X to Y" on non-spectrums
P13Em Dash BanZero em dashes allowed, replace with commas/hyphens
P14Boldface OveruseBold on every noun, emoji headers
P15Structured List Syndrome**Header:** description bullets for prose content
P16Title Case Headings"Strategic Negotiations And Global Partnerships"
P17Typographic TellsCurly quotes, consistent Oxford comma
P18Formal Register Overuse"it should be noted that", "it is essential to"
Communication (P19-P21)
#PatternWhat to look for
P19Chatbot Artifacts"I hope this helps!", "Certainly!"
P20Knowledge-Cutoff Disclaimers"As of [date]", "based on available information"
P21Sycophantic Tone"Great question!", "That's an excellent point!"
Filler and Hedging (P22-P30)
#PatternWhat to look for
P22Filler Phrases"In order to", "Due to the fact that", "It's worth noting"
P23Excessive Hedging"could potentially possibly"
P24Generic Conclusions"The future looks bright", "poised for growth"
P25Hallucination MarkersFabricated-feeling dates, phantom citations
P26Perfect/Error AlternationInconsistent quality = partial AI edit
P27Question-Format Titles"What makes X unique?", "Why is Y important?"
P28Markdown Bleeding**bold** in emails, Word docs, social posts
P29"Comprehensive Overview""This guide delves into...", "Let's dive in"
P30Uniform Sentence LengthEvery sentence 15-25 words, no variation
Emerging Patterns (P31-P43)
#PatternWhat to look for
P31Elegant Variation"the artist", "the visionary creator", "the non-conformist painter" for the same person
P32Collaborative Communication Leaking"In this article, we will explore", "Let me walk you through"
P33Placeholder Text / Mad Libs[Your Name], [INSERT SOURCE URL], unfilled brackets
P34Chatbot Reference Markup Leakingciteturn0search0, oai_citation, broken footnote refs
P35UTM Source Parametersutm_source=chatgpt.com, utm_source=openai in URLs
P36Sudden Style/Register ShiftFormal prose suddenly switching to casual, or vice versa
P37Overattribution"Featured in Wired, Refinery29, and other outlets" without substance
P38Paragraph-Reshuffling ImmunityParagraphs that could swap order without breaking the argument
P39"Whether" Paragraph Closers"Whether you prefer X or Y, the answer is..." as a paragraph wrap-up
P40Symbolic Gloss / Meaning-Telling"represents", "symbolizes", "speaks to broader" applied to mundane things
P41Infomercial Engagement Hooks"The catch?", "The kicker?", "Here's the thing.", "The brutal truth?"
P42Erratic Inline BoldingRandom mid-sentence bold spans with no shared logic or category
P43The Treadmill Effect"In other words", "Put simply", "Essentially" looping the same point

All P38-P43 are 2026 community discoveries sourced from HackerNews threads, Wikipedia's evolving editorial guideline, and writing practitioner blogs. Sources cited inline in SKILL.md.


Why not just...

"...use a better prompt?" Prompts help, but they can't enforce 43 specific pattern rules consistently. The skill has a checklist. It catches things you'd miss on your 50th revision.

"...use QuillBot or Undetectable.ai?" They swap words. The rhythm stays robotic, the sentence lengths stay uniform, the structure stays predictable. Detectors don't care about individual words. They care about patterns.

"...just edit it myself?" You absolutely can. But do you know all 43 patterns? Can you spot "copula avoidance" or "significance inflation" on sight? This skill is a ruthless editor that never gets tired and never misses a pattern.


Model compatibility

The skill is a Markdown prompt, so it runs on whichever model your editor wires up. Tested working on:

ModelDetection accuracyRewrite qualityNotes
Claude Opus 4.xHighestHighestBest for --iterate convergence and --aggressive mode
Claude Sonnet 4.xHighHighRecommended default for daily use
Claude Haiku 4.xHighMediumFast, good for --mode detect audits
GPT-4.x / GPT-5HighHighWorks via Codex CLI integration
Gemini 2.xMediumHighWorks via Gemini CLI integration
Local models (Llama, Qwen)VariesVariesUse longer prompts and --aggressive

The patterns are model-agnostic. The voice profiles are model-agnostic. The only thing that varies is how creatively each model handles the "soul injection" step.


Trust

No telemetry. No data collection. No API calls. No cloud anything.

The entire skill is a single Markdown file (SKILL.md) that Claude Code reads locally. Your text never leaves your machine. There's nothing to audit because there's nothing running.

Note: Pure markdown skill. No JavaScript, no binaries, no network requests. Read the source yourself: it's one file.


File structure

your-project/
  .claude/
    skills/
      humanizer/
        SKILL.md    # the entire skill, one file

Contributing

Found a new AI pattern? Have a better fix? PRs welcome.

  1. Fork the repo
  2. Add your pattern to SKILL.md (follow the P1-P43 format)
  3. Include a before/after example
  4. Open a PR

See CONTRIBUTING.md for details, including the three-file lockstep update (badge count, CI threshold, CHANGELOG).


Lineage and credit

This skill is part of a wider family of humanizer tools. Direct lineage:

  • @blader/humanizer, the original Claude skill that named this category. Different patterns, no voice profiles, no edit mode, but it lit the path.
  • @softaworks/agent-toolkit, the humanizer plugin that proved Markdown skill files were the right distribution format.
  • Wikipedia: Signs of AI writing, the public, open, citation-backed reference list that ~70% of P1-P30 are derived from.

What this fork adds: 43 numbered patterns (largest open catalog), 5 named voice profiles, three operating modes (detect/rewrite/edit), 8-editor install matrix, CI that enforces its own rules (no em dashes in the skill that bans em dashes), and a research-first README that cites primary sources for every claim.

If you used the older humanizers, this one will feel familiar but tighter. If you're new to the category, @blader's repo is also worth a read.


Research sources (90+)
  • Wikipedia: Signs of AI writing, 24 pattern categories with real examples
  • Wikipedia FR: Identifier l'usage d'une IA generative, additional AI pattern research
  • RAID Benchmark (ACL 2024), 6M+ generations, 12 detectors evaluated
  • NeurIPS 2023, intrinsic dimension analysis (Tulchinskii et al.)
  • Washington Post, 328,744 ChatGPT message analysis
  • Stanford HAI, ESL false positive study
  • Max Planck Institute, AI vocabulary frequency spikes
  • Softaworks agent-toolkit humanizer by @blader
  • William Strunk Jr., The Elements of Style
  • Gary Provost, David Ogilvy, Ann Handley, professional writing craft
  • GPTZero detection methodology (perplexity + burstiness)
  • SSRN stylometric studies (type-token ratio analysis)
  • ICLR 2024 watermarking and detection papers
  • Reddit r/ChatGPT, r/ArtificialIntelligence community pattern discoveries
  • HackerNews discussions on AI detection and writing quality
  • Professional editorial firms' AI content guidelines

If this skill saved your writing from sounding like a chatbot, consider giving it a star.
It helps others find it.


LinkedIn X Website

Built by Adam Boudjemaa · MIT License · No telemetry · No data collection