Instalar en Claude Code
Copiargit clone https://github.com/seyedehsanhadi/sloptrim ~/.claude/skills/sloptrimDespués abre una sesión nueva de Claude Code; el skill carga automáticamente.
Definición
SKILL.md
# 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 six 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 placeholder untouched, and the word count inside 1.25x. 9. **Scrub the output:** re-run `python "$DETECT"` on the final text and confirm `invisible_chars`, `nonstandard_spaces`, and `homoglyphs` are `0` (#62/#66/#67/#68 silent). Drafts from other models can carry zero-width or TAG-block characters that survive copy-paste; `python "$DETECT" --clean` strips them, normalizes spaces, folds homoglyphs, and trims stray whitespace without touching visible content. 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, silently (see *Style, chosen silently*). Each profile is a *positive target* - it does not change which AI tells are removed or the preservation rules; it sets the rhythm, register, punctuation, and paragraph shape the cleaned prose is rebuilt into. **1. 2000s textbook** *(default)* - pre-LLM human academic prose (a well-edited textbook, roughly 2000-2008). Clear declarative sentences, one idea each; real length variation (a short statement, a longer development, a worked example - never metronomic); concrete examples introduced naturally; occasional first-person-plural for exposition, never first-person-singular opinion; semicolons and parentheses where a writer would use them, em-dash sparing. Forbidden: hype adjectives, signposting, hedge stacks, rule-of-three, "In today's world" openers, upbeat conclusions,