Agent skill

Antislop Human

by miqdadbadjuber in miqdadbadjuber/anti-slop

Human and accessibility skill for antislop. An agent skill from miqdadbadjuber/anti-slop.

MITAuto-check passedFrontend & Design

Install Antislop Human

skills CLI
$ npx skills add miqdadbadjuber/anti-slop --skill antislop-human -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install miqdadbadjuber/anti-slop antislop-human --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/miqdadbadjuber/anti-slop.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/antislop-human .claude/skills/antislop-human && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
antislop-human
GitHub stars
5.7k
Token cost
~2.8k tokens
SKILL.md length
1,676 words
Files
3
Skills in repo
6
Repo updated
First seen
Licence
MIT

At a glance

Human and accessibility skill for antislop. An agent skill from miqdadbadjuber/anti-slop.

  • Works in 4 steps: Contrast ratio = (L1 + 0.05) / (L2 +… → Relative luminance L of one color:… → L = 0.2126*R + 0.7152*G + 0.0722*B. → …
  • Tasks that involve Accessibility
  • SKILL.md covers How to use this skill, Color & Contrast, Keyboard and Focus & States, plus 2 more sections
  • Runs Python scripts from its folder; calls python3

What it does

Antislop Human is an agent skill from miqdadbadjuber/anti-slop. Human and accessibility skill for antislop. Contrast, keyboard, focus, and states for real people. Includes the contrast checker.

Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `contrast-check.py` and `contrast-mcp.py`).

It sits in Frontend & Design, covering Accessibility. The repository describes itself as: Rules for an AI coding agent to filter out generic AI-generated UI designs, text, and code. The licence is MIT.

When your agent uses it

  • Tasks that involve Accessibility

Example prompts

  • “/antislop-human”

