Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
theclaymethod avatar

Unslop

  • 321 installs
  • 47 repo stars
  • Updated August 4, 2026
  • theclaymethod/unslop

Clean up low-quality 'slop' writing into tighter prose.

About

A writing skill that strips filler and 'slop' from text to produce tighter, higher-quality prose. Builders use it to clean up generated or rough drafts for publishing.

  • De-slop text
  • Tighten prose
  • Content polish

Unslop by the numbers

  • 321 all-time installs (skills.sh)
  • +40 installs in the week ending Aug 5, 2026 (Skillselion tracking)
  • Ranked #442 of 1,879 Documentation skills by installs in the Skillselion catalog
  • Security screen: HIGH risk (skills.sh audit)
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/theclaymethod/unslop --skill unslop

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs321
repo stars47
Security audit2 / 3 scanners passed
Last updatedAugust 4, 2026
Repositorytheclaymethod/unslop

What it does

Clean up low-quality 'slop' writing into tighter prose.

Files

SKILL.mdMarkdownGitHub ↗

Unslop

Humanize AI-generated prose. Audit it first. Rewrite only when the user wants a rewrite.

When to Use

  • User asks to "humanize", "de-slop", or "make it sound human"
  • Editing AI-generated drafts, emails, articles, social posts
  • Text contains AI patterns (throat-clearing, binary contrasts, em-dash abuse, emphasis crutches)
  • User says text "sounds like AI" or "sounds robotic"
  • Reviewing content before publishing
  • User pastes text and asks to "clean it up" or "make it natural"

Arguments

ArgumentDescriptionDefault
--presetVoice style: crisp, warm, expert, storycrisp
--strictFail if rubric score < 32/40false
--audit-onlyFlag AI patterns without rewritingfalse
InputText to transform (argument, file path, or stdin)required

Modes

This skill has two modes:

  • rewrite (default) — diagnose, rewrite, then validate the rewrite
  • audit-only — diagnose and assess the text without rewriting it

Trigger audit-only mode when the user says "audit only," "flag only," "scan this," "just detect," "don't rewrite," or passes --audit-only.

Voice Presets

PresetStyleBest For
crispShort, direct, no fluffTechnical writing, documentation
warmFriendly, conversationalEmails, blog posts
expertAuthoritative, confidentThought leadership, articles
storyNarrative flow, show don't tellCase 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.

Workflow

Pass 1: Diagnosis

Before rewriting anything, understand what's wrong. This prevents blind rewriting that loses meaning.

1. 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).

2. 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.

3. 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"

4. Read the selected preset from presets/ and note its voice rules.

5. Identify: audience, content type, tone target. A LinkedIn post needs different treatment than a technical doc.

Pass 2: Reconstruction

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):

  • Em-dashes are overused by AI. Use them sparingly, not never — a single appositive dash ("the problem isn't meetings—it's the agenda") is fine and several presets use one. Two or more in a paragraph is the tell. Never trade a dash for a comma splice; if a dash is wrong, use a period.
  • AI text delays the point. Cut everything before the actual claim. "Here's the thing:" is throat-clearing. "Let that sink in." is an emphasis crutch. Just state the thing.
  • AI inflates significance. "Stands as a testament to" means "is". "Pivotal moment" is almost never pivotal. Replace inflation with the specific fact.
  • AI avoids commitment. "It's worth noting that" hedges. "Some experts argue" hides behind unnamed sources. Make claims directly or cite specifically.
  • Facts are sacred. Every number, name, date, and URL from the original must appear in your output unchanged. Style is negotiable; accuracy is not.
  • Shorter is almost always better. If cutting a sentence doesn't change the meaning, cut it. AI pads; humans compress. But meaning includes scope and certainty — see the guards below.

Register & genre guards (do no harm)

Removing AI tells must not damage correct writing. Before applying the rules above, check the register:

  • Don't de-hedge regulated or technical content. In legal, medical, scientific, and security text, hedges and absolutes are the content, not filler. "may cause", "studies suggest", "preliminary", "does not establish causation", "never store secrets", "Most users (73%)" — keep them. Directness applies to corporate puffery, not to load-bearing qualifiers, negations, scope words, or conditionals.
  • Don't invent a first-person voice. The personality guide adds voice to writing that has a person behind it. For impersonal copy (technical docs, reference text, third-party announcements), do not fabricate "I"/"we" lived experience to manufacture authenticity. Adding a fake anecdote is a worse tell than the slop you removed.
  • Avoid your own house style becoming a tell. Bare fragment contrasts ("Not the technology. The people."), staccato runs of two- and three-word sentences, and forced punch-endings are a recognizable "anti-slop" register of their own. Vary sentence length (mix 8–25 words). The banned_phrase_scan.py anti_slop_register category and readability_metrics.py staccato flag will catch these in your output — heed them.
  • Match register, don't flatten it. A warm email should stay warm (keep a softener or a contraction-led reassurance); cutting it to telegraphic fragments is colder than the original, not more human.

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+.

