What is the plugin87 a11y-audit skill?
The a11y-audit skill is one of 25 skills in plugin87's ux-ui-agent-skills kit. It audits a UI against WCAG 2.2 AA and AAA plus ARIA patterns, runs real contrast measurements instead of estimates, and returns criterion-referenced findings with P0, P1 or P2 severity and a specific fix.
Its sharpest rule is a single sentence: never state a ratio you did not measure. Where most accessibility prompts let a model guess contrast, this skill sends the agent to run scripts against the rendered page and report what they print.
It lives inside plugin87's ux-ui-agent-skills kit, version 2.9.4 in the README, and is one of 14 skills the model reaches for on its own. The kit is a pure instruction and knowledge layer.
How an audit runs
- Read the WCAG checklist, organized by POUR and ranked P0, P1 and P2, plus the ARIA patterns file from the kit.
- Check the mandatory P0 set for each component.
- Verify the WCAG 2.2 additions: Focus Not Obscured, Target Size and Accessible Authentication.
- Measure contrast on the rendered HTML, with a separate script that checks hover and focus states.
- Check reduced motion handling, then write the findings table.
The P0 checks and the report
- Keyboard navigation, a visible focus indicator at 3:1 or more, and a screen reader name, role and state.
- Contrast of 4.5:1 for text and 3:1 for interface elements, a target size of at least 24 by 24 pixels, and no signaling by color alone.
- Each finding lists the WCAG criterion, severity, what fails and a specific fix, and passes are confirmed explicitly.
- The skill states that accessibility may never be traded for aesthetics.
Who the a11y-audit skill is for
Best for
- Checking a component or full page against WCAG 2.2 before release, with measured numbers behind each contrast claim.
- Teams already using the kit's tokens and components, since the audit reads the same checklist files. See also accessibility-audit.
- Reviewing hover and focus states, which static contrast checks tend to miss.
Not for
- Installing as a lone folder. The skill checks for the kit first and stops with a KIT_MISSING message if its files are absent.
- Formal compliance sign off. The skill returns findings from an agent run. See also accessibility-compliance.
- Fixing code in one pass. The output is a findings table, so repairs are a separate step; see fixing-accessibility.
Use it with UiChemy
Run the audit on the HTML your AI or Figma build produces. Fix findings at the source, then convert the page to WordPress with UiChemy and click Get Started. Re-check the live page, because the converted output is what visitors use.
How to install Plugin87 A11y Audit Skill: WCAG 2.2 Findings
/plugin marketplace add plugin87/ux-ui-agent-skillsThe skill needs the whole kit, so install the plugin and not just the skill folder. SKILL.md says that on KIT_MISSING only the skill folders were installed, which is what the skills CLI install does.Add the marketplace
In Claude Code, run
/plugin marketplace add plugin87/ux-ui-agent-skills.Install the plugin
Run
/plugin install ux-ui-agent-skills@ux-ui-agent-skills. You get 25 skills and the design-critic agent, and a11y-audit is among the skills the model loads on its own.Start a new session if needed
If the skills do not appear straight away, the README says to start a new session.
claude plugin details ux-ui-agent-skillslists what is loaded.Other install routes
The README also documents Homebrew with
brew install plugin87/tap/ux-ui-agent-skillsfollowed byux-ui-skills init, andnpx ux-ui-agent-skills demoto view rendered examples without installing.
Check that it loaded
Ask your agent to audit a page for WCAG 2.2. With the skill loaded it should check for the kit, run the contrast scripts and return a table of criterion, severity, failure and fix, rather than estimating ratios.
Key features
- WCAG 2.2 AA to AAAThe audit measures against WCAG 2.2 and the project's ARIA patterns, organizing criteria by the POUR principles.
- Prioritized P0, P1 and P2The WCAG checklist ranks criteria as P0, P1 or P2, and each finding in the report carries that severity.
- Mandatory P0 setKeyboard navigable, focus visible at 3:1, a screen reader name, role and state, contrast of 4.5:1 for text and 3:1 for UI, a 24 by 24 pixel target and no color-only signaling.
- WCAG 2.2 additionsExplicit checks for Focus Not Obscured (2.4.11), Target Size (2.5.8) and Accessible Authentication (3.3.8).
- Measured contrastScripts render the HTML and check every text element. A second script checks every interactive element in default, hover and focus states, in light or dark.
- Loose pair checkerFor a color pair outside a rendered file, a Python script computes the ratio from a foreground and background value.
- Reduced motion checkThe audit reviews reduced motion handling against the kit's motion choreography notes.
- Criterion-referenced findings tableEach row gives the WCAG criterion such as 1.4.3, the severity, what fails and a specific fix. Passes are confirmed explicitly.
- Kit presence checkStep 0 tests for the kit's tokens folder. If it is missing, the skill says so plainly and stops instead of guessing file contents.
- Pairs with the critic agentThe plugin also ships a design-critic agent and a /critique command, which hand rendered output to a reviewer that argues for rejection.
Frequently asked questions
What is the plugin87 a11y-audit skill?
It is a SKILL.md inside the plugin87/ux-ui-agent-skills repository, licensed MIT. It audits a UI or design against WCAG 2.2 AA and AAA and ARIA patterns, returning criterion-referenced findings with severity and specific fixes.
How do I install the a11y-audit skill?
Install the whole kit. In Claude Code run /plugin marketplace add plugin87/ux-ui-agent-skills, then /plugin install ux-ui-agent-skills@ux-ui-agent-skills. Homebrew is also documented. A skill folder on its own will report that the kit is missing.
Why does it say KIT_MISSING?
Step 0 checks that the kit's tokens folder exists, because the skill reads checklists and scripts from the kit. If only the skill folder was installed, it tells you plainly and stops rather than guessing the contents of files it cannot open.
How does it check contrast?
It runs a render script over every text element and a state script over every interactive element in default, hover and focus, with a dark mode flag for each. For loose color pairs it uses a Python contrast script. It must report real output.
Does it work with Claude Code, Cursor or Codex?
The README positions the kit around Claude Code, with a plugin install and Homebrew route. It does not list other agents, so treat it as a Claude Code skill unless the repository says otherwise.
What does the report look like?
A findings table with the WCAG criterion, such as 1.4.3, a severity of P0, P1 or P2, what fails and a specific fix. Passing checks are confirmed explicitly, so you can see what was verified as well as what failed.
Which WCAG 2.2 criteria does it call out?
Three additions are named: Focus Not Obscured (2.4.11), Target Size (2.5.8) and Accessible Authentication (3.3.8). The P0 set also covers a 24 by 24 pixel target minimum, a 3:1 focus indicator and 4.5:1 text contrast.


