# Humanizer

> Humanizer: Remove AI Writing Patterns

- Skill: `lucadominguez/humanizer` (Agent Skill)
- Install (CLI): `npx skillmds@latest add lucadominguez/humanizer`
- Raw SKILL.md: https://api.skillmd.com/api/skills/lucadominguez/humanizer/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: lucadominguez (https://skillmd.com/u/lucadominguez)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/lucadominguez/humanizer

---

# Humanizer: Remove AI Writing Patterns

Detect and remove signs of AI-generated text. This skill catalogs the available tools, the 29 canonical AI writing patterns, and how to integrate humanization into the full writing pipeline.

## Tool Catalog

Three external tools available. Choose based on need:

### 1. agentic-humanizer (numen-tech/slopornot) — Interview + Profile + Voice
**Repo:** https://github.com/numen-tech/slopornot
**Stars:** 38 | **Best for:** Personalized, repeatable humanization with style learning

The only tool that does the full interview→profile→voice-fingerprint workflow:
- **Interview:** Asks 5 questions — language/variant, reading level (elementary→graduate), tone (casual/professional/academic), length policy, voice sample
- **Profile caching:** Saves to `~/.agentic-humanizer/profile.json`. Never re-prompts unless detected language changes.
- **Voice fingerprinting:** Paste 200+ words of your writing → extracts stylometric fingerprint (rhythm, register, contractions, sentence shape, concrete phrasing) → caches at `~/.agentic-humanizer/voice-fingerprint.json` → asks "Looks right?" before saving.
- **5-pass iterative loop:** Pattern surgery → tone alignment → reading-level adjustment → cleanup-aware editing → structural rewrite
- **Works standalone:** Core mode runs without the Slop or Not detector app
- **Multi-agent:** Claude Code, Codex, Cursor, Gemini CLI, OpenCode, Hermes (generic harness)
- **Multi-language:** English, Spanish, German, Italian, Swedish, Danish, Norwegian

**Install for Hermes:**
```bash
git clone https://github.com/numen-tech/slopornot.git /tmp/slopornot
cp /tmp/slopornot/skills/agentic-humanizer/SKILL.md ~/.hermes/skills/agentic-humanizer.md
```

### 2. brandonwise/humanizer — CLI + Pattern Detection
**Repo:** https://github.com/brandonwise/humanizer
**Stars:** 100 | **Best for:** Quick scoring, CI gating, repo scanning

Standalone Node.js CLI + OpenClaw skill. 29 patterns, 500+ vocabulary terms,
statistical analysis (burstiness, type-token ratio, readability).

```bash
git clone https://github.com/brandonwise/humanizer.git
cd humanizer && npm install

# Score text (0-100, higher = more AI-like)
echo "text" | node src/cli.js score

# Full analysis
node src/cli.js analyze -f draft.md

# Auto-fix
node src/cli.js humanize --autofix -f article.txt

# Scan repo, fail CI above threshold
node src/cli.js scan docs --fail-above 45

# Compare drafts
node src/cli.js compare --before v1.md --after v2.md
```

**Proven results (2026-07-14):** 66/100 AI-slobbered text → 2/100 after
manual humanization following its 28-pattern system. The CLI auto-fix alone
is minimal — the real power is loading its SKILL.md as rewrite constraints
and doing the humanization pass manually against its pattern catalogue.

### 3. smixs/humanizer-ru — Russian Language
**Repo:** https://github.com/smixs/humanizer-ru
**Stars:** 73 | **Best for:** Russian text only

32 patterns for Russian AI text. Universal installer: `npx skills add smixs/humanizer-ru`

---

## Quality Tier (tested — use in this order)

**Tier 1: Manual rewrite (best quality).** Load this skill OR the brandonwise/humanizer SKILL.md, then:
1. Run `node src/cli.js analyze -f <file>` to score and identify patterns
2. Rewrite manually following the 28 patterns, core principles, and the before/after example below
3. Vary sentence rhythm — short fragments next to long meandering sentences
4. Add concrete specifics (numbers, names, studies, anecdotes) — never vague claims
5. Have opinions. React to facts. Nuance beats boosterism.
6. Re-score with CLI to verify improvement

