a11y-tool-builder
Build accessibility scanners, rule engines, parsers and report generators.
Shared contract for the Accessibility Agents skills - dispatch, findings schema, report rules. Read by skills, never dispatched on its own.
$ npx -y skills add Community-Access/accessibility-agents --skill a11y-core --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/a11y-coreContext preview
The summary Claude sees to decide when to auto-load this skill.
Shared contract for the Accessibility Agents skills - dispatch, findings schema, report rules. Read by skills, never dispatched on its own.
name: a11y-core description: Shared contract for the Accessibility Agents skills - dispatch, findings schema, report rules. Read by skills, never dispatched on its own. license: MIT disable-model-invocation: true user-invocable: false metadata: tier: reference domain: cross-cutting output: none effort: low title: Accessibility Agents Core
Shared rules for every skill in the Accessibility Agents package. Skills point here instead of repeating this text. Read the section you need.
Every skill sits in one of four tiers. The tier decides who can start it and what it is allowed to cost.
| Tier | What it is | Who invokes it | |---|---|---| | router | The six entry points: accessibility-lead, web-accessibility-wizard, document-accessibility-wizard, markdown-a11y-assistant, developer-hub, github-hub | The model or the user | | specialist | One accessibility domain, one checklist, one findings payload | A router, by pointer | | helper | Mechanical work: inventory, scanning one file, CSV export, scan config | A router, by pointer | | reference | Rule tables, URL registries, scoring formulas. `kb-` prefix | Cited by a skill that needs the data |
Only routers are model-invocable. Specialists and helpers stay out of every client's skill catalog so they cost nothing until a router names one.
A router dispatches a specialist with the client's own subagent primitive. Keep the prompt at this shape and this size. Never read a specialist's instructions into the router's own context, and never paste a specialist body into a prompt.
Activate the skill "aria-specialist". If skill activation is unavailable, read skills/aria-specialist/SKILL.md and follow it. Task: <one paragraph, what to check and why> Scope: <file list or glob> Rules: semantic HTML before ARIA; report, do not edit. Return ONLY JSON matching skills/a11y-core/schemas/findings.schema.json.
Per client: Claude Code uses the Agent tool, Codex spawns a worker subagent, Copilot uses a subagent or handoff, Gemini and Antigravity use the generalist agent. The prompt is the same in all four.
The specialist reads its own instructions inside its own context. The router receives JSON. Nothing else crosses the boundary.
Skills declare `metadata.output`, and it decides what they return.
no preamble, no restated instructions.
`.a11y-history/<timestamp>/`, then render with `node skills/a11y-core/scripts/render-report.mjs`. Never type a report by hand.
and what each changes.
Severity is one of `critical`, `serious`, `moderate`, `minor`. Confidence is `high`, `medium` or `low`. A finding without a location and a fix is not a finding.
These hold for every web skill in the package and do not need restating in a dispatch prompt.
Any audit report this package produces carries all of these, or it is a triage result and must say so in its opening line.
1. Metadata: date, tool versions, scope, scan configuration used 2. Executive summary: score out of 100, A-F grade, counts by severity, verdict 3. Findings: rule ID, WCAG criterion, severity, location, description, fix 4. Severity breakdown by critical, serious, moderate, minor 5. Remediation priorities, ordered by impact against effort 6. Next steps and a re-scan timeline 7. Delta against the previous report when one exists: fixed, new, persistent, regressed
The renderer emits all seven from findings JSON and embeds the merged JSON in a fenced block at the end of the report, which is what makes the next delta cheap.
If the workspace root holds `.a11y-office-config.json`, `.a11y-pdf-config.json`, `.a11y-epub-config.json` or `.a11y-web-config.json`, read it and honour it. Do not fall back to defaults when a config file exists. Profiles for strict, moderate and minimal live in `templates/`.
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.
Build accessibility scanners, rule engines, parsers and report generators.
Web UI accessibility lead. Use before writing or changing HTML, JSX, TSX, Vue, Svelte, CSS or templates. Picks specialists and merges their findings.
Compare audits across commits to find new, fixed and regressed issues.
Generate a W3C or EU model accessibility statement from audit results.
GitHub Actions: workflow runs, logs, re-runs and CI failure triage.
Alt text, SVGs, figures, charts, heading order, page titles and landmarks.