Skip to content
Writing
Skill

/sloptrim

Use when the user wants to humanize text, trim slop, de-AI or de-slop writing, remove AI tells, fix robotic or ChatGPT-sounding prose, or make writing sound human and natural. Also run before delivering a CV, cover letter, email, report, or essay to be sent. Removes 71

BOOST
From plugin
sloptrim
3951 skill7 hooks
Install
$ npx -y skills add seyedehsanhadi/sloptrim --skill sloptrim --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/sloptrim

Context preview

The summary Claude sees to decide when to auto-load this skill.

Use when the user wants to humanize text, trim slop, de-AI or de-slop writing, remove AI tells, fix robotic or ChatGPT-sounding prose, or make writing sound human and natural. Also run before delivering a CV, cover letter, email, report, or essay to be sent. Removes 71

SKILL.md

sloptrim.SKILL.md
name: sloptrim
description: >-
  Use when the user wants to humanize text, trim slop, de-AI or de-slop writing,
  remove AI tells, fix robotic or ChatGPT-sounding prose, or make writing sound
  human and natural. Also run before delivering a CV, cover letter, email,
  report, or essay to be sent. Removes 71 documented AI-writing patterns with a
  local detector, preserves numbers, names and citations, and rebuilds toward a
  human voice rather than a flat husk. Mode-aware, so it never fabricates voice
  on factual content.
version: 0.9.4
license: Apache-2.0
allowed-tools: Read, Write, Edit, Grep, Glob, Bash
argument-hint: The text to trim, or a file path

Sloptrim

Trims AI slop from text. Works a catalogue of 71 patterns: 62 machine-checked by `scripts/detect.py`, 9 requiring semantic judgment during the rewrite. Of the 62, 50 can move the score; the rest are reported as writing advice and count for nothing. Mode-aware so it does not invent voice on factual content. Preserves facts. Rebuilds the cleaned text toward a selectable human-voice **style profile** so it does not read as a sterile de-AI'd husk.

Silence

This skill never talks about itself. It hands back the cleaned text and nothing else.

**Never emit:** any announcement that sloptrim ran, style/mode lines, scores or reports, drafts, self-audit notes, facts-preserved lines, change lists, preambles, closing offers.

**Emit only:**

  • Text given inline: the final text. Nothing before it, nothing after it.
  • A file path given: rewrite the file in place, then one line - the path. Nothing else.
  • Fired as a pre-delivery pass on something you were already writing (CV, cover letter, email, report, essay): just deliver the clean text. Do not mention that a pass happened.

Every internal step still runs - detector, tiering, self-audit, character scrub. Silence means nothing is *printed*, not that anything is skipped.

Break silence only for: (a) a fact you cannot preserve, or an unusual word you cannot verify against the domain - one line, then the text; (b) the user explicitly asking for the score, the report, a style choice, or a diff - then answer in full; (c) a **high-stakes first-person deliverable** - a cover letter, personal statement, or bio the user is about to send - where after the text you may add exactly one line offering a voice switch (for example: "Voice here is plain-professional; say the word for warmer or more formal."). One line, only for these high-stakes cases, never for routine prose.

Style, chosen silently

Never ask. Read the content and pick:

  • encyclopedic / factual / technical → **2000s textbook**
  • first-person / opinion → **conversational essay**
  • docs, README, business prose → **plain / clear**
  • news → **journalistic**

If the user names a style or pastes a writing sample, that wins (see *Matching the user's own voice*).

Task

1. **Pick the style silently** (above). Never ask. 2. **Classify the content** (see *Content type and voice*) - conservative or drastic mode. The style profile sets the *target* rhythm and register; the mode sets how far you may push voice. They compose: e.g. 2000s textbook always stays conservative; conversational essay implies drastic mode. 3. **Run `scripts/detect.py`** and tier the pass to `_metrics.ai_tell_score`: `clean` (≤20) - character scrub and flagged spans only, do NOT rewrite (a human-first draft keeps its voice); `light tells` (21-40) - targeted edits plus rhythm repair; `mixed` and above - full rewrite toward the style profile. 4. **Identify remaining patterns** that require semantic judgment. Pattern names and category map are below. Read `references/patterns.md` when you need the precise Before/After examples for any pattern. 5. **Note critical content to preserve:** numbers, proper nouns, hyphenated technical terms, citations, units, dates. Then note the things an entity list does not hold, from *Critical content preservation* below: which claims are attributed and which are the writer's own, which are hedged, which figures belong to which nouns, every placeholder, and the input word count you may not exceed. 6. **Produce a draft rewrite** toward the chosen style profile. 7. **Anti-sterility self-audit loop** - internal, never printed: re-run `python "$DETECT"` on the draft; ask what still reads as AI, and whether it over-flattened (`length_cv` < 0.35, uniform paragraphs, `readability_uniform` true, contractions gone in drastic mode - a flat husk reads as machine-made just as fast as slop). Fix only the offending spans; cap at two loops; accept at `clean`/`light tells` and not over-flattened. Check the other direction in the same pass: count the words. Past 1.25x the input you have written new material, and no score justifies keeping it. 8. **Verify:** every fact preserved, no fabricated dates / quotes / sources, and every unusual word is correct for the domain (a real but wrong word is worse than a typo). Then re-read for the failures in *Critical content preservation*: no attribution added or removed, no last hedge cut, no criticism reading as praise, every figure still on its own noun, every ranking and simultaneous event retained, every placeholder untouched, and the word count inside 1.25x. 9. **Scrub the output:** re-run `python "$DETECT"` on the final text. Resolve unintended `invisible_chars`, `nonstandard_spaces`, `homoglyphs`, and stray whitespace in prose. `python "$DETECT" --clean` removes these outside recognized Markdown code spans. Preserve functional Unicode, code examples, and verbatim quotations; never alter meaningful characters just to reach zero. For an intentional character the detector cannot distinguish, retain it and explain the exception only when the user requests a report. 10. **Output the final text, and only the final text** (see *Silence*).

Style profiles

Removing AI tells is only half the job. The other half is rebuilding the text toward a voice a person would actually write in. Pick one from the content,

Read more
Ships withsloptrim

A local detector for AI-writing patterns. Scores every prose file your agent saves. Python standard library only, no network, no model.

Get the whole plugin
Stats
396
Stars
27
Forks
Active
Maintenance
Python
Language
Apache-2.0
License
13d ago
Last commit
2mo ago
Created
22h ago
Added

Repo: seyedehsanhadi/sloptrim