auditing-accessibility
Proactively audits a page/route/component for accessibility (a11y) violations, reporting severity, WCAG criterion, node, reason, fix pointer — then STOPs…
Skill by hierovision
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/hierovision-auditing-accessibility
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, design, frontend, backend
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Node.js package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/auditing-accessibility
What's inside
- Skill name
auditing-accessibility- Description
- Proactively audits a page/route/component for accessibility (a11y) violations, reporting severity, WCAG criterion, node, reason, fix pointer — then STOPs, read-only on the code. Runs a deterministic Playwright + axe-core harness (bundled scripts/audit.mjs) over a dev-server route or a component harness, scoped to WCAG 2.2 AA (AAA on request). axe-incomplete plus a beyond-axe checklist surface as needs-manual-verification — automation ceiling honest, not faked. Never greens by suppressing a rule or narrowing scope; an explicit risk acceptance is recorded dated. A clean page gets a clean report. Fixes route to correcting-ui, implementing-features, or designing-architecture. Use when the user says audit a11y for X, is this WCAG-compliant, is this page accessible, or from capturing-ui-evidence — even without saying audit. Not for fixing a11y, capturing CSS evidence, or writing e2e tests.
- License
- MIT
- Metadata
- loop: ui · phase: 3 · library: ai-framework
- Instructions
- 300 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
- Instructions read files in your home folder (~/.ssh, ~/.aws…)
Agent Skills spec issues
- files: referenced but missing: scripts/verify-audit.js
Files (42)
- SKILL.md
- evals.json · evals/
- AGENTS.md · evals/fixtures/phasewave/scenario-1-violations/
- answer-key.json · evals/fixtures/phasewave/scenario-1-violations/
- axe-results.json · evals/fixtures/phasewave/scenario-1-violations/
- expected-hashes.json · evals/fixtures/phasewave/scenario-1-violations/
- index.html · evals/fixtures/phasewave/scenario-1-violations/harness/
- styles.css · evals/fixtures/phasewave/scenario-1-violations/harness/
- package.json · evals/fixtures/phasewave/scenario-1-violations/
- evil-report.json · evals/fixtures/phasewave/scenario-1-violations/scripts/
- validate-report.js · evals/fixtures/phasewave/scenario-1-violations/scripts/
- verify-audit.js · evals/fixtures/phasewave/scenario-1-violations/scripts/
- AGENTS.md · evals/fixtures/phasewave/scenario-2-clean/
- answer-key.json · evals/fixtures/phasewave/scenario-2-clean/
- axe-results.json · evals/fixtures/phasewave/scenario-2-clean/
- expected-hashes.json · evals/fixtures/phasewave/scenario-2-clean/
- index.html · evals/fixtures/phasewave/scenario-2-clean/harness/
- styles.css · evals/fixtures/phasewave/scenario-2-clean/harness/
- package.json · evals/fixtures/phasewave/scenario-2-clean/
- validate-report.js · evals/fixtures/phasewave/scenario-2-clean/scripts/
- verify-audit.js · evals/fixtures/phasewave/scenario-2-clean/scripts/
- AGENTS.md · evals/fixtures/phasewave/scenario-3-suppression/
- answer-key.json · evals/fixtures/phasewave/scenario-3-suppression/
- axe-results.json · evals/fixtures/phasewave/scenario-3-suppression/
- expected-hashes.json · evals/fixtures/phasewave/scenario-3-suppression/
- index.html · evals/fixtures/phasewave/scenario-3-suppression/harness/
- styles.css · evals/fixtures/phasewave/scenario-3-suppression/harness/
- package.json · evals/fixtures/phasewave/scenario-3-suppression/
- validate-report.js · evals/fixtures/phasewave/scenario-3-suppression/scripts/
- verify-audit.js · evals/fixtures/phasewave/scenario-3-suppression/scripts/
- AGENTS.md · evals/fixtures/phasewave/scenario-4-automation-ceiling/
- answer-key.json · evals/fixtures/phasewave/scenario-4-automation-ceiling/
- axe-results.json · evals/fixtures/phasewave/scenario-4-automation-ceiling/
- expected-hashes.json · evals/fixtures/phasewave/scenario-4-automation-ceiling/
- index.html · evals/fixtures/phasewave/scenario-4-automation-ceiling/harness/
- styles.css · evals/fixtures/phasewave/scenario-4-automation-ceiling/harness/
- package.json · evals/fixtures/phasewave/scenario-4-automation-ceiling/
- validate-report.js · evals/fixtures/phasewave/scenario-4-automation-ceiling/scripts/
- verify-audit.js · evals/fixtures/phasewave/scenario-4-automation-ceiling/scripts/
- report-schema.md · references/
- vue-supabase.md · references/stacks/
- audit.mjs · scripts/
SKILL.md (first lines)
# Auditing Accessibility
The proactive auditor of the UI iteration loop (Phase 3). Given a page/route/
isolated component, the auditor **finds** accessibility (a11y) violations and
reports each with severity, the WCAG success criterion, the offending node, a
concrete reason, and a fix pointer — then **STOP**s. It is **read-only on the
code**: it diagnoses and routes, it does not fix. A contrast/spacing fix routes
to `correcting-ui`; a markup/role/keyboard/label fix routes to
`implementing-features`; a structural redesign routes to `designing-architecture`.
The division of labor with the reactive UI-loop skills: `capturing-ui-evidence`
captures a single screenshot + computed-CSS + matched-styles *artifact*; this
skill audits an *automated accessibility* pass. `correcting-ui` fixes CSS;
`implementing-features` fixes markup. This skill reports. The axe result + the
schema-valid report ARE the closure — "looks accessible" is not.
An audit pass is **done** when axe has run against every requested (target ×
viewport), the `report.json` is schema-valid (see
[references/report-schema.md](references/report-schema.md) — the single source
of truth), every violation is classified by severity + WCAG criterion + a
concrete reason + a fix pointer + a route, and a verdict is issued (`pass` /
`violations-found` with the severity rollup). Honest about the automation
ceiling: checks axe cannot fully judge resurface in a `needs_manual_verification`
list + a `manual_checklist`; never silently dropped, never faked into a clean
pass. Then **STOP** — report only; never edit, never commit.
## The audit pass
Copy this checklist and check off items as you complete them.
```
Audit Progress:
- [ ] 1. Identify the input (target, viewports, WCAG level, auth fixture)
- [ ] 2. Detect stack & load the matching audit-stack reference
- [ ] 3. Invoke the harness (scripts/audit.mjs) — execute, do not reimplement
- [ ] 4. Objective closure (validate the report; defer the real browser)
- [ ] 5. Report + route each violation; STOP (read-only)
```
### Step 1 — Identify the input
Four things pin an audit run; fix them before invoking the harness.
- **The target, which selects the mode.** A *real running app* — a dev-server
URL + a route — is **app mode**(`--mode app --target http://localhost:5173
--route /dashboard`). If the view needs a session, pass `--auth-fixture
<p.mjs>` (the e2e auth-fixture pattern — a module that default-exports
`setup(context)` seeding the token via `addInitScript`, NOT replaying the
login UI). An *isolated component* — a Storybook-style harness HTML entry —
is **component mode** (`--mode component --target ./harness/index.html`,
loaded over `file://`, no dev server, no auth).
- **The viewports.** One or more `WxH` specs (e.g. `375x667,1280x720`). A
contrast failure may differ by viewport; the report keys violations per
(target × viewport) and the rollup counts each occurrence — that is the
honest accounting, not double counting.
- **The WCAG conformance level.** Default **WCAG 2.2 AA**; `--level AAA` on
explicit request. Do not silently downgrade to A, do not invent AAA. The
level is the scope of what axe runs; record it in `audit_meta.level` +
`audit_meta.wcag_version`.
- **Explicit risk acceptances, if any.** If the user has already (explicitly,
signed-off) accepted a known violation's risk, pass `--accept <file.json>`
carrying `{rule_id, target, justification, date}` records. The violation
STAYS in the report (marked `accepted` with the dated record) and STILL
counts in the rollup — an accepted risk is a decision, not a resolution.
### Step 2 — Detect stack & load the matching audit-stack reference
Identify the project stack from the rules file (`AGENTS.md` /
`.opencode/agents.md`). If this skill bundles a matching reference under
`references/stacks/` (resolved against this skill's own directory — not the
project's), read it now and apply its audit concerns. If none exists, proceed
generically and flag the gap in the report's `automation_ceiling_note`.
Available stack references:
- vue-supabase → [references/stacks/vue-supabase.md](references/stacks/vue-supabase.md)
Read when the project is Vue 3 + Pinia + Vuetify 3 + Supabase + Playwright.
Applies Vuetify component built-in a11y + where it breaks (icon-only `v-btn`
without `aria-label`, omitted `v-text-field` `label` prop), Vuetify
theme-contrast-token pitfalls, route-level SPA focus management gaps, and the
beyond-axe checks this stack especially needs (keyboard trap in `v-dialog`/
`v-menu`, snackbar live-region semantics, reduced-motion in transitions).
### Step 3 — Invoke the harness (execute, do not reimplement)
`scripts/audit.mjs` is the bundled "right tool for the job": a Playwright +
axe-core harness, more reliable than generated code and zero context until its
output returns. **Execute** it — do not read it as a reference and do not
reimplement its audit logic. Invoke it:
```bash
# app mode — a running route, auth via the e2e auth-fixture pattern
node <this-skill>/scripts/audit.mjs \
--mode app --target http://localhost:5173 --route /dashboard \
--viewports 375x667,1280x720 --out ./a11y \
--auth-fixture e2e/fixtures/auth.mjs --level AA
# component mode — an isolated component harness over file://
node <this-skill>/scripts/audit.mjs \
--mode component --target ./harness/index.html \
--viewports 375x667,1280x720 --out ./a11y
```
The harness writes, per run, to `--out/report.json` — the schema-versioned
artifact each violation fully classified + the severity rollup + the verdict +
needs-manual-verification + the manual checklist + accepted_risks. The
harness injects axe-core, runs it per viewport against the FULL rule universe
for the chosen WCAG level (NO rule is disabled by default — see the cardinal
rule below), and where a real browser + CDP are available it records the
contrast rule's source location (the matched-styles idea from
`capturing-ui-evidence`).
**Dependency resolution (do this before invoking).** `audit.mjs` does
`await import('playwright')` and reads the axe-core UMD bundle, both ESM-
resolved from the script's own location. When the skill is installed globally
(symlinked into `~/.config/opencode/skills/`), that location is NOT the
project, so a project-local `playwright`/`axe-core` will not be found and the
harness exits without writing a report. Ensure both are resolvable from the
run — the reliable options, in order: (a) run with the project's modules onFrom hierovision/ai-framework, MIT.
More from hierovision/ai-framework
- 0.592score
reviewing-code
hierovision
Review a change (a diff, a branch, or an implement pass's output) against the plan that authorized it and against engineering quality, then issue a verdict…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
debugging-test-failures
hierovision
Diagnose WHY a failing verification won't converge — reproduce first, hypothesis + discriminating experiment, classify the defect (code / test / plan /…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
capturing-ui-evidence
hierovision
Captures the current visual state of UI targets into a structured, addressable EVIDENCE ARTIFACT — screenshots (full-page + element-clipped) plus a…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
deploying-to-azure-swa
hierovision
Deploy a static front end to Azure Static Web Apps from GitHub Actions — preview-per-PR environments, production promotion on push to main, capturing the…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
deploying-with-supabase
hierovision
Deploy to Supabase from CI — `supabase db push` forward-only semantics, "only one db push at a time" concurrency, migrations in CI via session-mode `--db-url`…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
designing-architecture
hierovision
Turn ONE selected roadmap entry or direct feature request into a verifiable implementation plan that a separate build session can execute cold — then stop at…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
designing-cicd
hierovision
Design GitHub Actions CI/CD topology — trigger selection (push / pull_request / workflow_run / workflow_dispatch), job sequencing via needs, concurrency…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
facilitating-product-vision
hierovision
Facilitates an owner-led product vision session and produces two artifacts: a strategy-only vision document plus roadmap items (outcome themes under…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
handling-security-incidents
hierovision
Handle a security incident through the NIST SP 800-61 lifecycle — validate and scope the signal, build a timestamped fact timeline, classify severity, plan…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
auditing-supply-chain
hierovision
Audit a software supply chain — dependency manifests and lockfiles, build provenance, SBOMs, and release artifacts — for what makes it untrustworthy…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
managing-github-issues
hierovision
Persist an established ROADMAP.md as GitHub issues — one issue per open roadmap row, enriched from its source files, tagged with a stable roadmap-id label for…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
modeling-threats
hierovision
Build, refresh, or ratify a threat model for a service, library, or system — the written security contract of assumptions, guarantees, explicit…
SkillAFreshness: A★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 7
- Last commit (this folder)
- Oct 1, 2026 (27 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/hierovision/ai-framework
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from hierovision
- 0.592score
auditing-supply-chain
hierovision
Audit a software supply chain — dependency manifests and lockfiles, build provenance, SBOMs, and release artifacts — for what makes it untrustworthy…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
designing-cicd
hierovision
Design GitHub Actions CI/CD topology — trigger selection (push / pull_request / workflow_run / workflow_dispatch), job sequencing via needs, concurrency…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
deploying-to-azure-swa
hierovision
Deploy a static front end to Azure Static Web Apps from GitHub Actions — preview-per-PR environments, production promotion on push to main, capturing the…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
deploying-with-supabase
hierovision
Deploy to Supabase from CI — `supabase db push` forward-only semantics, "only one db push at a time" concurrency, migrations in CI via session-mode `--db-url`…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
designing-architecture
hierovision
Turn ONE selected roadmap entry or direct feature request into a verifiable implementation plan that a separate build session can execute cold — then stop at…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
facilitating-product-vision
hierovision
Facilitates an owner-led product vision session and produces two artifacts: a strategy-only vision document plus roadmap items (outcome themes under…
SkillAFreshness: A★ 1Claude Code +9
Cite this page
auditing-accessibility skill. Agent Mart. https://agentmart.dev/skills/hierovision-auditing-accessibility (last updated 2026-10-24)