Claude-code-minoan stop-slop
Strip AI writing patterns from prose across five registers — casual, professional, academic, technical, and narrative. Applies 200+ pattern rules to eliminate predictable LLM tells. Triggers on clean up writing, remove AI slop, edit prose, make this sound less AI.
git clone https://github.com/tdimino/claude-code-minoan
T=$(mktemp -d) && git clone --depth=1 https://github.com/tdimino/claude-code-minoan "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/core-development/stop-slop" ~/.claude/skills/tdimino-claude-code-minoan-stop-slop && rm -rf "$T"
skills/core-development/stop-slop/SKILL.mdStop Slop
Eliminate predictable AI writing patterns. Produce clear, specific, human-sounding prose across any register.
Step 1: Detect register
Infer the register from context before applying rules. Different registers tolerate different patterns.
| Signal | Register |
|---|---|
| Citations, methodology, "we hypothesize" | |
| API docs, READMEs, changelogs, error messages | |
| Fiction, essays, memoir, creative nonfiction | |
| Blog posts, social media, emails | |
| Reports, proposals, business comms | |
If the user specifies a register, use it. See references/registers.md for per-register acceptable vs. flagged patterns.
Step 2: Remove slop
Apply these rules, adjusted for register:
-
Cut filler phrases and AI vocabulary. Remove throat-clearing openers, chatbot artifacts, significance inflation, and words that appear 100-1,000x more in LLM output than human text. See references/phrases.md.
-
Break formulaic structures. Avoid binary contrasts, dramatic fragmentation, format slop, synonym cycling, rule-of-three overuse, and generic conclusions. See references/structures.md.
-
Use simple constructions. Prefer "is" over "serves as." Prefer "has" over "boasts." Prefer "use" over "leverage." Active voice. Positive form.
-
Be specific. Replace vague claims with dates, names, numbers, sources. "Significant improvement" becomes "latency dropped from 340ms to 90ms."
-
Vary rhythm. Mix sentence lengths. Two items in a list beat three. End paragraphs differently from each other.
-
Trust readers. State facts. Skip softening, justification, hand-holding. If a metaphor needs explaining, rewrite the metaphor.
-
Have a voice. React to facts, don't just report them. Acknowledge complexity. Let personality through.
See references/positive.md for what good writing does (not just what to avoid).
Step 3: Score
Rate 1-10 on each dimension, adjusted for register:
| Dimension | Question |
|---|---|
| Directness | Statements or announcements? |
| Rhythm | Varied or metronomic? |
| Trust | Respects reader intelligence? |
| Authenticity | Sounds human, not generated? |
| Density | Anything cuttable? |
| Specificity | Claims backed by evidence? |
Below 42/60: revise.
Register adjustments (see references/registers.md):
: Do not penalize precise hedging or longer qualified sentencesacademic
: Consistent structure in reference docs is not a rhythm flawtechnical
: Indirection and dramatic rhythm variation are valid techniquesnarrative
Quick checks
Before delivering prose:
- Three consecutive sentences match length? Break one.
- Paragraph ends with punchy one-liner? Vary it.
- Em-dash before a reveal? Remove it.
- Explaining a metaphor? Trust it to land.
- "Serves as," "stands as," "represents"? Rewrite with "is."
- -ing clause at end of sentence adding no information? Delete it.
- Three-item list? Try two items or one.
- Different words for the same thing in adjacent sentences? Pick one term and reuse it.
Reference files
| File | Purpose |
|---|---|
| phrases.md | Words and phrases to cut or replace |
| structures.md | Structural patterns to avoid |
| positive.md | What good writing does |
| registers.md | Per-register rules and tolerances |
| examples.md | Before/after transformations (all registers) |
License
MIT