From unslop
Humanizes AI-generated memory files like CLAUDE.md, todos, and docs by removing AI-isms, adding burstiness, and preserving code blocks, URLs, paths, commands, headings exactly. Supports fast regex (--deterministic) or Claude LLM rewrite modes.
How this skill is triggered — by the user, by Claude, or both
Slash command
/unslop:unslop-fileThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
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.
scripts/__init__.pyscripts/__main__.pyscripts/benchmark.pyscripts/cli.pyscripts/detect.pyscripts/detector.pyscripts/fetch_detectors.pyscripts/humanize.pyscripts/lexical_targets.pyscripts/py.typedscripts/reasoning.pyscripts/soul.pyscripts/structural.pyscripts/style_memory.pyscripts/stylometry.pyscripts/surprisal.pyscripts/validate.pyRewrite 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.npx claudepluginhub mohamedabdallah-14/unslop --plugin unslopHumanizes AI-generated text in project files, READMEs, docs, and blogs by detecting and fixing 24 documented AI writing patterns. Interactive workflow with input selection, content type, and intensity options.
Removes AI artifacts (tool names, boilerplate, over-structuring) from documents. Processes single files, directories, or git diffs.
Humanizes AI-generated developer docs and code comments by auto-applying safe fixes from review-ai-writing results. Includes git stash safety, dry-run preview, full scans, and category filtering.