Accessibility Agents
WCAG 2.2 AA enforcement for agentic coding, as a set of Agent Skills. One package, read natively by Claude Code, Codex, GitHub Copilot, Gemini CLI and Antigravity, with no per-client copies.
Models forget accessibility while generating code. This package makes that harder: it routes the work to the right specialist, blocks edits to user-facing files until the accessibility lead has reviewed, and renders audit reports from structured findings rather than from memory.
Install
As a plugin, which loads the skills, the hooks and the MCP server
registration (on Codex, the skills and the MCP server only: Codex no longer
loads plugin hooks, so use npm run setup there for the edit gate):
Claude Code /plugin marketplace add Community-Access/accessibility-agents
/plugin install accessibility-agents@community-access
Copilot CLI copilot plugin marketplace add Community-Access/accessibility-agents
copilot plugin install accessibility-agents@community-access
Codex codex plugin marketplace add Community-Access/accessibility-agents
codex plugin add accessibility-agents@community-access
(skills and MCP server only; no edit gate, see below)
VS Code Chat: Install Plugin From Source, with the repository URL
(requires the chat.plugins.enabled setting)
The MCP server ships as a single bundle, mcp-server/dist/stdio.mjs, so a
plugin install starts it with no npm install. Only the optional scanners
need installing: Playwright and @axe-core/playwright for the browser scans,
pdf-lib for PDF form conversion, and the veraPDF CLI. The tools that need
them say how when they are missing.
Directly from a checkout, for Gemini CLI, Antigravity, or any client without the plugin:
npm install
npm run setup -- --dry-run
npm run setup
npm run setup copies the skills to ~/.agents/skills, the personal location
Codex, the Copilot CLI, VS Code and Gemini CLI read, and to
~/.gemini/config/skills when Antigravity is present. It writes the hook
manifest for Codex, Gemini CLI and Antigravity when they are present. It never overwrites a
hooks file or a skill you have edited, and --dry-run prints every action
without doing it. Claude Code does not read ~/.agents/skills, so the
installer writes nothing for it: use the plugin, or start Claude Code with
--plugin-dir pointing at the checkout. For the optional scanners, run
npm install --prefix mcp-server, then npx playwright install chromium in
mcp-server/.
How to use it
Describe the problem. Six entry points route the rest.
| You are working on | Skill |
|---|---|
| HTML, JSX, TSX, Vue, Svelte, CSS, or a server template | accessibility-lead |
| A full site or app audit rather than one change | web-accessibility-wizard |
| Word, Excel, PowerPoint, PDF or ePub files | document-accessibility-wizard |
| Markdown documentation | markdown-a11y-assistant |
| Python, wxPython, desktop apps, NVDA add-ons, accessibility tooling | developer-hub |
| Issues, pull requests, releases, projects, actions, security, teams, wikis | github-hub |
Those six dispatch a further 102 specialist, helper and reference skills by name. The other 102 are invisible to the model until a router names one, which is why the whole package costs about 1,100 tokens before you have said anything.
What it does
- Reviews web UI across ARIA, keyboard, focus, forms, contrast, modals, live
- Scans documents for Office, PDF and ePub accessibility, one file or a
- Audits markdown for link text, alt text, heading order, tables, emoji and
- Blocks unreviewed edits. A hook refuses a write to a user-facing file
- Renders reports. Findings are JSON; a script writes the report, computes
- Supplies scanners over MCP. Thirty-nine tools: axe-core, Office, PDF,
Layout
AGENTS.md the always-on contract, under 1,200 tokens
CLAUDE.md one line, importing AGENTS.md
plugin.json Agent Plugins 1.0 manifest
mcp.json MCP server registration
skills/ 108 skills
a11y-core/ shared contract, findings schema, scripts
<router>/ the six entry points
<specialist>/ one domain each, dispatched by a router
kb-<domain>/ reference data: rule tables, URL registries, formulas
hooks/ one guard script and the client hook manifests
com.github.copilot/ Copilot and VS Code plugin hooks (Agent Plugins 1.0)
mcp-server/ the scanners
docs/ conformance dossier, guides, release notes
Verify
npm run verify
Sixteen gates, each naming the standard it checks and what a failure would cost; all sixteen passed on 2026-10-28. Two are optional: the dependency advisory check, and live sessions on whichever of Claude Code, Codex and Copilot are installed. The evidence, measured results and the one documented deviation from the Agent Skills specification are in the conformance dossier.
npm run measure # what the package costs, per client
npm run measure:dispatch # what dispatching a specialist costs
npm run probe:mcp # the MCP tool surface
Standards
Each standard, with what it governs.
| Standard | Governs | |---|---| | Agent Skills | every skill | | AGENTS.md | the always-on contract | | Agent Plugins 1.0 | packaging | | Model Context Protocol | the scanners | | WCAG 2.2 | every criterion a finding cites |
Contributing
Edit skills/, keep the body under 6 KiB, put the long tail in
references/, and run npm run verify. Details in
CONTRIBUTING.md.
History
Version 7.0 replaced six hand-maintained per-client trees with this one package. The plan, the phases and the measured impact are in the modernization record. What comes next is in ROADMAP.md.
Licence
MIT. See LICENSE.