De-AI-ify: Kill the Bot, Keep the Human
Strip AI-generated patterns from text and code. Not a grammar pass — a voice transplant.
Works on prose, code, commits, docstrings, academic papers. Anything an LLM touched.
How This Works
Two-pass audit. First pass catches the patterns. Second pass catches what the first pass missed — because removing AI patterns can itself create new ones (sterile, voiceless writing is just as obvious as slop).
Quick Start
/slopbuster <file_or_text> # Auto-detect mode, standard depth
/slopbuster <file> --mode text|code|academic # Force specific mode
/slopbuster <file> --depth quick|standard|deep
/slopbuster <file> --score-only # Just score, don't rewrite
Modes
Detect automatically from file extension and content, or specify explicitly.
| Mode | Targets | Rule files loaded |
|---|---|---|
text | Prose, marketing, blog posts, docs, emails | text-content, text-language, text-style, text-communication, text-structure |
code | Source files, comments, naming, commits, docstrings | code-comments, code-naming, code-commits, code-docstrings, code-quality, code-llm-tells |
academic | Research papers, theses, abstracts | academic (49 rules, section-specific) |
auto | Detects from context | Loads relevant rule files |
Depth Levels
| Depth | What happens | Best for |
|---|---|---|
quick | Single pass, obvious patterns only, no scoring | Fast edits, social copy |
standard | Full pattern scan + two-pass audit + score + changelog | Anything going public |
deep | Full scan + voice calibration against writer's sample + style guide generation | Ghostwriting, brand voice matching |
Default: standard
The Process
Step 1: Diagnose
Read the input. Load the relevant rule files based on mode. Identify every matching pattern. Score the original.
For text mode, read these rule files:
rules/text-content.md— significance inflation, promotional language, vague attributions, formulaic challengesrules/text-language.md— AI vocabulary, copula avoidance, synonym cycling, false ranges, negative parallelisms, rule of threerules/text-style.md— em dashes, boldface, inline-header lists, title case, emojis, curly quotesrules/text-communication.md— chatbot artifacts, sycophancy, disclaimers, filler phrases, hedging, generic conclusionsrules/text-structure.md— structural anti-patterns and how to fix them
For code mode, read these rule files:
rules/code-comments.md— 18 comment anti-patternsrules/code-naming.md— 14 naming anti-patternsrules/code-commits.md— 10 commit message anti-patternsrules/code-docstrings.md— 8 docstring anti-patternsrules/code-quality.md— error handling, API design, test anti-patternsrules/code-llm-tells.md— 16 structural code tells
For academic mode, read:
rules/academic.md— 49 rules across 10 groups with section-specific guidance
For voice and soul guidance (all modes), read:
guides/voice-and-soul.md— how to inject personality, not just strip patternsguides/style-template.md— if deep mode, use this to build a custom voice profile
For scoring reference, read:
scoring.md— unified scoring system
Step 2: Rewrite
Apply pattern removals. Inject human voice markers (varied rhythm, specificity, opinion, contractions, active voice). Preserve meaning, facts, and key arguments.
Step 3: Two-Pass Audit
Ask yourself: "What still makes this obviously AI-generated?" List the remaining tells in brief bullets. Then revise again to kill those tells.
This step is critical. Removing AI patterns without adding soul produces sterile writing that's equally detectable — just by a different classifier.
Step 4: Score and Report
Score the final version. Generate a changelog. Flag anything that needs manual review.
Output Format
For Text Mode
ORIGINAL SCORE: 3.8/10 (AI-heavy)
MODE: text | DEPTH: standard
--- DRAFT REWRITE ---
[first pass rewrite]
--- WHAT'S STILL AI ABOUT THIS? ---
- [remaining tells as brief bullets]
--- FINAL VERSION ---
[second pass rewrite]
FINAL SCORE: 8.4/10 (human-like)
CHANGES MADE:
- Removed 7 hedging phrases ("It's important to note", "arguably")
- Replaced 4 corporate buzzwords ("leverage" -> "use")
- Fixed 3 robotic patterns (parallel structure overuse)
- Added 5 specific examples (replaced vague references)
- Shortened 8 sentences (>40 words -> 15-25 words)
FLAGS FOR MANUAL REVIEW:
- Paragraph 3: Still uses "various" — suggest specific companies
- Paragraph 7: Transition feels abrupt — consider adding context
FILE SAVED: example-HUMAN.md
For Code Mode
MODE: code | DEPTH: standard
FILES SCANNED: 3
--- CHANGES ---
src/auth.ts:
L12: Comment "// Initialize authentication" -> deleted (tautological)
L34: Variable `userDataObject` -> `user` (verbose compound name)
L67: Comment "// We validate the input" -> "// Reject expired tokens — see #1234"
COMMIT MSG REWRITE:
"Enhanced authentication flow with improved error handling"
-> "reject expired OAuth tokens at middleware boundary"
SCORE: 4.2 -> 8.1
For Academic Mode
MODE: academic | DEPTH: standard
FIELD: [detected or specified]
SECTION: [detected or specified]
--- DIAGNOSIS ---
- "plays a crucial role" — Group B Rule 6: significance filler
- "Moreover," — Group B Rule 5: transition padding
- "This finding suggests" — Group F Rule 25: abstract noun subject
--- REVISED TEXT ---
[revised version]
--- CHANGES ---
- [3-6 items with rationale]
SCORE: 3.5 -> 7.8
What Gets Killed (Pattern Summary)
Text: 24 Core Patterns
- Significance inflation ("pivotal moment", "testament to")
- Notability name-dropping (listing outlets without context)
- Superficial -ing analyses ("highlighting", "showcasing", "ensuring")
- Promotional language ("vibrant", "nestled", "groundbreaking", "breathtaking")
- Vague attributions ("experts argue", "industry reports suggest")
- Formulaic challenges ("Despite X... continues to thrive")
- AI vocabulary (delve, tapestry, landscape, interplay, foster, garner, pivotal)
- Copula avoidance ("serves as" instead of "is")
- Negative parallelisms ("not just X, it's Y")
- Rule of three (forcing everything into triads)
- Synonym cycling (rotating words for the same thing)
- False ranges ("from X to Y" without meaningful scale)
- Em dash overuse
- Boldface overuse
- Inline-header vertical lists
- Title case in headings
- Emoji as structure
- Curly quotation marks
- Chatbot artifacts ("I hope this helps!", "Let me know if...")
- Knowledge-cutoff disclaimers
- Sycophantic tone ("Great question!")
- Filler phrases ("in order to", "it is important to note")
- Excessive hedging
- Generic positive conclusions ("the future looks bright")
Code: 80+ Patterns Across 6 Domains
- Comments: tautological, section headers, narrating obvious intent, hedge TODOs, "we" language, changelog comments, philosophical prose
- Naming: verbose compounds, Manager/Handler suffix abuse, Enhanced/Advanced prefixes, process/handle verbs, acronym avoidance, result catch-all
- Commits: vague verbs, "various/several", passive voice, past tense, misleading bodies
- Docstrings: tautological summaries, type redundancy, weak openings, filler phrases, happy-path only
- Quality: broad exception catches, generic error messages, boolean parameters, god functions, mock-heavy tests, happy-path-only tests
- LLM tells: commented-out alternatives, symmetrical code, placeholder values, defensive null-checks, tutorial-style comments
Academic: 49 Rules, 10 Groups
- Groups A-J covering meaning preservation, filler removal, punctuation, sentence patterns, voice, deep AI syntax, creative grammar, metaphor, logical closure, subject variety
What Gets Added
Not just subtraction. Good humanization requires injection too.
Read `guides/voice