When a robot writes, it likes to sound clever in the same few ways over and over, like saying "a worry with a flashlight taped to it." People can tell a robot wrote it. This is a robot-cleverness detector. You paste in writing, and it underlines every spot that sounds like a robot and tells you how to say it like a person instead. Brandon built it after catching a bunch of those phrases in one of his own pages.
A blocklist passes everything nobody has flagged yet. These tells use ordinary words in a manufactured shape, so word-level gates miss them. deslop gates the shape, hard-fails it, and hands you the plain rewrite for each hit.
It came out of a real failure this week. A skill's texture gate shipped a review green, and Brandon caught the AI tells by eye, one phrase at a time: "a coping mechanism with a record light on," then "the thesis with a birth certificate stapled to it," then "I want to name what saves it." A style gate is not a truth gate, and it is not a slop gate either. So the tells got measured against real speech, hard-gated, and packaged here.
Plus the full canonical corpus: em-dash, ellipsis, antithesis in every form, "delve / tapestry / navigate", contrastive however/though/yet/while, and 40+ more from the shared tell list. Single source of truth, no duplicated patterns.
# gate a file, line-anchored report with a fix per hit python3 ~/.claude/skills/deslop/deslop.py draft.md # gate a chat draft on stdin echo "$reply" | python3 ~/.claude/skills/deslop/deslop.py - # output on a slop line: L2 [sev3] absurdist-attachment: "with a birth certificate stapled to" why: an absurdist object stapled to the point -> Drop the gag object. State the claim directly. DESLOP: FAIL # exit 1 on any sev-3, any strict SHAPE hit, or density over cap DESLOP: PASS # exit 0 clean
Every pattern is calibrated against a real human-speech corpus, not invented. The quip-rider rate in 158,000 words of real podcast transcript is about 0.006 per 1000 words, so the density cap of 0.4 is generous and still catches a habit. When a new tell gets flagged, the loop is fixed: measure it against the corpus, add the pattern, scrub the artifact, reship, and record it in the catalog with a before/after. The gate reuses _shared/anti_ai_voice_gate.py so an escalation in one place propagates to every skill that calls it.