An agent skill for humanizing AI-generated content.
Removes predictable AI writing patterns from prose using a two-pass system:
- Diagnosis: Analyze input for AI-isms, extract must-preserve facts, identify violations
- Reconstruction: Rewrite following preset voice while eliminating patterns
Install to any supported coding agent using npx skills:
# Install to Claude Code (global)
npx skills add theclaymethod/unslop -g -a claude-code
# Install to multiple agents
npx skills add theclaymethod/unslop -g -a claude-code -a cursor -a codex
# Install to all detected agents
npx skills add theclaymethod/unslop -g
# List available skills first
npx skills add theclaymethod/unslop --list# Clone the repo
git clone https://github.com/theclaymethod/unslop.git ~/dev/unslop
# Symlink to Claude Code skills directory
ln -s ~/dev/unslop ~/.claude/skills/unslop
# Or symlink to commands (for /unslop invocation)
ln -s ~/dev/unslop/SKILL.md ~/.claude/commands/unslop.mdThe Python validation scripts work independently:
# Extract constraints (facts that must survive)
python3 scripts/extract_constraints.py < input.txt
# Scan for AI-isms
python3 scripts/banned_phrase_scan.py < input.txt
# Check readability metrics
python3 scripts/readability_metrics.py < input.txt
# Validate fact preservation
python3 scripts/validate_preservation.py original.txt transformed.txt
# Check change percentage
python3 scripts/diff_check.py original.txt transformed.txt
# Check Wikipedia for pattern updates
python3 scripts/wiki_sync.py check/unslop "Here's the thing: building products is hard. Let that sink in."Output:
Building products is hard.
/unslop --preset=warm "Your AI-generated text here"Available presets:
crisp(default) - Short, direct, no fluffwarm- Friendly tone, conversationalexpert- Authoritative, confident claimsstory- Narrative flow, show don't tell
/unslop --strict "Text to humanize"Fails if rubric score < 32/40.
- "Here's the thing:"
- "The uncomfortable truth is"
- "Let me be clear"
- "It turns out"
- "Full stop."
- "Let that sink in."
- "Make no mistake"
- "Navigate challenges" → "Handle problems"
- "Leverage" → "Use"
- "Deep dive" → "Analysis"
- "Game-changer" → (cut or use specific claim)
- "Not because X. Because Y." → State Y directly
- "X. That's it. That's the thing." → Complete sentences
- Three-item lists → Vary list length
See references/taboo-phrases.md for the complete list.
Eight criteria, 1-5 points each (40 max):
- Directness - No hedging or softening
- Natural Rhythm - Sentence length variance (8-25 words)
- Concrete Verbs - Specific actions, not abstractions
- Reader Trust - No over-explaining
- Human Authenticity - No performative emphasis
- Content Density - Substance over filler
- Fact Preservation - All numbers, names, dates intact
- Template Avoidance - No AI structural clichés
Passing score: 32/40 (80%)
unslop/
├── SKILL.md # Main skill file (with YAML frontmatter)
├── README.md # This file
├── references/
│ ├── taboo-phrases.md # Banned phrases (~150 across 22 categories)
│ ├── rubric.md # Scoring criteria
│ ├── edit-library.md # 24 transformation examples
│ ├── fact-preservation.md # What to preserve
│ └── personality-guide.md # Voice and personality guidance
├── presets/
│ ├── crisp-human.md # Short, direct
│ ├── warm-human.md # Friendly, conversational
│ ├── expert-human.md # Authoritative
│ └── story-lean.md # Narrative
├── scripts/
│ ├── extract_constraints.py # Find must-preserve facts
│ ├── validate_preservation.py # Verify facts survived
│ ├── banned_phrase_scan.py # Detect AI-isms (with severity levels)
│ ├── readability_metrics.py # Grade level, variance
│ ├── diff_check.py # Change percentage
│ └── wiki_sync.py # Wikipedia source page sync
└── assets/
└── examples/
├── before-after-article.md
├── before-after-linkedin.md
└── before-after-sales.md
This skill follows the Agent Skills specification and works with:
- Claude Code
- Cursor
- Codex
- OpenCode
- Cline
- Roo Code
- And 35+ other agents
The rules in this skill are partially derived from Wikipedia's Signs of AI writing guide. The skill can sync itself with that page to pick up new patterns as Wikipedia editors add them.
# Tell the skill to check Wikipedia and update itself
/unslop --wiki-syncThis checks the Wikipedia page for changes, diffs against the last sync, and updates taboo-phrases.md and banned_phrase_scan.py with any new patterns. Wikipedia-specific patterns (broken wikitext, DOI issues, etc.) are skipped automatically.
The underlying sync script can also be run directly:
python3 scripts/wiki_sync.py check # Check for updates (exit 0 = no changes)
python3 scripts/wiki_sync.py diff # Structured JSON diff
python3 scripts/wiki_sync.py prompt # Claude Code integration promptState is stored in scripts/.wiki_sync_state.json (gitignored). First run treats all content as new.
/unslop --add-phrase "new AI-ism here"/unslop --add-structure "pattern|fix"/unslop --list-phrases
/unslop --list-structuresSee assets/examples/ for comprehensive before/after transformations:
- Articles: Technical writing, thought leadership
- LinkedIn: Professional social posts
- Sales: Product launches, cold outreach, case studies
AI-generated text follows predictable patterns that humans recognize. This skill doesn't just find-and-replace words—it restructures content to read like a human wrote it.
Key principles:
- Cut ruthlessly: If removal doesn't change meaning, remove it
- Trust the reader: They don't need "let that sink in"
- Facts are sacred: Numbers, names, dates survive unchanged
- Structure matters: Binary contrasts and three-item lists are tells
- Python 3.8+
- Any supported coding agent
MIT