How the slop score works
Every scan runs the same set of named checks against a page's live computed styles, adds up the weight of the ones that fire, and returns a number from 0 to 100. Lower is cleaner.
Deterministic by design
There is no model and no randomness. The score is a pure function of the page: scan the same URL twice and you get the same number. That is the point. A probabilistic "is this AI?" verdict cannot be audited or trusted at a threshold. A fixed, named fingerprint can.
Weights and tiers
Each pattern carries a fixed weight, heavier for the strongest tells (the AI-default font stack, vibe purple) and lighter for the softer ones. The total maps to three tiers:
- Clean, 0 to 9
- Mild, 10 to 27
- Heavy, 28 and up
A fingerprint, not a verdict
A high score means the page reads as machine-generated, not that it is bad and not that an AI wrote it. Everyone uses AI now. The score measures how generic the result reads, nothing about the team behind it. Reproduce any score yourself with npx slop-detect <url>.