#172 by GitHub stars

miqdadbadjuber/anti-slop

Rules for an AI coding agent to filter out generic AI-generated UI designs, text, and code.

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

skills/antislop/SKILL.md

Week of Nov 2, 2026 · +1 / −51 lines

Before Network or broad shell → After Network or broad shell

3005235d030b → 5d90a9aff5ac

- 16 ## First-Run Install Wizard
- 17 
- 18 antislop is a system: this core file plus optional **skills**, one per concern (`antislop-ui`, `antislop-copywriting`, and so on, each a folder with a `SKILL.md`). This section installs them once. It is an **offer, not a requirement**: if the user prefers, this file alone remains a complete filter.
- 19 
- 20 **Skip this section** if the project's entry file (`AGENTS.md`, `CLAUDE.md`, `GEMINI.md`, or the equivalent the running tool reads at session start) already contains an antislop pointer block. That means antislop is already installed. Come back only when the user asks to add or remove a skill.
- 21 
- 22 If no antislop pointer exists and this file is being read for the first time, run the wizard:
- 23 
- 24 > The steps below are the manual install for setups where only this file is present. No network is used: missing skills are fetched by the user, never by the agent.
- 25 
- 26 1. **Declare the setup before doing anything.** Tell the user you will (a) get the chosen skill(s) in place in `skills/<name>/` subfolders next to this file (the user fetches them; the agent never downloads from the network, see step 4), and (b) append an antislop pointer block at the end of the project's entry file. Get approval. Never modify the entry file silently.
- 27 2. **Ask which skills to install** (multi-select, in the user's chat language). List only the skills that exist in this version of antislop:
- 28    - **1. All** (recommended): install every available skill. Choose this when the work spans UI, copy, people, or mobile layout.
- 29    - **2. `antislop-ui`** (UI / visual): pick this for building or editing a website, web app, or interface: color, layout, components, decoration, motion.
- 30    - **3. `antislop-copywriting`** (copy & text): pick this for writing or editing copy: headlines, CTAs, value propositions, tone, landing-page text, product prose.
- 31    - **4. `antislop-human`** (people): pick this for making sure a UI works for people with different eyes, hands, and setups: contrast, keyboard, focus, states.
- 32    - **5. `antislop-layoutmobile`** (mobile / responsive): pick this for layouts that have to reflow across screen sizes, phone to desktop: breakpoints, scale, grids, overflow, tap targets.
- 33    - **6. `antislop-code`** (code comments): pick this for writing or editing code comments: remove generic AI-slop comments, keep the valuable ones, never touch the code.
- 34    - New skills appear here as they ship; never offer a skill that does not exist in this version.
- 35 
- 36    If the user declines or says "core only", stop here and use this file alone as the filter. Do not install anything.
- 37 3. **Resolve direction** (only if a UI skill was selected). Check for `DESIGN.md` or explicit brand/style direction. If none exists, be honest that antislop is a **filter, not a beautifier**: without direction the output tends toward monotonous. Recommend having a `DESIGN.md`, then offer these paths:
- 38    - **1. The user supplies direction (recommended).** They write their own `DESIGN.md`, or answer a few direction questions (identity, personality, palette, typography, mood) and the agent transcribes their answers into `DESIGN.md`. The user is the author; the agent only formats. Never invent example content for `DESIGN.md`.
- 39    - **2. The agent supplies direction, with an honest warning.** The agent writes the direction itself, stating explicitly that agent-generated style tends toward default AI taste, which is the slop antislop filters, so the result is likely monotonous. If chosen, still ask a minimal brief (product, audience, mood) before building.
- 40    - **3. The user skips direction for now.** Proceed without a `DESIGN.md`. Any UI built this way must be labeled *"draft without direction"* with dials ENERGY 1 / RHYTHM 1 / MOTION 1 (R-37), and is not a shippable deliverable.
- 41 4. **Get the chosen skill(s) in place; the user does the fetching, never the agent.** A `SKILL.md` is instructions the agent will obey, so an agent that downloads one at runtime is fetching its own next prompt: do not do it, and do not ask for network access here. The skills ship as folders in the release (`skills/<name>/SKILL.md`). If a chosen skill folder is missing next to this file, tell the user which ones are missing and that they come with the release matching this core, so a newer skill never mixes with an older one. `antislop-human` also needs `contrast-check.py` from that same folder.
- 42 5. **Append the pointer block at the END of the project's entry file** (the file the running tool reads at session start: `CLAUDE.md` for Claude Code, `AGENTS.md` for Codex, `GEMINI.md` for Gemini CLI, and so on). If that file does not exist, create it. Never modify existing content:
- 43    ```md
- 44    <!-- antislop:start -->
- 45    ## antislop
- 46    For UI, copy, people, mobile layout, or code comments work, read `antislop.md` (core) and then the skill for the task:
- 47    - UI / visual: `skills/antislop-ui/SKILL.md`
- 48    - Copy & text: `skills/antislop-copywriting/SKILL.md`
- 49    - People: `skills/antislop-human/SKILL.md`
- 50    - Mobile / responsive: `skills/antislop-layoutmobile/SKILL.md`
- 51    - Code comments: `skills/antislop-code/SKILL.md`
- 52    Before starting, follow the core's "Two Usage Modes" section in strict order: explicit session instruction first, then global preference, then ask. A session instruction always wins. For a resolved mode, say `antislop active: <mode> (session override).` or `antislop active: <mode> (global preference).` once before presenting findings or making edits, using the actual mode and source. Acknowledging the user's request without naming the source does not replace this notice.
- 53    Only an explicit choice of antislop during or after selects a session mode. A request to review, audit, or avoid file edits does not select a mode; read the global preference in that case. Another skill's mode does not select antislop's mode.
- 54    If the mode is unresolved, ask during/after and end the response; wait for the answer before any UI review, planning, or concept. For read-only tasks, put the active-mode notice only at the start of the final answer, never in progress messages. For editing tasks, announce before the first edit and omit it from the final answer.
- 55    To update antislop later: download `antislop.md` again, or run `npx antislop-ai --update` if it was installed as skill folders.
- 56    <!-- antislop:end -->
- 57    ```
- 58    The packaged installers write the same two markers, so whichever install path runs last replaces the block instead of adding a second one. If an older antislop block exists (even without the markers), replace just that block instead of appending a duplicate.
- 59 6. **Resolve and announce the usage mode** (see "Two Usage Modes"), then proceed with the work.
- 60 
- 61 Notes:
- 62 - The entry file is read at the start of a session, so a newly written pointer takes effect from the **next** session.
- 63 - The wizard needs file-write access for step 5 (the pointer block) and nothing else to install; the user approves once. A `DESIGN.md` in step 3 and an audit report in Mode 2 are written separately, only when the work calls for them. It never needs network access.
- 64 - The pointer block is the source of truth for which skills are installed. To add or remove a skill later, update the block to match (add or remove the file and its line).
- 65 
- 66 ### Already installed, and the user asks how to update
+ 16 ## Already installed, and the user asks how to update

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 3005235d030b

No earlier version was observed for comparison.

Compare on GitHub

skills/antislop-code/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

3005235d030b → 5d90a9aff5ac

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 3005235d030b

No earlier version was observed for comparison.

Compare on GitHub

skills/antislop-copywriting/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

3005235d030b → 5d90a9aff5ac

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 3005235d030b

No earlier version was observed for comparison.

Compare on GitHub

skills/antislop-human/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

3005235d030b → 5d90a9aff5ac

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 3005235d030b

No earlier version was observed for comparison.

Compare on GitHub

skills/antislop-layoutmobile/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

3005235d030b → 5d90a9aff5ac

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 3005235d030b

No earlier version was observed for comparison.

Compare on GitHub

skills/antislop-ui/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

3005235d030b → 5d90a9aff5ac

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 3005235d030b

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 5d90a9aff5ac5f4e14b75d9e69a61d34bb276d9d

git clone --filter=blob:none --no-checkout https://github.com/miqdadbadjuber/anti-slop.git .hotskills/miqdadbadjuber-anti-slop && git -C .hotskills/miqdadbadjuber-anti-slop checkout --detach 5d90a9aff5ac5f4e14b75d9e69a61d34bb276d9d # Copy each selected skill directory from .hotskills/miqdadbadjuber-anti-slop into .claude/skills/<skill-name>/
8.5kGitHub stars
753stars in 7 days
6skills in this repository
29commits in 30 days

Heat

8.3
  • Star growth, last 7 daysAhead of 98% of tracked repositories
  • Star growth, last 24 hoursAhead of 98% of tracked repositories
  • Rank movement, last 7 daysAhead of 93% of tracked repositories
  • Commits, last 30 daysAhead of 86% of tracked repositories
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekAhead of 0% of tracked repositories

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Aug 2, 2026Nov 7, 20268,514

Individual skills in this repository

How it works

antislop

When your agent uses it

Anti Slop: Rules for AI Coding Agents. The core filter. Load always to stop generic AI slop.

What it loads into context

Frontmatter

41 tokens

Always available to the agent

SKILL.md

12,910 tokens

When the skill is activated

Reference documents

28,907 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Already installed, and the user asks how to update
  2. Two Usage Modes
  3. What This Is (and What It Isn't)
  4. Core Principle
  5. The Craftsmanship Standard
  6. Part 1: AI Slop Patterns (Warning Signs)
  7. Part 2: Mandatory Rules (R-01 to R-40, grouped)
  8. Part 3: Liveliness Toolkit
  9. Functional Patterns
  10. Delivery Gate (Mandatory)

Scripts executed separately

  • ../../.claude-plugin/contrast-mcp-launcher.mjs
  • ../antislop-human/contrast-check.py
  • ../antislop-human/contrast-mcp.py

Files

  • ../../.claude-plugin/contrast-mcp-launcher.mjsruns1,190 bytes
  • ../../.claude-plugin/marketplace.jsonasset404 bytes
  • ../../.claude-plugin/plugin.jsonasset645 bytes
  • ../antislop-code/SKILL.mddoc8,944 bytes
  • ../antislop-copywriting/SKILL.mddoc25,419 bytes
  • ../antislop-human/LICENSE-web-quality-skillsasset1,068 bytes
  • ../antislop-human/SKILL.mddoc15,915 bytes
  • ../antislop-human/contrast-check.pyruns5,773 bytes
  • ../antislop-human/contrast-mcp.pyruns3,886 bytes
  • ../antislop-human/references/A11Y-PATTERNS.mddoc7,209 bytes
  • ../antislop-human/references/WCAG.mddoc8,149 bytes
  • ../antislop-layoutmobile/SKILL.mddoc16,378 bytes
  • ../antislop-ui/LICENSE-web-quality-skillsasset1,068 bytes
  • ../antislop-ui/SKILL.mddoc29,121 bytes
  • ../antislop-ui/references/CORE-WEB-VITALS.mddoc8,428 bytes
  • ../antislop-ui/references/WEB-BASELINE.mddoc1,469 bytes
  • SKILL.mdcore53,758 bytes
  • SKILL.mdcore53,758 bytes
  • SKILL.mdcore53,758 bytes
  • SKILL.mdcore53,758 bytes
  • SKILL.mdcore53,758 bytes
  • SKILL.mdcore53,758 bytes
  • SKILL.mdcore53,758 bytes
  • SKILL.mdcore53,758 bytes
  • VERSIONasset7 bytes
Read SKILL.md
# antislop

> Anti Slop: Rules for AI Coding Agents

> Follow these rules whenever generating or building UI for a website, web app, or any interface.
> The goal: the design should feel **crafted by a designer**, not generated by AI.
> Before applying antislop, resolve its mode using "Two Usage Modes" below. By default, ask during or after. For a saved preference or explicit session choice, instead announce `antislop active: <mode> (<source>).` once, including whether the source is `global preference` or `session override`.

---

## Already installed, and the user asks how to update

antislop never updates itself, and nothing announces a new release. Answer from the route the user installed with, and say which route you are assuming when you cannot tell. `npx antislop-ai --update` is the shortest path for the first two routes: it replaces every antislop folder it finds, at project and global scope, prints the release it replaced, and asks nothing.

- **The installer** (`npx antislop-ai`): run it again, answer as before, and pick **Overwrite them**. It prints the version already on disk next to the version it carries, so nothing has to be compared by hand. *Keep what is there* installs nothing.
View the complete source on GitHub

Skills included

  • antislop
  • antislop-code
  • antislop-copywriting
  • antislop-human
  • antislop-layoutmobile
  • antislop-ui

Repository facts

License
MIT
Created
Aug 7, 2026
Last pushed
Nov 5, 2026
Forks
569
Open issues
1
Project activity
Active

Rank over the last 12 weeks

Now #172 · best #172 · up 68 in 30 days

  1. #181 on Nov 1
  2. #178 on Nov 2
  3. #179 on Nov 3
  4. #177 on Nov 4
  5. #174 on Nov 5
  6. #172 since Nov 6
77 earlier periods
  1. #891 on Aug 2
  2. #883 on Aug 8
  3. #880 on Aug 9
  4. #911 on Aug 10
  5. #915 on Aug 11
  6. #913 on Aug 12
  7. #915 on Aug 13
  8. #892 on Aug 14
  9. #853 on Aug 15
  10. #875 on Aug 16
  11. #877 on Aug 17
  12. #893 on Aug 18
  13. #883 on Aug 19
  14. #868 on Aug 20
  15. #870 on Aug 21
  16. #811 on Aug 22
  17. #866 on Aug 23
  18. #877 on Aug 24
  19. #888 on Aug 25
  20. #871 from Aug 26 to Aug 27
  21. #904 on Aug 28
  22. #803 on Aug 29
  23. #775 on Aug 30
  24. #805 on Aug 31
  25. #818 on Sep 1
  26. #789 on Sep 2
  27. #745 on Sep 3
  28. #610 on Sep 4
  29. #540 on Sep 5
  30. #506 on Sep 6
  31. #468 from Sep 7 to Sep 8
  32. #423 on Sep 9
  33. #414 on Sep 10
  34. #398 on Sep 11
  35. #387 on Sep 12
  36. #378 on Sep 13
  37. #366 on Sep 14
  38. #354 on Sep 15
  39. #333 on Sep 16
  40. #320 on Sep 17
  41. #318 on Sep 18
  42. #302 from Sep 19 to Sep 20
  43. #288 on Sep 21
  44. #287 on Sep 22
  45. #284 on Sep 23
  46. #281 on Sep 24
  47. #274 on Sep 25
  48. #272 on Sep 26
  49. #269 on Sep 27
  50. #273 on Sep 28
  51. #265 on Sep 29
  52. #259 on Sep 30
  53. #261 on Oct 1
  54. #260 on Oct 2
  55. #255 on Oct 3
  56. #251 on Oct 4
  57. #253 on Oct 5
  58. #251 on Oct 6
  59. #247 on Oct 7
  60. #240 on Oct 8
  61. #235 on Oct 9
  62. #228 from Oct 10 to Oct 11
  63. #227 on Oct 12
  64. #223 on Oct 13
  65. #221 on Oct 14
  66. #217 on Oct 15
  67. #212 on Oct 16
  68. #214 on Oct 17
  69. #208 on Oct 18
  70. #206 on Oct 19
  71. #205 on Oct 20
  72. #203 on Oct 21
  73. #202 on Oct 22
  74. #200 on Oct 23
  75. #196 on Oct 24
  76. #187 from Oct 29 to Oct 30
  77. #185 on Oct 31

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 5, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 15 notes
  • skills/antislop/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/antislop/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/antislop/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/antislop/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/antislop/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/antislop/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/antislop/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/antislop-copywriting/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/antislop-copywriting/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/antislop-copywriting/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/antislop-copywriting/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/antislop-human/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/antislop-human/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/antislop-human/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/antislop-human/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 67 signals by file

.claude-plugin/contrast-mcp-launcher.mjs

  • Executable scriptline 1
    #!/usr/bin/env node

.claude-plugin/plugin.json

  • Network accessline 7
    "name": "miqdadbadjuber"   },   "repository": "https://github.com/miqdadbadjuber/anti-slop",
  • Network accessline 8
    },   "repository": "https://github.com/miqdadbadjuber/anti-slop",   "license": "MIT",
  • Network accessline 9
    "repository": "https://github.com/miqdadbadjuber/anti-slop",