**Tier 2: agentic-humanizer auto-loop (mediocre quality — tested and rejected for final output).** The 5-pass iterative loop produces passable but flat results. Use only for:
- Batch processing where volume matters more than quality
- First-pass rough de-slophication before manual polish
- The profile/interview system for style caching (valuable) — then do the actual rewrite manually

**Tier 3: CLI autofix only.** `node src/cli.js humanize --autofix` removes chatbot artifacts and little else. Use for quick sanitation, not quality.

## Quick Decision Guide

| Need | Use |
|------|-----|
| Best quality rewrite (recommended) | Load this skill, run CLI for scoring, rewrite manually |
| I want a quick score on some text | `brandonwise/humanizer` CLI |
| Batch processing / rough first pass | `agentic-humanizer` auto-loop |
| I want style caching (interview + profile) | `agentic-humanizer` profile system only |
| I need CI to gate AI-sounding docs | `brandonwise/humanizer scan --fail-above 45` |
| Russian text | `smixs/humanizer-ru` |

---

## The 29 AI Writing Patterns

These are the canonical tells. Every humanization pass should scan for these:

### Content Patterns (1-6)
1. **Significance inflation** — "marks a pivotal moment in the evolution of..."
2. **Notability name-dropping** — Listing media outlets without specific claims
3. **Superficial -ing analyses** — "...showcasing... reflecting... highlighting..."
4. **Promotional language** — "nestled", "breathtaking", "stunning", "renowned"
5. **Vague attributions** — "Experts believe", "Studies show", "Industry reports"
6. **Formulaic challenges** — "Despite challenges... continues to thrive"

### Language Patterns (7-13)
7. **AI vocabulary** — 500+ words: delve, tapestry, landscape, showcase, seamless, crucial, comprehensive, meticulous, embark, robust, groundbreaking, leverage, synergy, transformative, paramount, multifaceted, myriad, cornerstone, reimagine, empower, catalyst
8. **Copula avoidance** — "serves as", "boasts", "features" instead of "is", "has"
9. **Negative parallelisms** — "It's not just X, it's Y"
10. **Rule of three** — "innovation, inspiration, and insights"
11. **Synonym cycling** — "protagonist... main character... central figure..."
12. **False ranges** — "from the Big Bang to dark matter"
13. **Em dash overuse** — Too many — dashes — everywhere

### Style Patterns (14-19)
14. **Em dash overuse**
15. **Boldface overuse** — **Mechanical** **emphasis** **everywhere**
16. **Inline-header lists** — "- **Topic:** Topic is discussed here"
17. **Title Case headings** — Every Main Word Capitalized
18. **Emoji overuse** — 🚀💡✅ in professional text
19. **Curly quotes** — "smart quotes" instead of "straight quotes"

### Communication Patterns (20-28)
20. **Chatbot artifacts** — "I hope this helps!", "Let me know if..."
21. **Cutoff disclaimers** — "As of my last training...", "While details are limited..."
22. **Sycophantic tone** — "Great question!", "You're absolutely right!"
23. **Filler phrases** — "In order to", "Due to the fact that", "At this point in time"
24. **Excessive hedging** — "could potentially possibly", "might arguably perhaps"
25. **Generic conclusions** — "The future looks bright", "Exciting times lie ahead"
26. **Reasoning chain artifacts** — "Let me think...", "Step 1:", "Breaking this down..."
27. **Excessive structure** — Too many headers/bullets for simple content
28. **Confidence calibration** — "I'm confident that...", "It's worth noting..."
29. **Acknowledgment loops** — "You're asking about X...", restating questions

### Tier 1 Vocabulary (Dead Giveaways — Never Use)
delve, tapestry, vibrant, crucial, comprehensive, meticulous, embark, robust, seamless, groundbreaking, leverage, synergy, transformative, paramount, multifaceted, myriad, cornerstone, reimagine, empower, catalyst, invaluable, bustling, nestled, realm, unpack, deep dive, actionable, impactful, learnings, bandwidth, net-net, value-add, thought leader

### Tier 2 Vocabulary (Suspicious in Density)
furthermore, moreover, paradigm, holistic, utilize, facilitate, nuanced, illuminate, encompasses, catalyze, proactive, ubiquitous, quintessential, cadence, best practices

