Skip to content
Content
Skill

/unslop-file

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

From plugin
unslop
1666 skills9 hooks

Claude Code

$ npx -y skills add MohamedAbdallah-14/unslop --skill unslop-file --agent claude-code

SKILL.md

unslop-file.SKILL.md
name: unslop-file
description: >
  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).
  Humanized version overwrites the original file. Plain backup saved as FILE.original.md.
  Trigger: /unslop-file <filepath> or "humanize memory file"

Unslop Humanize

Purpose

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.
  • **LLM mode (default)** — calls Claude (via Anthropic SDK or `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.

Intensity levels (`--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. |

Two-pass audit

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.

Trigger

`/unslop-file <filepath>`, `/unslop:humanize <filepath>`, or "humanize memory file", "de-slop this doc", "strip AI tone from this file".

Process

The scripts live in a `scripts/` directory adjacent to this SKILL.md.

Common layouts:

  • Full repo: `unslop/SKILL.md` + `unslop/scripts/`
  • Synced mirror: `skills/unslop-file/SKILL.md` + `skills/unslop-file/scripts/`
  • Codex bundle: `plugins/unslop/skills/unslop-file/SKILL.md` + sibling `scripts/`

Always prefer the `scripts/` sibling of the currently loaded SKILL file.

Steps:

1. Locate the directory containing this SKILL.md and its `scripts/` sibling. 2. Run from that directory: `python3 -m scripts <absolute_filepath>` (LLM mode), or add `--deterministic` for the regex pass. 3. CLI flow: detect file type → write `.original.md` backup → humanize → validate (preserve check + AI-ism residual check) → on validation error: targeted fix call (LLM mode) → retry up to 2 times. 4. On final failure: report errors, restore original, exit 2. 5. On success: report path of humanized file and `.original.md` backup, exit 0. 6. Return result to user.

Humanization Rules

Remove (canonical AI-isms)

  • **Sycophancy openers**: "Great question!", "Certainly!", "Absolutely!", "Sure!", "I'd be happy to help", "What a fascinating..."
  • **Stock vocab**: `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`.
  • **Hedging openers**: "It's important to note that", "It's worth mentioning", "Generally speaking", "In essence", "At its core", "It should be noted that", "It's also worth pointing out".
  • **Authority tropes** (sentence start): "At its core,", "In reality,", "Fundamentally,", "What really matters is", "The heart of the matter is", "At the heart of X is/lies".
  • **Signposting announcements**: "Let's dive in(to ...)", "Let's break this down", "Here's what you need to know", "Without further ado", "In this article, I'll ...", "Buckle up".
  • **Transition tics** (sentence start): "Furthermore,", "Moreover,", "Additionally,", "In conclusion,", "To summarize,".
  • **Performative balance**: "however" / "on the other hand" appended to every claim.
  • **Em-dash pileups** (more than two em-dashes per paragraph).
  • **Filler phrases** (`--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.
  • **Negative-parallelism tricolons** (`--mode full` only): "No guesswork, no bloat, no surprises." — the rhetorical triple-no punch.

Tighten

  • Tricolons: "X, Y, and Z" stacks where two would suffice — keep two, drop the weakest
  • Bullet soup: three bullets that say the same thing → merge into one sentence
  • Five-paragraph essay shapes: var
Read more
@mohamedabdallah-14
Ships withunslop

Make AI output sound human. Strips AI-isms (sycophancy, stock vocab, hedging stacks, em-dash pileups), preserves code/URLs/headings. Plugin for Claude Code, Cursor, Windsurf, Codex, Cline, Copilot, Gemini.

Stars on GitHub

Momentum

stars in total
166
Star history of MohamedAbdallah-14/unslop on GitHub, a chart by star-history.com

Other skills on unslop.

unslop-help

unslop-help

Quick-reference card for unslop modes, sub-skills, and slash commands. One-shot display, not a persistent mode. Trigger:…

unslop-review

unslop-review

Rewrites code review comments so they read like a human teammate wrote them. Cuts corporate-AI throat-clearing ("I noticed...",…

unslop

unslop

Humanize LLM output so it reads like a careful human wrote it. Subtracts AI-isms (sycophancy, tricolons, em-dash overuse,…

More skills from other plugins.

prompt-lookup

prompt-lookup

Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use…

@gh-f@gh-fInstall Skill
ppt-master

ppt-master

AI-driven presentation workflow for generating editable PPTX decks and slides, reconstructing page visuals, creating reusable…

@hugohe3@hugohe3Install Skill
morph-ppt

morph-ppt

Use this skill when the user wants a .pptx with smooth cross-slide animation — PowerPoint Morph transitions, Keynote-style…

officecli13d33k
@iofficeai@iofficeaiInstall Skill

Questions about unslop-file.

Which coding agents can use unslop-file?
unslop-file installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.