skills/antislop-copywriting/SKILL.md

  • Network accessline 321
    - **Formal vocabulary.** AI overuses *specific* words (see Empty AI Vocabulary), not all fancy words. Do not flatten a precise word just because it sounds brainy. - **Common transition words in isolation.** One "however" or "additionally" i
  • Network accessline 321
    - **Formal vocabulary.** AI overuses *specific* words (see Empty AI Vocabulary), not all fancy words. Do not flatten a precise word just because it sounds brainy. - **Common transition words in isolation.** One "however" or "additionally" i
  • Network accessline 322
    - **Common transition words in isolation.** One "however" or "additionally" is not a tell. They count only when piled up. - **Curly quotes alone.** macOS, Word, and most CMSes auto-curl by default. Curly quotes count only when stacked with 
  • Network accessline 322
    - **Common transition words in isolation.** One "however" or "additionally" is not a tell. They count only when piled up. - **Curly quotes alone.** macOS, Word, and most CMSes auto-curl by default. Curly quotes count only when stacked with 
  • Network accessline 323
    - **Curly quotes alone.** macOS, Word, and most CMSes auto-curl by default. Curly quotes count only when stacked with other tells.
  • Network accessline 323
    - **Curly quotes alone.** macOS, Word, and most CMSes auto-curl by default. Curly quotes count only when stacked with other tells.