### Banned Phrases
"In today's digital age", "It is worth noting", "plays a crucial role", "serves as a testament", "in the realm of", "delve into", "harness the power of", "embark on a journey", "without further ado", "let's dive in", "circle back", "key takeaways", "paradigm shift", "move the needle", "low-hanging fruit", "pain points", "double-click on"

---

## Statistical Signals

Beyond pattern matching, these metrics differentiate human from AI writing:

| Signal | Human | AI | Meaning |
|--------|-------|-----|---------|
| Burstiness | 0.5–1.0 | 0.1–0.3 | Humans vary sentence length; AI is metronomic |
| Type-token ratio | 0.5–0.7 | 0.3–0.5 | Humans use more varied vocabulary |
| Sentence CoV | 0.4–0.8 | 0.15–0.35 | Coefficient of variation — low = robotic |
| Trigram repetition | < 0.05 | > 0.10 | AI reuses 3-word phrases more often |
| Readability (FK) | Varies | 8–12 | AI writes at consistent grade level |

---

## Integration with voice-humanizer

For personalized humanization that matches a specific writing voice, use the
companion `voice-humanizer` skill. It extracts a stylometric fingerprint from
a writing sample (14 fields: rhythm, register, contractions, idioms, etc.)
and applies it as constraints during the rewrite. Saved voice profiles live at
`~/.voice-humanizer/voices/`. Current profiles:

- `luca-voice-hermesprompting` — short commands, no fluff, high contractions
- `luca-email-voice` — analytical direct, casual-professional, evidence-first

Workflow: extract voice once → humanize forever with `voice-humanizer`.

## Em dash policy

**Hard constraint: zero em dashes (—) or en dashes (–) in final output.**
Replace with periods, commas, colons, or restructure the sentence.
Numeric/date ranges are the only allowed exception, and even those should
use "to" or a hyphen when natural. No exceptions.

---

## Quick Anti-AI Rewrite Rules

When no tool is available and you need to humanize inline:

1. **Use "is" and "has"** — "serves as" is pretentious
2. **One qualifier per claim** — don't stack hedges
3. **Name sources or drop the claim** — no "experts say"
4. **End with something specific** — not "the future looks bright"
5. **Vary sentence rhythm** — short. Then longer. Fragment.
6. **Have opinions** — react to facts, don't just report them
7. **Cut filler:** "In order to" → "to", "Due to the fact that" → "because", "It is important to note that" → (just say it)
8. **Remove chatbot artifacts:** "I hope this helps!", "Great question!", "Let me know if..."
9. **Let some mess in** — perfect structure feels algorithmic
10. **Read aloud** — if it sounds like a press release, rewrite it
11. **Zero em dashes** — hard constraint. Replace — with . or , or restructure. No exceptions.

## Canonical Example: AI → Human

This is the transformation to aim for. Vague importance inflation → concrete specifics. No-personality boosterism → opinionated, nuanced prose with varied rhythm.

**Before (AI-sounding, score ~85):**
> Great question! Here is an overview of sustainable energy. Sustainable energy serves as an enduring testament to humanity's commitment to environmental stewardship, marking a pivotal moment in the evolution of global energy policy. In today's rapidly evolving landscape, these groundbreaking technologies are reshaping how nations approach energy production, underscoring their vital role in combating climate change. The future looks bright. I hope this helps!

**After (human, score ~15) — note what changed:**
> Solar panel costs dropped 90% between 2010 and 2023, according to IRENA data. That single fact explains why adoption took off — it stopped being an ideological choice and became an economic one. Germany gets 46% of its electricity from renewables now. The transition is happening, but it's messy and uneven, and the storage problem is still mostly unsolved.

What the rewrite did:
- Named a real source (IRENA), real number (90%, 46%), real country (Germany)
- Short punchy opening ("Solar panel costs dropped 90%") instead of chatbot greeting
- "messy and uneven" — opinion and nuance instead of boosterism
- "storage problem is still mostly unsolved" — ends with tension, not "the future looks bright"
- Sentence rhythm: long (26 words) → short (6 words: "The transition is happening") → long
- Zero Tier 1/2 vocabulary. Zero filler. Zero chatbot artifacts.
