slop-guard
Detect AI slop patterns in prose. Scores text 0-100 using ~80 regex rules that target common LLM writing tics.
Install
From crates.io
Homebrew
Debian/Ubuntu
Download the .deb from Releases:
From source
Usage
# Analyze from stdin
|
# Analyze files
Output
JSON object with:
score: 0-100 (higher = cleaner)band: clean / light / moderate / heavy / saturatedviolations: array of detected patterns with contextadvice: actionable suggestionscounts: per-category violation counts
As a library
use analyze;
let result = analyze;
println!;
What it catches
| Category | Examples |
|---|---|
| Slop words | crucial, groundbreaking, delve, tapestry, moreover |
| Slop phrases | "it's worth noting", "let's dive in", "at the end of the day" |
| Structural patterns | Bold-header blocks, excessive bullet runs, triadic lists |
| Tone markers | "would you like", "feel free to", "certainly" as opener |
| Weasel phrases | "experts suggest", "studies show", "many believe" |
| AI disclosure | "as an AI", "as a language model" |
| Rhythm monotony | Uniform sentence lengths (low coefficient of variation) |
| Em dash overuse | Excessive em dashes relative to word count |
| Contrast pairs | "X, not Y" constructions |
| Setup-resolution | "This isn't X. It's Y." flips |
| Colon density | Overuse of elaboration colons |
| Pithy fragments | Short evaluative pivots ("Simple, but effective.") |
| Phrase reuse | Repeated multi-word phrases |
Score bands
| Band | Range | Meaning |
|---|---|---|
| Clean | 80-100 | Minimal AI patterns |
| Light | 60-79 | A few tells, mostly human-sounding |
| Moderate | 40-59 | Noticeable AI patterns |
| Heavy | 20-39 | Significant AI influence |
| Saturated | 0-19 | Strongly AI-generated |
Contributing
License
MIT