Use this skill when you need humanize natural-language memory files (CLAUDE.md, todos, preferences, docs) by removing AI-isms and adding burstiness while preserving every code block, URL, path, command, and heading exactly. Two modes: --deterministic (fast, regex-based, no API) and LLM (default, calls Claude for...
Rewrite natural-language memory files (CLAUDE.md, AGENTS.md, todos, preferences, docs) so they sound human-written: no sycophancy, no stock vocab, no five-paragraph essay shape, no tricolon padding. Everything technical stays exact: code blocks, inline code, URLs, file paths, commands, headings, tables.
Two modes:
--deterministic — fast regex pass that strips canonical AI-isms and tightens tricolons. No API call, no ANTHROPIC_API_KEY needed. Best for batch processing and CI.claude --print CLI fallback) to do a full rewrite that engineers burstiness, restructures performative paragraphs, and matches voice. Slower but better quality.Humanized version overwrites the original. A FILE.original.md backup is written first. Re-run after editing the .original.md to regenerate.
--mode)| Mode | What runs | Use when… |
|---|---|---|
subtle |
Stock vocab only. | Structure is fine; you just want AI vocabulary gone. |
balanced |
(Default.) Sycophancy, hedging, transitions, stock vocab, authority tropes, signposting, performative balance, em-dash cap. | Everyday docs / READMEs / CLAUDE.md. |
full |
Balanced + filler phrases + negative-parallelism tricolons + stronger LLM prompt. | Marketing copy, release notes, slop-heavy LLM output. |
Use the deterministic pass to get a report, then fix anything that slipped:
humanize --deterministic --report audit.json doc.md # writes audit + humanized
humanize doc.md # optional LLM polish on top
audit.json lists every rule that fired, every before → after pair, and counts_by_rule. Great for reviewing what the regex changed before trusting the diff to merge.
/unslop-file <filepath>, /unslop:humanize <filepath>, or "humanize memory file", "de-slop this doc", "strip AI tone from this file".
The scripts live in a scripts/ directory adjacent to this SKILL.md.
Common layouts:
unslop/SKILL.md + unslop/scripts/
skills/unslop-file/SKILL.md + skills/unslop-file/scripts/
plugins/unslop/skills/unslop-file/SKILL.md + sibling scripts/
Always prefer the scripts/ sibling of the currently loaded SKILL file.
Steps:
scripts/ sibling.python3 -m scripts <absolute_filepath> (LLM mode), or add --deterministic for the regex pass..original.md backup → humanize → validate (preserve check + AI-ism residual check) → on validation error: targeted fix call (LLM mode) → retry up to 2 times..original.md backup, exit 0.delve, tapestry, testament (praise form), navigate/embark/journey (figurative), realm, landscape (figurative), pivotal, paramount, seamless, holistic, leverage (filler verb), robust (filler), comprehensive (when "complete" works), cutting-edge, state-of-the-art (filler), interplay, intricate, vibrant, underscore(s)/d/ing (figurative), crucial, vital (role/importance/part), ever-evolving, ever-changing, in today's (digital) world/age, dynamic landscape.--mode full only): "in order to" → "to", "due to the fact that" → "because", "prior to" → "before", "with regard to" → "about", "a wide variety of" → "many", "at this point in time" → "now", "the fact that" → "that", etc.--mode full only): "No guesswork, no bloat, no surprises." — the rhetorical triple-no punch....) — every byte...)./src/, /etc/, C:\Users\...)npm install, git rebase, docker run)$HOME, ${NODE_ENV})Everything inside ``` ... ``` is read-only. No comment changes, no whitespace changes, no line reordering. Inline backticks: same. Code is the substrate; humanization only operates on prose between code regions.
| # | Before | After (deterministic, --mode balanced) |
|---|---|---|
| 1 | It's important to note that running tests prior to pushing changes is a comprehensive best practice. Additionally, it's worth mentioning that this can prevent broken builds. | Running tests before pushing changes is a broad best practice. This can prevent broken builds. |
| 2 | The application leverages a microservices architecture that comprises multiple discrete components. | The application uses a microservices architecture that comprises multiple discrete components. |
| 3 | At its core, caching trades memory for latency. | Caching trades memory for latency. |
| 4 | Let's dive in. Here is the first step. | Here is the first step. |
| 5 | The intricate interplay between caching and latency is crucial. | The detailed link between caching and latency is important. |
| 6 | In today's digital world, we ship fast. | Today, we ship fast. |
--mode full, additionally:| # | Before | After |
|---|---|---|
| 7 | We ran the tests in order to verify the fix. | We ran the tests to verify the fix. |
| 8 | The build failed due to the fact that the disk was full. | The build failed because the disk was full. |
| 9 | No guesswork, no bloat, no surprises. | (stripped) |
blader/unslop — Claude-Code skill listing 30+ AI tells; we incorporated the strongest signals.docs/research/IMPLEMENTATION_TRACE.md..md, .txt, .markdown, .rst, or extensionless natural language..py, .js, .ts, .json, .yaml, .yml, .toml, .env, .lock, .css, .html, .xml, .sql, .sh.FILE.original.md is written before overwrite. Never humanize a file already named *.original.md..env*, *.pem, *.key, ~/.ssh/, ~/.aws/, etc.) are refused before any read or API call.