skills/antislop-human/SKILL.md

  • Broad permissionsline 1
    Bash(python *) Bash(python3 *) Read Write Edit Glob Grep
  • Broad permissionsline 1
    Bash(python *) Bash(python3 *) Read Write Edit Glob Grep

skills/antislop-human/contrast-check.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Executable scriptline 1
    #!/usr/bin/env python3

skills/antislop-human/contrast-mcp.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Executable scriptline 1
    #!/usr/bin/env python3

skills/antislop-human/references/A11Y-PATTERNS.md

  • Network accessline 3
    > Reference for antislop. Adapted from the MIT-licensed web-quality-skills by Addy Osmani (https://github.com/addyosmani/web-quality-skills); see LICENSE-web-quality-skills in the skill folder.
  • Network accessline 3
    > Reference for antislop. Adapted from the MIT-licensed web-quality-skills by Addy Osmani (https://github.com/addyosmani/web-quality-skills); see LICENSE-web-quality-skills in the skill folder.

skills/antislop-human/references/WCAG.md

  • Network accessline 3
    > Reference for antislop. Adapted from the MIT-licensed web-quality-skills by Addy Osmani (https://github.com/addyosmani/web-quality-skills); see LICENSE-web-quality-skills in the skill folder.
  • Network accessline 3
    > Reference for antislop. Adapted from the MIT-licensed web-quality-skills by Addy Osmani (https://github.com/addyosmani/web-quality-skills); see LICENSE-web-quality-skills in the skill folder.
  • Network accessline 125
    - [WCAG 2.2 W3C Recommendation](https://www.w3.org/TR/WCAG22/)
  • Network accessline 125
    - [WCAG 2.2 W3C Recommendation](https://www.w3.org/TR/WCAG22/)
  • Network accessline 126
    - [WCAG 2.2 Quick Reference](https://www.w3.org/WAI/WCAG22/quickref/)
  • Network accessline 126
    - [WCAG 2.2 Quick Reference](https://www.w3.org/WAI/WCAG22/quickref/)
  • Network accessline 127
    - [What's New in WCAG 2.2](https://www.w3.org/WAI/standards-guidelines/wcag/new-in-22/)
  • Network accessline 127
    - [What's New in WCAG 2.2](https://www.w3.org/WAI/standards-guidelines/wcag/new-in-22/)

skills/antislop-ui/SKILL.md

  • Network accessline 321
    - **Tell:** a page shipped with no doctype, mixed `http://` content, a secret in client code, or an unpinned third-party script.
  • Network accessline 321
    - **Tell:** a page shipped with no doctype, mixed `http://` content, a secret in client code, or an unpinned third-party script.

skills/antislop-ui/references/CORE-WEB-VITALS.md

  • Network accessline 3
    > Reference for antislop. Adapted from the MIT-licensed web-quality-skills by Addy Osmani (https://github.com/addyosmani/web-quality-skills); see LICENSE-web-quality-skills in the skill folder.
  • Network accessline 3
    > Reference for antislop. Adapted from the MIT-licensed web-quality-skills by Addy Osmani (https://github.com/addyosmani/web-quality-skills); see LICENSE-web-quality-skills in the skill folder.
  • Network accessline 72
    // ❌ Content loads after JavaScript useEffect(() => {   fetch('/api/hero-text').then(r => r.json()).then(setHeroText);
  • Network accessline 72
    // ❌ Content loads after JavaScript useEffect(() => {   fetch('/api/hero-text').then(r => r.json()).then(setHeroText);
  • Network accessline 73
    useEffect(() => {   fetch('/api/hero-text').then(r => r.json()).then(setHeroText); }, []);
  • Network accessline 73
    useEffect(() => {   fetch('/api/hero-text').then(r => r.json()).then(setHeroText); }, []);
  • Network accessline 74
    fetch('/api/hero-text').then(r => r.json()).then(setHeroText);
  • Network accessline 74
    fetch('/api/hero-text').then(r => r.json()).then(setHeroText);
  • Network accessline 109
    Start conservatively and measure prediction hit rate, transferred bytes, server load, and navigation improvement before expanding the rules. Recheck [Chrome's maintained eagerness documentation](https://developer.chrome.com/docs/web-platfor
  • Network accessline 109
    Start conservatively and measure prediction hit rate, transferred bytes, server load, and navigation improvement before expanding the rules. Recheck [Chrome's maintained eagerness documentation](https://developer.chrome.com/docs/web-platfor
  • Network accessline 111
    Caveats: - **Bandwidth/CPU cost.** Each prerender is roughly a full page load. Scope `where` carefully (`href_matches` patterns, exclude logout/checkout) and avoid `immediate` outside small sites. - **Side effects fire early.** Analytics, a
  • Network accessline 111
    Caveats: - **Bandwidth/CPU cost.** Each prerender is roughly a full page load. Scope `where` carefully (`href_matches` patterns, exclude logout/checkout) and avoid `immediate` outside small sites. - **Side effects fire early.** Analytics, a
  • Network accessline 112
    - **Bandwidth/CPU cost.** Each prerender is roughly a full page load. Scope `where` carefully (`href_matches` patterns, exclude logout/checkout) and avoid `immediate` outside small sites. - **Side effects fire early.** Analytics, ads, and a
  • Network accessline 112
    - **Bandwidth/CPU cost.** Each prerender is roughly a full page load. Scope `where` carefully (`href_matches` patterns, exclude logout/checkout) and avoid `immediate` outside small sites. - **Side effects fire early.** Analytics, ads, and a
  • Network accessline 113
    - **Side effects fire early.** Analytics, ads, and any code that runs on load will fire when the prerender starts, not when the user navigates. Gate side effects on the [`prerenderingchange` event](https://developer.chrome.com/docs/web-plat
  • Network accessline 113
    - **Side effects fire early.** Analytics, ads, and any code that runs on load will fire when the prerender starts, not when the user navigates. Gate side effects on the [`prerenderingchange` event](https://developer.chrome.com/docs/web-plat
  • Network accessline 149
    When field INP is poor or a trace identifies a slow interaction, read [web.dev on optimizing INP](https://web.dev/articles/optimize-inp) for trace interpretation, yielding patterns, and third-party and rendering causes.
  • Network accessline 149
    When field INP is poor or a trace identifies a slow interaction, read [web.dev on optimizing INP](https://web.dev/articles/optimize-inp) for trace interpretation, yielding patterns, and third-party and rendering causes.
  • Network accessline 157
    When field CLS is poor or a trace reports shifts, read [web.dev on optimizing CLS](https://web.dev/articles/optimize-cls) for reserved-space patterns, dynamic content, and font and animation fixes.
  • Network accessline 157
    When field CLS is poor or a trace reports shifts, read [web.dev on optimizing CLS](https://web.dev/articles/optimize-cls) for reserved-space patterns, dynamic content, and font and animation fixes.
  • Network accessline 173
    When adding or reviewing production collection, read [the `web-vitals` library documentation](https://github.com/GoogleChrome/web-vitals). Prefer the `web-vitals` library because raw browser APIs do not by themselves implement every Core We
  • Network accessline 173
    When adding or reviewing production collection, read [the `web-vitals` library documentation](https://github.com/GoogleChrome/web-vitals). Prefer the `web-vitals` library because raw browser APIs do not by themselves implement every Core We
  • Network accessline 179
    - [web.dev LCP](https://web.dev/articles/lcp) and [optimizing LCP](https://web.dev/articles/optimize-lcp)
  • Network accessline 179
    - [web.dev LCP](https://web.dev/articles/lcp) and [optimizing LCP](https://web.dev/articles/optimize-lcp)
  • Network accessline 180
    - [web.dev INP](https://web.dev/articles/inp)
  • Network accessline 180
    - [web.dev INP](https://web.dev/articles/inp)
  • Network accessline 181
    - [web.dev CLS](https://web.dev/articles/cls)
  • Network accessline 181
    - [web.dev CLS](https://web.dev/articles/cls)

skills/antislop-ui/references/WEB-BASELINE.md

  • Network accessline 3
    > Reference for antislop. Adapted from the MIT-licensed web-quality-skills by Addy Osmani (https://github.com/addyosmani/web-quality-skills); see LICENSE-web-quality-skills in the skill folder.
  • Network accessline 3
    > Reference for antislop. Adapted from the MIT-licensed web-quality-skills by Addy Osmani (https://github.com/addyosmani/web-quality-skills); see LICENSE-web-quality-skills in the skill folder.
  • Network accessline 23
    - HTTPS for every resource, with no mixed `http://` content.
  • Network accessline 23
    - HTTPS for every resource, with no mixed `http://` content.

skills/antislop/SKILL.md

  • Network accessline 22
    - **A plugin door**: each agent keeps its own copy, and `--update` cannot reach those. The installer names the command for any door it finds installed; without it, these are the seven:   - **Claude Code**: `claude plugin update antislop@ant
  • Network accessline 23
    - **Claude Code**: `claude plugin update antislop@anti-slop`   - **Antigravity**: `agy plugin install https://github.com/miqdadbadjuber/anti-slop`   - **Codex**: `codex plugin marketplace upgrade anti-slop`
  • Network accessline 24
    - **Antigravity**: `agy plugin install https://github.com/miqdadbadjuber/anti-slop`
  • Network accessline 25
    - **Codex**: `codex plugin marketplace upgrade anti-slop`   - **Cursor**: `agent plugin marketplace update https://github.com/miqdadbadjuber/anti-slop`   - **Kimi Code**: `/plugins install https://github.com/miqdadbadjuber/anti-slop`
  • Network accessline 26
    - **Cursor**: `agent plugin marketplace update https://github.com/miqdadbadjuber/anti-slop`
  • Network accessline 27
    - **Kimi Code**: `/plugins install https://github.com/miqdadbadjuber/anti-slop`
  • Network accessline 28
    - **Cline**: `cline plugin install https://github.com/miqdadbadjuber/anti-slop.git --force`

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Signal confidence: 64 facts

and 14 more

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativeManifest .claude-plugin/marketplace.json.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md skills/antislop/SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md skills/antislop/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md skills/antislop/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md skills/antislop/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md skills/antislop/SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.

Add this badge to your README

It updates every night and links to this page.

miqdadbadjuber/anti-slop: #172 on hotskills, 8.5k stars

[![miqdadbadjuber/anti-slop on hotskills](https://hotskills.dev/badge/miqdadbadjuber-anti-slop.svg)](https://hotskills.dev/skill/miqdadbadjuber-anti-slop/)