/SKILL.md
Remove AI writing patterns from prose using either audit-only detection or a two-pass rewrite flow (diagnosis then reconstruction). Use this skill when editing, reviewing, or rewriting AI-generated content to make it sound human. Triggers on requests to "humanize", "de-slop", "fix AI text", "make it sound human", "remove AI patterns", or when reviewing text that contains obvious AI tells like "Here's the thing:", "Let that sink in", or "In today's fast-paced landscape". Also use when the user pastes text and says it "sounds like ChatGPT", "sounds robotic", "needs to sound more natural", or asks you to "clean up" drafted content before publishing. Even if they don't use the word "slop", if the text has visible AI patterns, this skill applies.
npx skillsauth add theclaymethod/unslop unslopInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Humanize AI-generated prose. Audit it first. Rewrite only when the user wants a rewrite.
| Argument | Description | Default |
|----------|-------------|---------|
| --preset | Voice style: crisp, warm, expert, story | crisp |
| --strict | Fail if rubric score < 32/40 | false |
| --audit-only | Flag AI patterns without rewriting | false |
| Input | Text to transform (argument, file path, or stdin) | required |
This skill has two modes:
rewrite (default) — diagnose, rewrite, then validate the rewriteaudit-only — diagnose and assess the text without rewriting itTrigger audit-only mode when the user says "audit only," "flag only," "scan this," "just detect," "don't rewrite," or passes --audit-only.
| Preset | Style | Best For |
|--------|-------|----------|
| crisp | Short, direct, no fluff | Technical writing, documentation |
| warm | Friendly, conversational | Emails, blog posts |
| expert | Authoritative, confident | Thought leadership, articles |
| story | Narrative flow, show don't tell | Case studies, personal posts |
Read the selected preset file from presets/ (e.g., presets/crisp-human.md) before writing. Each preset has specific voice rules, structural patterns, and a quality checklist.
Before rewriting anything, understand what's wrong. This prevents blind rewriting that loses meaning.
Read the relevant references based on what you see in the input:
references/taboo-phrases.md — the complete catalog of banned phrases and newer structural families, with regex patterns for detection. This is the authoritative list; read it on first use and refer back for edge cases.references/rubric.md — 8 scoring criteria (directness, rhythm, verbs, trust, authenticity, density, fact preservation, template avoidance), 5 points each.references/fact-preservation.md — rules for what must survive transformation unchanged (numbers, names, dates, URLs, quotes, technical terms).Extract constraints from the input — facts that must survive if you rewrite:
python3 scripts/extract_constraints.py <<< "$INPUT"
This outputs JSON with every number, date, name, URL, and quote that must appear in your output.
Scan for AI patterns:
python3 scripts/banned_phrase_scan.py <<< "$INPUT"
This returns violations grouped by category and severity (hard = always an AI tell, soft = context-dependent). Quoted examples, markdown blockquotes, and code snippets are ignored by default so you don't flag illustrative bad writing in docs. If you explicitly need to audit quoted examples too, run:
python3 scripts/banned_phrase_scan.py --include-quoted <<< "$INPUT"
Read the selected preset from presets/ and note its voice rules.
Identify: audience, content type, tone target. A LinkedIn post needs different treatment than a technical doc.
Skip this pass in --audit-only mode.
Rewrite the text. The references you read in Pass 1 are your guide — don't duplicate their rules here, just apply them.
Core principles (the why behind the rules):
Follow the preset voice characteristics for sentence length, paragraph structure, and tone. Refer to references/edit-library.md for 24 before/after transformation examples if you need guidance on specific pattern types.
For guidance on adding genuine human voice (not just removing AI tells), read references/personality-guide.md. Clean text that's still anonymous and voiceless scores a 3/5 on authenticity — aim for 4+.
Only run this section when you rewrote the text.
After rewriting, verify your work:
Fact preservation — confirm all constraints survived:
python3 scripts/validate_preservation.py original.txt transformed.txt
Remaining AI patterns — check your output is clean:
python3 scripts/banned_phrase_scan.py <<< "$OUTPUT"
Readability metrics — check rhythm and variance:
python3 scripts/readability_metrics.py <<< "$OUTPUT"
Change percentage — flag if >40% changed (may indicate over-editing):
python3 scripts/diff_check.py original.txt transformed.txt
Score against rubric — 8 criteria x 5 points = 40 max. Passing: 32/40 (80%). See references/rubric.md for detailed scoring.
Adapt output to the context. For a quick fix, just return the cleaned text. For a thorough review, include validation:
Audit Only (--audit-only or user asks for flag-only scan):
## Issues Found
- [Quoted issue, category, why it reads as AI]
## Assessment
- [Which issues are clear problems]
- [Which issues are judgment calls or context-dependent]
Minimal (default for short text / quick fixes):
[The humanized text]
Detailed (for --strict mode or when user asks for analysis):
## Transformed Text
[The humanized version]
## Validation
- Constraints: [X]/[Y] preserved
- AI patterns: [N] remaining (was [M])
- Readability: Grade [X], sentence variance [Y]
- Change: [X]% from original
- Score: [X]/40
## Changes Made
- [List of major transformations applied]
Input:
Here's the thing: building products is hard. Not because the technology is complex. Because people are complex. Let that sink in.
Output (crisp):
Building products is hard. Not the technology. The people.
Input:
In today's fast-paced business environment, it's becoming increasingly important for organizations to leverage their core competencies while navigating the complex landscape of digital transformation.
Output (crisp):
Companies need to use their strengths while going digital.
Located in this skill's directory. Read them as needed — don't front-load everything into context.
| File | When to Read |
|------|-------------|
| references/taboo-phrases.md | First use, then for edge cases. Expanded pattern catalog with detection regex, newer structural families, and quote-exemption rules. |
| references/rubric.md | When scoring output or in --strict mode. 8 criteria, detailed rubrics. |
| references/edit-library.md | When unsure how to transform a specific pattern. 24 before/after examples. |
| references/fact-preservation.md | When input has lots of data, names, or quotes. Constraint rules. |
| references/personality-guide.md | When output is clean but soulless. How to add genuine voice. |
| presets/*.md | After preset selection. Voice-specific rules, patterns, checklists. |
| assets/examples/*.md | For extended before/after examples by content type (article, LinkedIn, sales). |
All scripts accept stdin or file path arguments and output JSON. Run from the skill directory.
| Script | Purpose | When to Run |
|--------|---------|-------------|
| scripts/extract_constraints.py | Extract must-preserve facts | Before rewriting |
| scripts/banned_phrase_scan.py | Detect AI patterns with severity | Before and after rewriting |
| scripts/validate_preservation.py | Verify facts survived | After rewriting |
| scripts/readability_metrics.py | Sentence variance, grade level | After rewriting |
| scripts/diff_check.py | Change percentage | After rewriting |
| scripts/wiki_sync.py | Sync with Wikipedia AI patterns | On /unslop --wiki-sync |
| Command | Action |
|---------|--------|
| /unslop --add-phrase "phrase" | Add banned phrase |
| /unslop --add-structure "pattern\|fix" | Add structural pattern |
| /unslop --list-phrases | List all banned phrases |
| /unslop --list-structures | List structural patterns |
| /unslop --wiki-sync | Sync with Wikipedia for new AI patterns |
/unslop --wiki-sync)Syncs pattern rules with Wikipedia's Signs of AI writing page. Run periodically to pick up new patterns.
Steps:
python3 scripts/wiki_sync.py check (exit 0 = no updates)python3 scripts/wiki_sync.py diff (JSON output with change type, section, words)references/taboo-phrases.md in the matching section, and add to scripts/banned_phrase_scan.py BANNED_PHRASES dict with category, severity, and suggestion.python3 scripts/banned_phrase_scan.py < /dev/null (confirm no syntax errors)Only add phrases that are genuine AI writing tells for general prose. Skip Wikipedia-specific patterns (broken wikitext, DOI issues, etc.).
testing
Create, edit, improve, or audit AgentSkills. Use when creating a new skill from scratch or when asked to improve, review, audit, tidy up, or clean up an existing skill or SKILL.md file. Also use when editing or restructuring a skill directory (moving files to references/ or scripts/, removing stale content, validating against the AgentSkills spec). Triggers on phrases like "create a skill", "author a skill", "tidy up a skill", "improve this skill", "review the skill", "clean up the skill", "audit the skill".
testing
Host security hardening and risk-tolerance configuration for OpenClaw deployments. Use when a user asks for security audits, firewall/SSH/update hardening, risk posture, exposure review, OpenClaw cron scheduling for periodic checks, or version status checks on a machine running OpenClaw (laptop, workstation, Pi, VPS).
testing
Create, edit, improve, or audit AgentSkills. Use when creating a new skill from scratch or when asked to improve, review, audit, tidy up, or clean up an existing skill or SKILL.md file. Also use when editing or restructuring a skill directory (moving files to references/ or scripts/, removing stale content, validating against the AgentSkills spec). Triggers on phrases like "create a skill", "author a skill", "tidy up a skill", "improve this skill", "review the skill", "clean up the skill", "audit the skill".
testing
Host security hardening and risk-tolerance configuration for OpenClaw deployments. Use when a user asks for security audits, firewall/SSH/update hardening, risk posture, exposure review, OpenClaw cron scheduling for periodic checks, or version status checks on a machine running OpenClaw (laptop, workstation, Pi, VPS).