The project's README from github.com/miqdadbadjuber/anti-slop. As one markdown file: README.md.
Anti Slop: Rules for AI Coding Agents. It stops them from generating generic "AI slop" UI and copy, without letting the result turn sterile. It is a filter, not a style guide: no prescribed colors, fonts, or layouts. It is not only for building pages: it also writes and audits copy, so AI text stops reading like AI. And it never beautifies on its own;
DESIGN.md(yours) is where beauty and direction come from.
New here? Start with the GUIDE.md. It explains what antislop is and how to install it, from zero.
The core prevents slop but cannot invent direction. DESIGN.md (yours) supplies it; a sterile result means the direction was missing, not that the filter failed (R-37).
The same brief, the same page, generated four times over. antislop filters; DESIGN.md supplies direction. They are two different jobs, and these are the four results. Copy and code follow as before-and-after pairs instead of four separate builds, because nothing else has to supply direction there.
Three of the four builds. The first uses neither tool, the second only antislop, the third only DESIGN.md.
The fourth uses both, and it is the only one of the four that is clean and directed at the same time:
One prompt, run twice.
| Before | After |
|---|---|
![]() |
![]() |
One file, run twice.
| Before | After |
|---|---|
![]() |
![]() |
Every image in this section opens full size if you click it.
antislop ships as a set of standard agent skills (one folder per skill, holding a SKILL.md). The core is always loaded; the other skills load only when the task needs them. This section is the reference: every install command, in one place. GUIDE.md walks through them from zero, and its Update and Remove sections cover every route the same way.
One command, then answer the prompts. It asks which extra skills you want, where to install (this project or everywhere), and which agents you use, then copies the folders. It is also the only route that writes the pointer reloading antislop every session on a project install; a global install relies on the skills loading themselves by description.
npx antislop-ai
To update later, run the same command and choose Overwrite them when it finds the existing folders. See Update.
antislop is listed on skills.sh, the open directory for agent skills:
npx skills add miqdadbadjuber/anti-slop
This copies the same folders as path 1 and nothing else: no pointer, so antislop reloads by description alone. GUIDE.md covers adding the pointer afterwards, and updating or removing this route.
Add the marketplace once, then install the plugin:
/plugin marketplace add https://github.com/miqdadbadjuber/anti-slop
/plugin install antislop@anti-slop
The same repo is an Antigravity plugin. Install it with the Antigravity CLI:
agy plugin install https://github.com/miqdadbadjuber/anti-slop
The same repo is a Codex plugin and marketplace. Add the marketplace once, then install the plugin:
codex plugin marketplace add miqdadbadjuber/anti-slop
codex plugin add antislop@anti-slop
The same repo is a Cursor plugin. Add it as a plugin marketplace with the Cursor Agent CLI:
agent plugin marketplace add https://github.com/miqdadbadjuber/anti-slop
Then open Customize in Cursor, find antislop, and select Install, choosing project or user scope.
The same repo is a Kimi Code plugin. Install it in a Kimi Code session, then start a new one:
/plugins install https://github.com/miqdadbadjuber/anti-slop
The URL resolves to the latest release. Kimi Code installs plugins per user, so this covers every project.
The same repo is a Cline plugin. Install it with the Cline CLI:
cline plugin install https://github.com/miqdadbadjuber/anti-slop.git
The plugin ships no tools and no hooks. Its whole payload is the skills/ folder it bundles, which Cline discovers on install. This has to be said plainly: Cline's own documentation limits plugins to the SDK, the CLI, and Kanban, and says the feature does not apply to the VS Code and JetBrains extensions yet. So this door covers a Cline CLI install and not an editor install, and the installer in path 1 is the route for an editor.
Every skill is a folder of the open Agent Skills standard (<name>/SKILL.md), so it drops into any agent that reads the standard. The installer (path 1) installs into whichever of these you use, creating the folder if it is missing:
| Agent | Reads antislop from |
|---|---|
| Claude Code | .claude/skills/ |
| Codex | .codex/skills/ |
| Antigravity | .agents/skills/ |
| OpenCode | .opencode/skills/ |
| Cursor | .cursor/skills/ |
| Cline | .cline/skills/ |
| Gemini CLI | .gemini/skills/ |
| Hermes | .hermes/skills/ |
| GitHub Copilot | .agents/skills/ |
| Kimi Code | .agents/skills/ |
The Gemini CLI row is legacy support: Antigravity replaced it, but the installer still writes there for existing setups.
Antigravity, Copilot, and Kimi Code share one folder. Copilot also reads .github/skills/ and .claude/skills/, and Kimi Code also reads .kimi-code/skills/, but the installer writes the folder they have in common, so picking them together installs antislop once.
Cline is the one agent that keeps a folder of its own and reads another one the installer writes: it loads .cline/skills/ and .claude/skills/, so installing both Claude Code and Cline puts the same names in two folders Cline reads, and the installer names that collision. It also resolves a name collision the other way round from every other agent here: a global skill outranks a project one.
Those are the project paths. A global install writes the same folder under your home directory, with three exceptions: OpenCode writes to ~/.config/opencode/skills/, Antigravity to ~/.gemini/config/skills/, and Codex to ~/.agents/skills/, the user-level folder Codex documents in place of its own ~/.codex/skills/. Copilot, OpenCode, and Kimi Code read that home-level folder too, so it is where a global install reaches them.
Hermes needs one extra step after a project install: it will not load skills out of a cloned repository until you run hermes skills trust once in that project.
The core antislop.md alone is a complete filter you can paste into any chat window. Download it and tell your agent to read it; the First-Run wizard inside it installs skills the manual way:
curl -o antislop.md https://raw.githubusercontent.com/miqdadbadjuber/anti-slop/main/antislop.md
antislop does not update itself and nothing tells you a release is out. Every route updates by running its own command again:
| Route | Update it with |
|---|---|
| The installer | npx antislop-ai, then Overwrite them. It prints the version on disk next to the one it carries. |
| The skills directory | npx skills add miqdadbadjuber/anti-slop |
| The plugin (Claude Code) | claude plugin update antislop@anti-slop |
| The plugin (Antigravity) | agy plugin install https://github.com/miqdadbadjuber/anti-slop |
| The plugin (Codex) | codex plugin marketplace upgrade anti-slop |
| The plugin (Cursor) | agent plugin marketplace update https://github.com/miqdadbadjuber/anti-slop |
| The plugin (Kimi Code) | /plugins install https://github.com/miqdadbadjuber/anti-slop |
| The plugin (Cline) | cline plugin install https://github.com/miqdadbadjuber/anti-slop.git --force |
| Manual | download antislop.md again |
Skills load when a session starts, so start a new one afterwards. To see which version you are on, open the VERSION file in the installed antislop folder, or ask your agent. GUIDE.md covers each route step by step.
| Skill | What it covers | Ships in |
|---|---|---|
| antislop | The core filter: rules, tiers, Delivery Gate, liveliness | v3.0.0 |
| antislop-ui | UI / visual: layout, color, components, decoration, motion, structure | v2.2.0 |
| antislop-copywriting | Copy & text: headlines, CTAs, tone, fake stats, anti-AI-writing patterns, markdown hygiene | v2.3.0 |
| antislop-human | Human: contrast (with the checker), keyboard, focus, states | v2.4.0 |
| antislop-layoutmobile | Responsive / mobile: reflowing across screen widths (phone to desktop), breakpoints, grids, overflow, tap targets | v2.5.0 |
| antislop-code | Code comments: remove generic AI-slop comments, keep the valuable ones, never touch the code | v3.1.0 |
Pick what matches the work:
antislop is used one of two ways, chosen at the start of a session:
v3.2.14 is the current release.
.cline/skills/, and one the installer already writes, .claude/skills/, so picking it with Claude Code puts the same skills in two folders it reads and the installer names that. It also resolves a shared name the other way round from every other agent: a global skill outranks a project one.package.json declares the entry point and the plugin bundles the six skill folders, so there is nothing to copy into your project. Cline's documentation limits plugins to the SDK, the CLI, and Kanban, so this door covers a CLI install and not an editor install.Every earlier release, and what comes next, is in ROADMAP.md.

The same four images from See the difference, in motion.
No, a filter. It does not prescribe colors, fonts, or layouts. It rejects technique without purpose and requires liveliness; direction is yours.
All of them, but the install paths differ:
antislop.md) works with any agent that reads plain Markdown, including a plain chat window.The packaged skills use the open Agent Skills standard (folder per skill), so they drop into any tool that reads the standard.
A folder that goes deeper into one concern (UI, copywriting, accessibility, and so on), holding a SKILL.md with its rules. It references the core rules by number and never duplicates them, so adding a skill does not change the core.
Thanks to everyone who helps make antislop better.
Found a new AI slop pattern, a rule that missed something, or a bug in the installer? Open an issue. PRs are welcome for new AI slop patterns, clarifications, or checklist items out of sync with their rule.
“antislop is a filter, not magic.
It clears the slop from your UI, text, and code.
A beautiful UI is DESIGN.md's job, and yours.”
MIT: LICENSE