lean-anti-ai-slop
Writes things under the user's own name — Slack messages, thread replies, PR descriptions, commit messages, emails, social posts — without the default LLM tells that betray AI authorship.
Included assets
skills/lean-anti-ai-slop-usage/SKILL.md — explains what this plugin does, how to configure it, and when to invoke it
skills/anti-ai-slop/SKILL.md — the drafting workflow: sample load, fact gating, draft, anti-slop self-critique pass
skills/anti-ai-slop/references/anti-slop.md — concrete blacklist (banned words, antithesis patterns, em-dash rules) used during the self-critique pass
Skills
| Skill | What it does |
|---|
/lean-anti-ai-slop-usage | Explains the plugin and points at this README for setup |
/anti-ai-slop | Drafts a single message/post in the user's voice and self-checks against the anti-slop blacklist |
Setup
This file is the canonical source for setup instructions. The skills link here instead of duplicating the steps.
The drafting skill reads writing samples from a directory you configure with the ANTI_AI_SLOP_SAMPLES_DIR env var, set in .claude/settings.json (project) or ~/.claude/settings.json (user-wide):
{
"env": {
"ANTI_AI_SLOP_SAMPLES_DIR": "/absolute/path/to/writing-samples"
}
}
Drop 3–5 of your own writing samples into that directory, each in its own file. Any format works — exported Slack messages, PR descriptions copied from GitHub, sent emails. The skill loads the most-recently-modified files on every invocation and matches rhythm/register before emitting.
If the env var is unset when you invoke /anti-ai-slop, the skill stops and tells you how to configure it instead of drafting.
Example prompts
/anti-ai-slop draft a Slack message saying I'm pushing the demo to Wednesday because the staging migration failed
/anti-ai-slop write the PR description for this branch — it's the auth middleware rewrite
/anti-ai-slop turn this braindump into a thread reply: <paste>
Notes
- Never auto-posts. Output is always a fenced draft that you copy and send yourself.
- Samples beat persona priming. Without samples in
ANTI_AI_SLOP_SAMPLES_DIR, the skill refuses to draft — generic "write casually" prompts revert to default Claude prose within ~2 sentences.
- One draft per invocation. Re-invoke with feedback if you want a revision; the skill does not produce variants.