agent-antislop
v0.1.0
Published
Two agent skills that keep generated prose and generated UI from looking generated. Works with Claude Code, Codex CLI, Cursor, and any tool that reads Agent Skills.
Maintainers
Readme
Anti-slop agent skills
Two agent skills that stop generated work from looking generated — one for prose, one for interfaces.
Each is a slim SKILL.md with plain name + description front matter, plus reference files loaded on demand. Front matter carries no plugin manifest keys and no tool declarations, so both load in any agent that reads the Agent Skills format.
human-writing/— prevents robotic, inflated, repetitive, or formulaic prose while preserving the author's meaning, facts, voice, and audience.intentional-design/— prevents generic AI interface patterns; requires a stated design direction before implementation, and separates absolute accessibility rules from overridable visual defaults.
Structure
human-writing/
SKILL.md rules, workflow, exceptions, checklist
references/
tells-catalog.md worked before/after rewrites, extended vocabulary
genre-playbooks.md per-genre shape and failure modes (11 genres)
fabrication-policy.md what counts as a fact, gap markers, ghostwriting
checklists/
review-passes.md ordered edit / draft / review-only procedures
templates/
revision-report.md for work under someone else's byline
scripts/
slop_scan.py literal tell finder, stdlib only
intentional-design/
SKILL.md direction gate, two rule tiers, anti-patterns, checklist
references/
design-directions.md nine worked directions with constraints
layout-strategies.md named alternatives to the default page shape
typography.md scales, pairing, numerals, loading
color-systems.md role-first palettes, contrast, dark mode
motion.md budgets, timing, reduced motion, performance
accessibility.md implementation and the manual check procedure
templates/
design-direction.md the Step 1 form, plus a worked example
tokens.css role-named token scaffold
checklists/
landing-page.md persuasion surfaces, including proof honesty
app-screen.md dashboards, consoles, records screens
scripts/
ui_lint.py literal visual tell finder, stdlib onlyEvery reference pointer in a SKILL.md states a load condition, so files are read when they apply rather than always or never. Rules live in SKILL.md; references carry what a rule cannot — worked examples, tables, procedures. Nothing is stated twice.
Scripts
Both are optional, standard library only, and print findings without a score. A score invites tuning the work against the checker; these tell you where to look and say when the pattern is legitimate.
python human-writing/scripts/slop_scan.py DRAFT.md
python intentional-design/scripts/ui_lint.py src/Both accept --json and --strict (exit 1 on findings). ui_lint.py also takes --cap to limit repeats per file.
What they cannot see: padding, register, invented detail, hierarchy, layout fit, or whether a number on a page is true. A clean run means nothing until the checklist in the matching SKILL.md is done.
slop_scan.py skips fenced blocks, quoted examples, and word lists, which is why it stays quiet on these files. It reports one finding in checklists/review-passes.md — three consecutive bullets opening with the same word. That is a deliberate parallel construction and a fair illustration of the tool's own disclaimer: a finding is a candidate, not a verdict.
Install
npx agent-antislopCopies both skills into ./.claude/skills for the current project. No dependencies, no network access, no writes outside the directory it names.
npx agent-antislop --global # ~/.claude/skills, available everywhere
npx agent-antislop --target codex # ./.agent/skills, prints the AGENTS.md snippet
npx agent-antislop --target cursor # ./.cursor/skills, prints a rule-file snippet
npx agent-antislop --dir ./tools/skills # anywhere you like
npx agent-antislop --only human-writing # one of them
npx agent-antislop --dry-run # show the plan and stopAn existing copy is never overwritten without --force.
Claude Code
Nothing else to do. Start a new session; skills are selected from the description field, so they activate on matching work without being named.
Codex CLI
Codex reads AGENTS.md. The installer prints the lines to paste:
## Skills
- Before writing or editing any prose for people to read, read `.agent/skills/human-writing/SKILL.md` and follow it. It links reference files; load them when its stated conditions apply.
- Before building, restyling, or reviewing any UI, read `.agent/skills/intentional-design/SKILL.md` and follow it. Do not write UI code before its Step 1 direction is written down.Cursor and other agents
Same pattern: install the folders, then reference them from the agent's rule file (.cursor/rules/*.mdc, .github/copilot-instructions.md) with the same trigger conditions.
Without npm
Copying the folders by hand works identically — they are plain Markdown.
git clone https://github.com/ELhadratiOth/agent-antislop
cp -r agent-antislop/human-writing agent-antislop/intentional-design ~/.claude/skills/Licensing
MIT — see LICENSE. Fill in the copyright holder before publishing.
Both skills are original work informed by MIT-licensed research sources, credited in each SKILL.md. No rule text, taxonomy, banned-pattern list, numeric spec table, or scoring rubric was copied from those projects.