Requirements

  • Python 3
  • Pre-approved tools (allowed-tools): Bash(python *), Bash(python3 *), Read, Write, Edit, Glob, Grep

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Contrast ratio = (L1 + 0.05) / (L2 + 0.05), where L1 is the lighter relative luminance and L2 the darker.
  2. Relative luminance L of one color: convert each channel to 0-1 (c = hex / 255), then linearize: if c <= 0.03928, c_lin = c / 12.92…
  3. L = 0.2126*R + 0.7152*G + 0.0722*B.
  4. Round the ratio to two decimals and compare: 4.5:1 for normal text, 3:1 for large text (18px+, per R-25). The maximum ratio is 21.0 (black…

What it can do on your machine

Read from SKILL.md and the folder at commit 388cbe3. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

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

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Antislop Human loads about 2.8k tokens when it runs. Until then it costs about 36 tokens; SKILL.md has 1,676 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~36
When it runs · the whole SKILL.md, loaded when a task matches
~2.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from miqdadbadjuber/anti-slop at commit 388cbe3, republished under its MIT licence (© miqdadbadjuber). 1,676 words, ~2,763 tokens.

Download SKILL.mdSave it as .claude/skills/antislop-human/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
antislop-human
description
Human and accessibility skill for antislop. Contrast, keyboard, focus, and states for real people. Includes the contrast checker.
allowed-tools
Bash(python *), Bash(python3 *), Read, Write, Edit, Glob, Grep

antislop-human

Anti Slop: Rules for AI Coding Agents. Human skill

Part of the antislop system. Read together with antislop.md (the core). This skill deep-dives the human concern: the UI must stay usable by people with different eyes, hands, and setups. Contrast, keyboard, focus, states, and the mobile details that exclude people.

How to use this skill

  • Load together with antislop.md whenever the task builds or edits UI. The core holds the mechanism (the purpose test, the three tiers, the Delivery Gate); this skill holds the human-side depth: the parts of a UI that exclude people with different eyes, hands, and setups.
  • Every entry has the same shape: Tell (the pattern), Why (who it excludes, and why it reads as unfinished), Fix (what to do instead), with the governing core rule cited as R-XX.
  • Accessibility is not a checklist of extras bolted on at the end. It is part of the core promise that "the UI holds up" (C-4). The Delivery Gate in the core remains the gate; the "Human Skill Checklist" at the end of this file is the supplement to run alongside it.
  • The contrast checker (formula + reference table + script) lives in this skill. Use it for every color pairing you cannot verify by eye.
  • This skill keeps only the mobile details that exclude people: zooming, and the on-screen keyboard.

Color & Contrast

Low-Contrast Text
  • Tell: light grey text on a white or near-white background, thin body text, muted labels chosen because they look "elegant" but are hard to read.
  • Why: it excludes low-vision users and everyone in bright light. It is a visual choice made without checking the standard, which is exactly the kind of default the filter exists to catch.
  • Fix: meet WCAG AA minimums (R-25): 4.5:1 for normal text, 3:1 for large text (18px+). Compute the ratio; do not eyeball it.
Text Over a Photo or Gradient
  • Tell: white text placed directly over an image or gradient that is light in some areas, checked at one bright spot only.
  • Why: contrast is local. Where the image is light, the text drops below 4.5:1 even if the hero still "looks" fine. R-25 requires testing the whole area the text passes over, not a single point.
  • Fix: add a scrim or a solid color block behind the text, then verify the worst spot, not the best. If any part of the text area fails, the treatment fails.
The Grey-on-Grey Hallucination
  • Tell: "dark grey on black" or "light grey on white" claimed to pass AA without a computation.
  • Why: this is the most common accessibility hallucination. The eye overestimates contrast on grey pairs, and agents repeat the claim because it sounds plausible. #555555 on black is 2.8:1. It fails.
  • Fix: never assert a pairing passes. Run the contrast checker (below) or apply the formula. When neither is possible, use the reference table.
Non-Text Contrast
  • Tell: interactive components (buttons, icons, input borders, focus indicators, chart segments) distinguished from their background by less than 3:1.
  • Why: non-text UI carries information by shape and edge. When the edge is a hair of tint, low-vision users cannot find the control. The same bar applies to states like hover and selected.
  • Fix: give every component boundary and every status indicator a 3:1 ratio against adjacent colors (WCAG 1.4.11). Pair icons with a text label that meets 4.5:1.
The Contrast Checker

The home of the contrast checker. Three layers, from most to least convenient:

The script. When a script runtime is available and the file is present, run it instead of computing by hand. The script ships in this skill's folder (contrast-check.py, next to this SKILL.md). Run it with python3 on macOS and Linux, python on Windows:

bash
python3 "${CLAUDE_SKILL_DIR}/contrast-check.py" "#FFFFFF" "#777777"
# normal text: FAIL (4.48 < 4.5)
# large text:  PASS (4.48 >= 3.0)

If the ${CLAUDE_SKILL_DIR} variable is not available in this agent, point the script path at this skill's folder directly. The script exists so agents stop hallucinating AA. It takes two hex colors and prints the ratio and the verdict for both text sizes. If the file is missing, the formula and table below are complete on their own. Never block on the script.

The formula (WCAG 2.x).

  1. Contrast ratio = (L1 + 0.05) / (L2 + 0.05), where L1 is the lighter relative luminance and L2 the darker.
  2. Relative luminance L of one color: convert each channel to 0-1 (c = hex / 255), then linearize: if c <= 0.03928, c_lin = c / 12.92; otherwise c_lin = ((c + 0.055) / 1.055)^2.4.
  3. L = 0.2126*R + 0.7152*G + 0.0722*B.
  4. Round the ratio to two decimals and compare: 4.5:1 for normal text, 3:1 for large text (18px+, per R-25). The maximum ratio is 21.0 (black on white).

The reference table (common pairings, computed with the formula):

Pairing (text on background)RatioNormal text (4.5)Large text (3.0)
Black on white21.00PassPass
White on black21.00PassPass
White on #33333312.63PassPass
White on #6666665.74PassPass
#777777 on white4.48FailPass
White on #8888883.54FailPass
White on #9999992.85FailFail
#555555 on black2.82FailFail

Read the table as a sanity check, not as a substitute. Any pairing not listed, or anything near a threshold, goes through the formula or the script.

Keyboard

Removed Focus Outline
  • Tell: outline: none or outline: 0 with no replacement focus style.
  • Why: keyboard users cannot see where they are. It is the fastest way to make a UI unusable without a mouse, and R-32 forbids it outright.
  • Fix: keep or replace the outline with a visible :focus-visible style that meets the same contrast bar (3:1 against its neighbors). Never set outline: none without a replacement.
Mouse-Only Patterns
  • Tell: menus that open on hover only, dropdowns that click-open but do not keyboard-open, drag-and-drop with no keyboard fallback.
  • Why: each one excludes keyboard and assistive-technology users (R-32). If a control cannot be reached and operated by Tab, Enter, or Space, it does not exist for a whole group of people.
  • Fix: every interactive element is reachable and operable by keyboard (R-32): logical tab order following visual order, activation with Enter or Space, and dialogs closable with Escape (R-26).
Show full SKILL.md (674 more words)Show less
Broken Tab Order
  • Tell: focus jumps around the page, skips content, or lands on hidden elements because the DOM order does not match the visual order.
  • Why: tab order that reads the code order instead of the visual order makes navigation unpredictable (R-32). Users lose their place and the page feels broken.
  • Fix: keep the source order matching the visual order, add skip links for long pages, and never give real content tabindex="-1" unless it is part of a controlled focus trap such as a dialog.

Focus & States

Weak or Invisible Focus Indicator
  • Tell: a focus ring the same color as the background, a ring that only appears on hover, or an indicator thinner than a 1px border.
  • Why: the focus indicator is how keyboard users know where they are. If it fails the contrast bar or only shows on hover, keyboard-only use breaks (R-32, R-34).
  • Fix: a visible focus indicator on every interactive element, 3:1 against adjacent colors, in every theme you ship. Check it in dark and light mode.
Color-Only Feedback
  • Tell: success, error, and status communicated only by color: red error text, green success border, a tinted chip, with no icon, label, or text.
  • Why: it excludes color-blind and low-vision users, and it disappears entirely in forced-colors mode. A status that depends on seeing hue is not a status (C-4).
  • Fix: pair every color signal with text, an icon, or a pattern. Error states are text first: "Password must be at least 8 characters", not just a red border.
Missing UI States
  • Tell: a data view with no empty, loading, or error state, or states that exist but are invisible: a spinner with no text, an empty screen with no explanation.
  • Why: R-27 requires the three states; the accessibility angle is that each must be perceivable and informative, not decorative. A loading spinner with no context reads as a frozen page to screen-reader users.
  • Fix: every data view has all three states (R-27), each announced or visible: an explicit empty message, a loading state with text, and an error state that says what happened and how to proceed.

Zoom & Mobile Use

The layout mechanics behind mobile (breakpoints, scale, grids, overflow, tap targets) are the concern of antislop-layoutmobile. This section keeps only the mobile details that exclude people: zooming, and the on-screen keyboard.

Text That Cannot Zoom
  • Tell: fixed pixel font sizes, or containers with overflow: hidden that clip text at 200% zoom.
  • Why: users must be able to resize text (WCAG 1.4.4). If zooming to 200% clips the content or forces horizontal scroll, the text is not resizable in practice.
  • Fix: fluid type that reflows with zoom, no clipping containers on text, and verify the layout holds at 200% zoom on a narrow viewport (R-35).
Mobile Keyboard Covers the Form
  • Tell: inputs at the bottom of the viewport hidden behind the on-screen keyboard, with no scroll-into-view and no room for the input.
  • Why: a form the user cannot see or reach is a form they cannot complete. It is a mobile-only exclusion (R-03).
  • Fix: when an input is focused, it scrolls into view above the keyboard, with enough bottom padding that the focused field is never covered. Test with a real device or an emulated keyboard.

Human Skill Checklist

Run these alongside the core Delivery Gate when the task involves UI. All answers must be yes:

  • Is every text and background pairing verified against the contrast checker (formula, table, or script), including text over images and gradients? (R-25)
  • Does every interactive component boundary and status indicator meet 3:1 against its background? (non-text contrast)
  • Is the focus indicator visible, high-contrast, and present on every interactive element in every theme? (R-32, R-34)
  • Is every interactive element reachable and operable by keyboard, with dialogs closable via Escape and no outline: none without a replacement? (R-32, R-26)
  • Are the empty, loading, and error states of every data view present and perceivable, not color-only? (R-27, C-4)
  • Can text be resized to 200% without being clipped, and does the mobile keyboard never cover a focused input? (R-35)

© miqdadbadjuber, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files in skills/antislop-human of miqdadbadjuber/anti-slop.

  • SKILL.md
  • contrast-check.py
  • contrast-mcp.py

Open the folder on GitHubat commit 388cbe3

Compare with similar skills

Antislop Human next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Antislop Human compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Antislop Human this skillmiqdadbadjuber/anti-slop5.7k—~2.8kAutomated safety check: PassMIT
Md Reviewborghei/Claude-Skills891—~3.8kAutomated safety check: PassMIT
Anti Slop FrontendBlackBeltTechnology/pi-agent-dashboard315—~4.8kAutomated safety check: PassMIT
Slop Evalfabricioctelles/skills106—~5.4kAutomated safety check: PassApache-2.0
Accessible ContentOwl-Listener/designpowers251—~1.1kAutomated safety check: PassMIT
Drug Retrosynthesislearningmatter-mit/AtomisticSkills176—~647Automated safety check: PassMIT

Similar skills

  • Md Review

    borghei/Claude-Skills

    Pre-publication quality gate for authored Markdown — heading structure, on-disk link resolution, readability, accessibility, terminology.

    891 GitHub stars~3.8k tokensUpdated 4 days ago
    Frontend & DesignAuto-check passed
  • Anti Slop Frontend

    BlackBeltTechnology/pi-agent-dashboard

    A mechanical, countable anti-slop checklist for AI-generated frontend.

    315 GitHub stars~4.8k tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Slop Eval

    fabricioctelles/skills

    Objectively evaluate a UI/web design against the pols.dev anti-slop design law: detect catalogued slop tells with cited evidence, score 8 weighted axes (color, type, components, layout, motion…

    106 GitHub stars~5.4k tokensUpdated 6 days ago
    Frontend & DesignAuto-check passed
  • Accessible Content

    Owl-Listener/designpowers

    A skill your agent uses when writing or structuring any user-facing content — interface copy, labels, error messages, help text, headings, alt text, link text, or form instructions — ensures content…

    251 GitHub stars~1.1k tokensUpdated 3 mo ago
    Frontend & DesignAuto-check passed
  • Drug Retrosynthesis

    learningmatter-mit/AtomisticSkills

    Predict synthetic accessibility and retrosynthetic pathways for novel molecules using the IBM RXN API.

    176 GitHub stars~647 tokensUpdated 3 days ago
    Frontend & DesignAuto-check passed
  • Figure Table Quality

    Mathews-Tom/armory

    Readability and rendering audit for figures and tables in academic manuscripts.

    329 GitHub stars~1.7k tokensUpdated 5 days ago
    Frontend & DesignAuto-check passed

More from miqdadbadjuber/anti-slop

  • Antislop Code

    miqdadbadjuber/anti-slop

    Code comment hygiene for AI coding agents: remove generic AI-slop comments, keep the valuable ones, never touch the code.

    5.7k GitHub stars~2.2k tokensUpdated 6 days ago
    Auto-check passed
  • Antislop Layoutmobile

    miqdadbadjuber/anti-slop

    Mobile layout skill for antislop. An agent skill from miqdadbadjuber/anti-slop.

    5.7k GitHub stars~4.1k tokensUpdated 6 days ago
    Auto-check passed
  • Antislop

    miqdadbadjuber/anti-slop

    Anti Slop: Rules for AI Coding Agents. An agent skill from miqdadbadjuber/anti-slop.

    5.7k GitHub stars~14k tokensUpdated 6 days ago
    Auto-check passed
  • Antislop Copywriting

    miqdadbadjuber/anti-slop

    Copy and text skill for antislop. An agent skill from miqdadbadjuber/anti-slop.

    5.7k GitHub stars~6.3k tokensUpdated 6 days ago
    Auto-check passed
  • Antislop UI

    miqdadbadjuber/anti-slop

    UI and visual skill for antislop. An agent skill from miqdadbadjuber/anti-slop.

    5.7k GitHub stars~6.7k tokensUpdated 6 days ago
    Auto-check passed

Questions about Antislop Human

What does Antislop Human do?

Human and accessibility skill for antislop. An agent skill from miqdadbadjuber/anti-slop. Antislop Human is an agent skill from miqdadbadjuber/anti-slop. Human and accessibility skill for antislop.

When should I use Antislop Human?

Antislop Human fits situations like: tasks that involve Accessibility.

How do I install Antislop Human in Claude Code?

Run `npx skills add miqdadbadjuber/anti-slop --skill antislop-human -a claude-code`. Or copy the skill folder (skills/antislop-human in miqdadbadjuber/anti-slop) into .claude/skills/antislop-human in your project. Claude Code loads it when a task matches its description.

How do I install Antislop Human in Codex?

Run `npx skills add miqdadbadjuber/anti-slop --skill antislop-human -a codex`. Or copy the skill folder (skills/antislop-human in miqdadbadjuber/anti-slop) into .agents/skills/antislop-human in your project. Codex loads it when a task matches its description.

Can I use Antislop Human in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add miqdadbadjuber/anti-slop --skill antislop-human -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/antislop-human, .gemini/skills/antislop-human, .github/skills/antislop-human and .opencode/skills/antislop-human in your project.

What does Antislop Human need to run?

Going by SKILL.md and its folder, Antislop Human needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Bash(python *), Bash(python3 *), Read, Write, Edit, Glob, Grep.

Does Antislop Human access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Antislop Human safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Antislop Human use?

Antislop Human is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Antislop Human use?

About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Antislop Human?

Skills that share tags, products or a category with Antislop Human: Md Review (borghei/Claude-Skills, 891 stars), Anti Slop Frontend (BlackBeltTechnology/pi-agent-dashboard, 315 stars), Slop Eval (fabricioctelles/skills, 106 stars) and Accessible Content (Owl-Listener/designpowers, 251 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Antislop Human?

miqdadbadjuber (a GitHub user) maintains it in miqdadbadjuber/anti-slop, which has 5,657 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on October 4, 2026.

Source: miqdadbadjuber/anti-slop on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.