Validation

Only run this section when you rewrote the text.

After rewriting, verify your work:

1. Fact preservation — confirm all constraints survived:

   python3 scripts/validate_preservation.py original.txt transformed.txt

2. Remaining AI patterns — check your output is clean:

   python3 scripts/banned_phrase_scan.py <<< "$OUTPUT"

Blocking, even though they're "soft": an anti_slop_register hit means you replaced slop with your own tell (a bare "Not X. Y." contrast or a staccato run). Do not ship it — rewrite that span with varied sentence length before returning.

3. Readability metrics — check rhythm and variance:

   python3 scripts/readability_metrics.py <<< "$OUTPUT"

A Staccato cadence flag is also blocking: vary the rhythm and re-check.

4. Change percentage — flag if >40% changed (may indicate over-editing):

   python3 scripts/diff_check.py original.txt transformed.txt

5. Score against rubric — 8 criteria x 5 points = 40 max. Passing: 32/40 (80%). See references/rubric.md for detailed scoring.

What validation does and doesn't cover. The scripts check surface facts — numbers, names, dates, currencies, cited references — and now warn on dropped negations, scope words, and conditionals. They do not verify meaning. A passed: true result with warnings present is not a green light: re-read every flagged negation/scope/conditional yourself and confirm no claim was inverted, strengthened, or stripped of its scope. Validation catches a deleted $47.3M; only you catch "does not support" turned into "supports".

Output Format

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]

Quick Examples

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.

Reference Files

Located in this skill's directory. Read them as needed — don't front-load everything into context.

FileWhen to Read
references/taboo-phrases.mdFirst use, then for edge cases. Expanded pattern catalog with detection regex, newer structural families, and quote-exemption rules.
references/rubric.mdWhen scoring output or in --strict mode. 8 criteria, detailed rubrics.
references/edit-library.mdWhen unsure how to transform a specific pattern. 24 before/after examples.
references/fact-preservation.mdWhen input has lots of data, names, or quotes. Constraint rules.
references/personality-guide.mdWhen output is clean but soulless. How to add genuine voice.
presets/*.mdAfter preset selection. Voice-specific rules, patterns, checklists.
assets/examples/*.mdFor extended before/after examples by content type (article, LinkedIn, sales).

Scripts

All scripts accept stdin or file path arguments and output JSON. Run from the skill directory.

ScriptPurposeWhen to Run
scripts/extract_constraints.pyExtract must-preserve factsBefore rewriting
scripts/banned_phrase_scan.pyDetect AI patterns with severityBefore and after rewriting
scripts/validate_preservation.pyVerify facts survivedAfter rewriting
scripts/readability_metrics.pySentence variance, grade levelAfter rewriting
scripts/diff_check.pyChange percentageAfter rewriting
scripts/wiki_sync.pySync with Wikipedia AI patternsOn /unslop --wiki-sync

Maintenance Commands

CommandAction
/unslop --add-phrase "phrase"Add banned phrase
`/unslop --add-structure "pattern\fix"`
/unslop --list-phrasesList all banned phrases
/unslop --list-structuresList structural patterns
/unslop --wiki-syncSync with Wikipedia for new AI patterns

Wiki Sync (/unslop --wiki-sync)

Syncs pattern rules with Wikipedia's Signs of AI writing page. Run periodically to pick up new patterns.

Steps:

1. Check for updates: python3 scripts/wiki_sync.py check (exit 0 = no updates) 2. Get structured diff: python3 scripts/wiki_sync.py diff (JSON output with change type, section, words) 3. For each new word/phrase: add to references/taboo-phrases.md in the matching section, and add to scripts/banned_phrase_scan.py BANNED_PHRASES dict with category, severity, and suggestion. 4. Verify: 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.).

Key Principles

1. Diagnosis before writing — understand what's wrong before fixing 2. Facts are sacred — never sacrifice accuracy for style 3. Presets guide, don't constrain — adapt to content type 4. When in doubt, cut — shorter is almost always better 5. Quoted examples are exempt by default — don't flag illustrative bad writing unless the user explicitly wants that 6. Validation is mandatory but not sufficient — run the scripts, especially fact preservation, then manually re-check meaning (negations, scope, certainty). The scripts catch surface facts; you catch inverted claims. 7. Do no harm to good writing — don't de-hedge regulated/technical text, don't invent first-person voice, and don't replace slop with your own staccato/fragment-contrast tell (see Register & genre guards)

Related skills

FAQ

Is Unslop safe to install?

skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.