Back to Agentic AI

Agentic AI / Skills

Humanize and Unslop Skill

A Claude Code Skill that edits AI-drafted writing back into something a person would actually write. A bundled scanner flags banned words, stock phrases, and punctuation with line numbers, the model handles the structural tells and the rewrite, and a detect-only mode lists the findings without touching the text.

Skills

Use it

  1. 1

    Check you have

    node
  2. 2

    Install into your project

    curl -sSL https://raw.githubusercontent.com/ersanyamarya/agentry-labs/main/scripts/install.sh | bash -s -- skills/humanize-and-unslop
  3. 3

    Run it in Claude Code

    /skill humanize-and-unslop
View source on GitHub

Share

Most "make it sound less AI" prompts are one line, something like "rewrite this so it doesn't sound like ChatGPT." Claude does something for a paragraph, then drifts back to the same tics by the third page. "Sound human" works better as a checklist than as one instruction, and checklists are exactly what skills are for.

What it does

The skill splits the work between a script and the model. The bundled scanner, scripts/scan.mjs, finds the mechanical tells with line numbers: 46 banned words (delve, leverage, robust, testament), 15 jargon terms, 29 stock phrases ("I hope this helps", "in conclusion"), plus em dashes, spaced en dashes, curly quotes, and emoji. It skips code blocks, inline code, URLs, and blockquotes. Words with a real technical sense, like primitive, surface, or vector, come back as review findings, and the model keeps them when the literal meaning applies. Everything else is a fix.

The model covers what a regex can't catch. It checks for Title Case headings, colon lead-ins, bold-label bullets, "isn't just X, it's Y" contrasts, forced triads, synonym cycling, passive voice that hides the actor, and unsourced claims.

It runs in one of two modes:

  1. Edit (default). Hand it a draft or a file path. It scans, runs the judgment pass, rewrites, then scans again, repeating until zero fix findings remain. Drafts under about 150 words skip the scanner and get checked by reading. For personal or opinion writing it also adds rhythm and the author's own view back in, since sterile writing without slop words still reads as machine-made. Docs, specs, READMEs, and third-person reports don't get that pass. Before it hands the draft back, it rereads once and fixes whatever still sounds generated, usually rhythm or an ending that summarizes. Files are edited in place, and the reply ends with a short "What changed" list.
  2. Detect. Pass --detect, or ask it to audit or check a draft. Same scan and judgment pass, no rewrite. It returns one line per finding with the line number, pattern, exact quote, and a short fix, then a count per pattern. Useful when you want to know how bad a draft is before deciding whether it's worth editing at all.
<!-- diagram: flow-humanize-unslop -->
graph TD
    A[Draft or file comes in] --> B{Edit or detect?}
    B -- Edit --> C["Run scan.mjs (skipped under ~150 words)"]
    C --> D[Judgment pass: structure, framing, rhythm]
    D --> E[Rewrite; add soul only for personal writing]
    E --> F{Re-scan: zero fix findings?}
    F -- No --> E
    F -- Yes --> G[Reread once, return draft + What changed]
    B -- Detect --> H[Run scan.mjs + judgment pass]
    H --> I["Return line, pattern, quote, fix + counts"]

Why this earns a place here

The rules are specific enough to check. "No em dashes" is a rule you can grep for, and the skill now does the grepping itself, so the model doesn't have to remember 46 words by page ten. Patterns a script can't catch, like faux-insight setups ("The real problem is..."), are named in a reference file with before and after examples. That's why the same tics get caught the same way every time, on page one and on page ten.

The lists are also reusable. Other skills can read patterns.json and judgment-patterns.md, or run scan.mjs --json, instead of keeping their own copy of the word lists.

This portfolio runs it on every blog post and every write-up in this section, including the one you're reading, before publishing.

Prerequisites

Node.js, to run the scanner. It uses only built-in modules, so there are no packages to install.

What's inside

Maintained publicly in Agentry Labs, a framework-agnostic collection of reusable AI-agent components. The skill ships:

  • SKILL.md, with the rules, the five-step workflow, and the output formats for both modes.
  • scripts/scan.mjs, the scanner.
  • references/patterns.json, the word, phrase, and punctuation lists the scanner reads.
  • references/judgment-patterns.md, the structural patterns the model checks by hand.
  • references/examples.md, before and after edits for a product announcement, a README section, and a report finding, plus a clean example that should come back unchanged.
  • evals/evals.json, four test prompts covering edit mode, detect mode, a short one-liner, and a design doc.