
Accessibility Diff
SkillDiffs a live page's accessibility violations against a baseline, stashing uncommitted changes by default or comparing with a branch, and reports new, fixed and pre-existing WCAG issues with selectors and fixes. Locates only, no edits. Runs AccessLint's Chrome and CLI tools via npx.
name: accessibility-diff
description: "Regression check — diff a live page's web accessibility (a11y) violations against a baseline. By default it compares your uncommitted changes (stash-based); pass `--branch [<name>]` to compare against a branch. Reports the new WCAG violations introduced, the ones fixed, and the count of pre-existing ones. Use it for 'did my change break accessibility', 'what a11y issues did this PR add', or as a CI gate. For a full scan of one page use `accessibility-scan`; for a whole site use `accessibility-audit`."
argument-hint: "[--branch [<name>]] [target|url]"
allowed-tools: Bash, Read, Glob, Grep, Skill, Task
Default branch: !git symbolic-ref refs/remotes/origin/HEAD --short 2>/dev/null | sed 's|.*/||' || echo main
Report only what changed. Locate; don't fix.
Shared grounding and honesty conventions: ../shared/methodology.md.
Parse $ARGUMENTS: if --branch <name> is present, remove it and use branch mode (no value means the default branch above). The rest is the target: a URL, a config target name, or empty for the default target from accesslint.config.json. If it's empty and there's no config, ask for a URL.
1. Audit
PORT=$(npx -y @accesslint/chrome@latest ensure | node -e 'process.stdin.on("data",d=>process.stdout.write(""+JSON.parse(d).port))')
Stash mode (default; uncommitted changes). Tell the user first: "Running in diff mode — stashing your changes to capture a baseline, then restoring. Your working tree will be fully restored." If git stash push fails, warn and exit.
git stash push -u -m "accesslint-diff-baseline"
npx -y @accesslint/cli@latest scan <target> --port "$PORT" --snapshot accesslint-diff --snapshot-dir /tmp --update-snapshot
git stash pop && sleep 2
npx -y @accesslint/cli@latest scan <target> --port "$PORT" --snapshot accesslint-diff --snapshot-dir /tmp --format json
Branch mode (--branch <name>). Tell the user first: "Diffing against <name> — checking out that branch to capture a baseline, then restoring. Your working tree will be fully restored." Branch switching triggers a rebuild but not a browser reload, so the CLI opens a fresh tab each run to read the current build. Use --wait-for "<selector>" to hold the audit until the rebuild is ready; without it, warn that a slow build may give a stale baseline.
git diff --quiet && git diff --cached --quiet || git stash push -u -m "accesslint-diff-branch"
git checkout <branch>
npx -y @accesslint/cli@latest scan <target> --port "$PORT" --snapshot accesslint-diff --snapshot-dir /tmp --update-snapshot [--wait-for "<selector>"]
git checkout - && git stash pop 2>/dev/null
npx -y @accesslint/cli@latest scan <target> --port "$PORT" --snapshot accesslint-diff --snapshot-dir /tmp --format json [--wait-for "<selector>"]
Pass --selector and --include-aaa to both runs.
2. Report
Accessibility diff — http://localhost:3000/ vs main (94 rules, live DOM)
2 new · 1 fixed · 4 pre-existing hidden
New — Critical
- color-contrast — 2.1:1 (needs 4.5:1), #bbb on #fff
where: main > p.subtitle fix: darken to #767676
Fixed
- img-alt — <img src="old.jpg"> (no longer present)
For each new violation: where (selector verbatim, plus file:line (symbol) if source is present; don't fabricate), evidence, and fix (mechanical change or NEEDS HUMAN).
Don't edit. For fixes, apply the mechanical ones and re-run accesslint:accessibility-diff to verify; for bulk work hand off to accesslint:accessibility-fix.
3. Tear down
npx -y @accesslint/chrome@latest stop --all # skip if ensure reported "managed":false
Notes
ensuredetermines the port; don't hardcode 9222.- CLI exit 2 means a bad URL or target, or the page never loaded; check the dev server.
- A target name resolves the same in both runs only if
accesslint.config.jsonis unchanged across the stash or checkout. If your changes touch the config, pass an explicit URL. - Stash mode:
sleep 2covers most HMR cases; if the baseline looks identical to current, add--wait-for "<selector>". - Branch mode: no HMR; the CLI opens a fresh tab each run, and
--wait-foris the rebuild gate. - Large DOM changes between runs cause selector drift; re-run
accesslint:accessibility-scanfor the full picture.
Ressources associées

Accessibility Scan
SkillRuns the AccessLint rule engine against a live page and returns a worklist of WCAG 2.2 violations, each with its DOM selector, source file and line when mapped, evidence and a suggested fix. Locates without editing; sets up a debuggable Chrome and runs the CLI via npx.
AccessLint/skills107
Web Design Guidelines
SkillReviews UI code against Vercel's Web Interface Guidelines, covering accessibility, focus, forms, animation, typography, dark mode and more, listing issues as file:line. Fetches the latest rules before each review. Maintained by Vercel.
vercel-labs/agent-skills32.5k
Web Quality Skills
SkillMeasurement-first audits and optimization of web quality using Lighthouse, Chrome DevTools performance traces and CrUX data, covering Core Web Vitals, WCAG 2.2 accessibility, SEO and best practices, for any frontend framework. By Addy Osmani (not an official Google project).
addyosmani/web-quality-skills2.9k
Accessible Animation
SkillApplies tiered prefers-reduced-motion handling instead of disabling everything: removes vestibular triggers like parallax and scroll hijacking, softens large movement into short fades, and keeps essential motion. Covers CSS and JS gating for GSAP, Framer Motion and Lenis, per WCAG 2.3.3.
iart-ai/web-animation-skills43
Accessibility Compliance
PluginAccessibility review plugin with an audit command, a UI validation subagent, and WCAG 2.2 and screen reader testing skills. Before design reviews or launch, the agent checks contrast, keyboard use and screen reader support and suggests fixes. For Claude Code; automated checks need Node.js.
wshobson/agents40.9k
Skills For Designers and Engineers
SkillDesign engineering skills by Emil Kowalski, author of Sonner and Vaul: choose animation easing and durations, review and improve motion, apply Apple design principles, make web apps feel native on phones, and help pick UI libraries and prototype multiple versions.
emilkowalski/skills46.6k