The most comprehensive anti-AI-slop skill for Claude Code, Open Code, and Hermes Agent.
Merges the best of 5 open-source projects: blader/humanizer, stop-slop, Lynote.ai humanize-text, Humanizer-zh, and hallmark. 57+ raw patterns consolidated into 50 unique patterns with prioritization, 2-pass self-audit, and quantified 5-dimension scoring. Optimized for French. Opt-in learning via
--learn.
Language: English | Français | 简体中文 | Español | 日本語 | Deutsch | 한국어 | Português | Русский | العربية
A single command detects and removes AI writing patterns from any text, replacing them with authentic human writing. It does NOT just "clean up" -- it adds voice, rhythm, and intentional imperfection.
The skill is optimized for French: patterns, markers, and examples are calibrated for French text. On other languages it applies the general concepts (binary contrast, false agency, filler, meta-commentary) without a dedicated word list, at reduced precision.
| Feature | What it means |
|---|---|
| 50 patterns | 40 content/style + 4 opener & connective + 6 Google spam protection. None redundant. Each prioritised. |
| 2-pass process | Pass 1: detect and rewrite. Pass 2: self-audit and score. Never loops. |
| 5-dimension scoring | Directness, Rhythm, Trust, Authenticity, Density -- scored 1-10 each with objective verification counters. Threshold: >35/50. |
| Opt-in learning | Off by default (zero side effects). With --learn, the skill logs recurring off-pattern phrases to evolution/log.md and proposes candidates for evolution/proposals.md. |
| Voice calibration | Provide 2-3 paragraphs of your writing with --voice. The skill analyzes sentence length, vocabulary level, verbal tics, and reproduces your voice. |
| Protection rules | Code, numbers, names, citations, markdown structure are NEVER modified. Anti-contournement prevents prompt injection. |
| Dry-run mode | --dry-run lists detected patterns without touching the text. |
| Error handling | Empty text, pure code, or <10 words are detected and left untouched. |
| False positive protection | Weak patterns alone (curly quotes, isolated sycophant tone, title case) do not trigger rewriting. P20/P27/P18 are marked weak. |
| Universal language | Works in FR, EN, DE, ES, ZH, JA, any. Responds in the input's language, not in French. |
| Other skills | Ultimate Humanizer |
|---|---|
| List patterns without priority | Attack order defined: P1-P5, P7, P13, P14 first |
| No verification process | 2-pass self-audit with quantified scoring |
| Rewrite even human text | Zero-pattern detection: if already human, tells you and stops |
| No limit (infinite loop) | Strict stop: max 2 iterations, always delivers |
| Subjective scoring | Objective counters: "count meta-comments (P31): 0 = 8-10, 3+ = 1-3" |
| Contradict themselves | Self-consistent: the skill practices what it preaches, zero em dashes in the files |
| Too many patterns | Quick summary: "what a human does NOT write" in 10+ points |
| Ignore code and citations | Explicit protection rules: never modify code, numbers, names, citations |
| Language locked | Universal: detect in any language, richest in FR, well covered in EN |
| Static | Auto-evolution: logs suggest new patterns over time |
P1: Importance inflation ("plays a crucial role")
P2: Vague name-dropping ("featured in Forbes")
P3: -ing analysis ("symbolizing...", "reflecting...")
P4: Promotional language ("exceptional", "unique")
P5: Vague attribution ("experts believe", "studies show")
P6: Formatted structure ("Challenges & Perspectives")
P7: Blacklisted vocabulary (full list in references/phrases.md)
P8: Verb-être avoidance ("serves as" → "is")
P9: Negative parallelism ("it's not just X, it's Y")
P10: Rule of three (forced 3-item lists)
P11: Synonym cycling (different word for same concept each sentence)
P12: False range ("from X to Y" without scale)
P13: Binary contrasts ("it's not X, it's Y" - 18 variants)
P14: False agency ("the data tells us", "the market demands")
P15: Em dash abuse (max 1 per text)
P16: Excessive bold
P17: Inline bullet titles
P18: Title case (English-specific)
P19: Emojis in headings
P20: Curly quotes (weak pattern alone)
P21: Hyphenated pairs ("data-driven")
P22: 3 consecutive same-length sentences
P23: Adverb abuse (see references/phrases.md)
P24: Performative emphasis ("Full stop.", "Make no mistake.")
P25: Chatbot artifacts ("Hope this helps!")
P26: Knowledge-cutoff disclaimer
P27: Sycophant tone ("Excellent question!")
P28: Filler phrases ("in order to", "it should be noted")
P29: Hedging pileup ("might potentially perhaps")
P30: Generic positive conclusion ("the future looks bright")
P31: Meta-commentary ("let's explore", "as we will see")
P32: Persuasive authority figure
P33: Rhetorical opener ("Honestly?", "The thing is...")
P34: Dramatic fragmentation
P35: Aphoristic formula ("X is the language of Y")
P36: Artificial punchline
P37: Distant narrator ("no one designed this")
P38: Strip-tease negation
P39: Rhetorical setup ("What if...?")
P40: Diff-anchored writing
P41: Generic opener ("In today's rapidly evolving landscape")
P42: Not-only-but-also
P43: Sequence adverb string ("Moreover, Furthermore, Additionally")
P44: Filler announcement ("It is important to note that")
P45-P50 target signals from the Google June 2026 Spam Update: keyword stuffing, city/geo stuffing, artificial FAQ, interchangeable content, footer SEO dump, and thin affiliate content. These protect Rank & Rent and local SEO sites from Google penalties.
| # | Pattern | Target |
|---|---|---|
| P45 | Keyword stuffing | 3x+ same keyword per paragraph |
| P46 | City/Geo stuffing | 5+ cities listed without local context |
| P47 | Artificial FAQ | Questions containing exact keyword, 8+ per page |
| P48 | Interchangeable content | Pages where only location differs |
| P49 | Footer/block SEO dump | 10+ city links in footer |
| P50 | Thin affiliate | Copied merchant description, no real test |
Before (AI): In today's rapidly evolving landscape, our platform plays a crucial role in helping businesses navigate digital transformation. Moreover, it fosters collaboration between teams. Not only does it save time, but it also reduces errors.
After (human): Our platform helps businesses with digital transformation. Teams collaborate better. It saves time and reduces errors.
Patterns removed: P41 (generic opener), P1 (importance inflation), P7 (blacklisted vocab), P43 (sequence adverb), P42 (not-only-but-also)
mkdir -p ~/.claude/skills/ultimate-humanizer
cp -r ultimate-humanizer/* ~/.claude/skills/ultimate-humanizer/Activate: /ultimate-humanizer
mkdir -p ~/.config/opencode/skills/ultimate-humanizer
cp -r ultimate-humanizer/* ~/.config/opencode/skills/ultimate-humanizer/Add the content of SKILL.md to your system prompt or skill config.
ls ultimate-humanizer/
# Should show: SKILL.md, README.md, references/, evolution//ultimate-humanizer [text to humanize]or:
Humanize this text: [text]
Calibrate voice (optional):
/ultimate-humanizer --voice [2-3 paragraphs of your writing] -- [text to humanize]Dry-run (see patterns without rewriting):
/ultimate-humanizer --dry-run [text]Just the result (no analysis):
Just the text: [text]
Off by default: no side effects, no hidden cost. Enable it by adding --learn:
- Patterns found and suspicious phrases are logged to
evolution/log.md - When the same off-pattern phrase recurs 5+ times, the skill proposes it: "[phrase] recurs often and is not in the 50 patterns. New pattern?"
- If you say yes, it writes the candidate to
evolution/proposals.md - You later review proposals and integrate into SKILL.md manually
The reference files are NEVER modified automatically. The user decides.
ultimate-humanizer/
├── SKILL.md Core instruction for the AI agent
├── README.md This file
├── references/
│ ├── phrases.md Phrase catalogs: blacklist, agency, contrasts, filler, adverbs, openers
│ ├── patterns.md 50 patterns with detailed before/after (French)
│ ├── examples.md 3 complete transformations with modifications
│ └── seo-spam.md Google spam signals targeted by P45-P50
├── tests/
│ └── fixtures.md Eval set: 15 AI cases + 5 false-positive traps (precision/recall)
├── evolution/
│ ├── log.md Opt-in log (--learn), empty by default
│ ├── stats.md Opt-in statistics (--learn)
│ └── proposals.md User-approved candidate patterns
└── LICENSE MIT
Assembled by SurDijon from 5 excellent open-source projects:
| Project | Author | What was used |
|---|---|---|
| humanizer | blader | 33 patterns, 2-pass process, voice calibration |
| stop-slop | Hardik Pandya | False agency, binary contrasts, phrase catalog |
| humanize-text | Lynote.ai | Multi-step pipeline, blacklisted vocabulary |
| Humanizer-zh | Alwayssssssss | 5-dimension scoring, quick checklist |
| hallmark | Together AI | Anti-pattern approach, slop-test gates |
If this skill helps you produce better content: leave a ⭐ on github.com/SurDijon/ultimate-humanizer.