a11y-local

a11y-local is a skill for Claude Code, Codex from zekiriabd/SDD-Pro. It costs 185 tokens per session (1,720 once invoked), scanned A, original, Apache-2.0.

A locally run accessibility check for a web frontend, using axe-core to look for common WCAG issues. WCAG is a set of guidelines for making websites usable by people with disabilities.

In plain words
What is it for?
Scanning a running local frontend and recording its accessibility findings for later review.
Why use it?
It gives a developer an accessibility result before code is pushed, without changing the generated frontend.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Scanning a running local frontend and recording its accessibility findings for later review.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/zekiriabd/sdd-pro/a11y-local
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add zekiriabd/SDD-Pro --skill a11y-local
Clone the repo
git clone --depth 1 https://github.com/zekiriabd/SDD-Pro

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for a11y-local

README.md
[![agentmods](https://agentmods.dev/badge/skills/zekiriabd/sdd-pro/a11y-local/github.svg)](https://agentmods.dev/skills/zekiriabd/sdd-pro/a11y-local)
Your own site
<a href="https://agentmods.dev/skills/zekiriabd/sdd-pro/a11y-local"><img src="https://agentmods.dev/badge/skills/zekiriabd/sdd-pro/a11y-local/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for a11y-local

Your own site · 80×15
<a href="https://agentmods.dev/skills/zekiriabd/sdd-pro/a11y-local"><img src="https://agentmods.dev/badge/skills/zekiriabd/sdd-pro/a11y-local.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 185 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,720 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector warn 7 Sept 2026
SkillSpector: 2 findings, up to medium

These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →

  • medium MCP Rug Pull · line 27
    npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.
    Fix: Pin the version: npx @scope/[email protected]
  • medium MCP Rug Pull · line 42
    npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.
    Fix: Pin the version: npx @scope/[email protected]
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00185 $0.01720
Opus 5 $0.00093 $0.00860
Sonnet 5 $0.00037 $0.00344
Haiku 4.5 $0.00018 $0.00172

Measured 5d ago against content hash 7c86710c77cb, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

a11y-local scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.sdd/skills/a11y-local/SKILL.md · 108 lines

How it starts

The opening of the file, as written. The whole thing — 108 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Skill — Accessibility audit local (axe-core → qa_a11y)

Mode A — hors-pipeline (VENDORED.md §Coexistence). Ce skill est un outil Tech Lead à la demande. Il ne s'auto-déclenche JAMAIS pendant /sdd-full, /sdd-poc, /dev-run ou l'agent dev-frontend : le pipeline couvre l'a11y par ingest CI (ingest_axe.py appelé depuis .github/workflows/quality.yml auto-généré par arch). Ce skill donne au Tech Lead le même verdict en local, avant push, en réutilisant la plomberie existante — il n'invente aucun script ni table.

Anti-derive : aucune modification du code généré (workspace/src/). Le seul artefact écrit sur disque est le JSON axe transitoire sous workspace/.sys/.a11y/ (jamais workspace/{feats,us,plans,src}/). La télémétrie va dans console.db (table qa_a11y existante), lue à la demande.

Pré-conditions (STEP 0)

  1. Front lancé : le frontend doit tourner. Le lancer via /sdd-serve (qui affiche l'URL réelle, ex. Frontend ▶ … → :5173). Ports défaut : Vite/React 5173, Angular 4200, Next/Blazor Server 3000, autres → lire la sortie de /sdd-serve.
  2. axe-core CLI dispo : npx @axe-core/cli --version (installé à la volée via npx si Node présent). Si Node absent → STOP [QA_FRAMEWORK_MISSING] (l'a11y reste couvert par le CI du projet ; ce skill est local-only).
  3. FEAT connue : le numéro {n} de la FEAT auditée (pour ranger la télémétrie dans qa_a11y sous le bon FEAT — même clé que l'ingest CI).

Si le front n'est pas joignable → STOP [NETWORK] (ne pas ingérer un scan vide qui écraserait une télémétrie CI valide via replace_qa_auditor_for_feat).

Procédure (STEP 1-3)

STEP 1 — Scan axe-core local

mkdir -p workspace/.sys/.a11y
npx @axe-core/cli "$URL" --save workspace/.sys/.a11y/axe-report.json --exit
  • $URL = l'URL affichée par /sdd-serve (ou fournie par le Tech Lead).
  • Plusieurs pages : passer plusieurs URLs ou relancer par route ; axe agrège en un tableau [result, …] que ingest_axe.py sait normaliser.
  • --exit fait sortir axe en non-zéro s'il trouve des violations : ignorer ce code, c'est l'ingest qui décide du verdict contre --threshold.

Read the full file on GitHub · 108 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 5d ago First seen · 108 lines · 185 tokens per session scan A 7c86710c77cb

Subscribe to this mod's changes

a11y-local is a skill published in the GitHub repository zekiriabd/SDD-Pro (193 stars, last pushed 6d ago), licensed Apache-2.0. It adds 185 tokens to every session and 1,720 once invoked, about $0.0009 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.