Agent skill

A11y Validate

by softspark in softspark/ai-toolkit

Accessibility validator: WCAG 2.1 AA, EN 301 549, EAA. An agent skill from softspark/ai-toolkit.

Apache-2.0Auto-check: notesFrontend & Design

Install A11y Validate

skills CLI
$ npx skills add softspark/ai-toolkit --skill a11y-validate -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install softspark/ai-toolkit a11y-validate --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/softspark/ai-toolkit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/app/skills/a11y-validate .claude/skills/a11y-validate && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
a11y-validate
GitHub stars
179
Token cost
~3.8k tokens
SKILL.md length
1,490 words
Files
8 (incl. scripts)
Skills in repo
112
Repo updated
First seen
Licence
Apache-2.0

At a glance

Accessibility validator: WCAG 2.1 AA, EN 301 549, EAA. An agent skill from softspark/ai-toolkit.

  • Works in 5 steps: Detect Framework → Run the Scanner Script → Extend the Scan by Hand → …
  • Tasks that involve Accessibility
  • SKILL.md covers Usage, What This Command Does, Steps and Scanner Reference, plus 7 more sections
  • Runs Python scripts from its folder; calls python3

What it does

A11y Validate is an agent skill from softspark/ai-toolkit. Accessibility validator: WCAG 2.1 AA, EN 301 549, EAA. Triggers: a11y, accessibility, WCAG, EAA, ARIA, contrast, keyboard, screen reader.

Its SKILL.md is about 3.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files, including scripts (for example `reference/aria-patterns.md`, `reference/eaa-compliance.md` and `reference/mobile-eaa.md`).

It sits in Frontend & Design, covering Accessibility. The repository describes itself as: Professional-grade AI coding toolkit: 94 skills, 44 agents, multi-platform (Claude, Cursor, Windsurf, Copilot, Gemini, Cline, Roo Code, Aider, Augment, Antigravity, Codex CLI… The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Accessibility

Example prompts

  • “/a11y-validate”

Requirements

  • Python 3
  • Pre-approved tools (allowed-tools): Read, Grep, Glob, Bash

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Detect Framework
  2. Run the Scanner Script
  3. Extend the Scan by Hand
  4. Interpret and Enrich
  5. Report

What it can do on your machine

Read from SKILL.md and the folder at commit d64db2b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Grep
    • Glob
    • Bash

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

A11y Validate loads about 3.8k tokens when it runs. Until then it costs about 38 tokens; SKILL.md has 1,490 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~38
When it runs · the whole SKILL.md, loaded when a task matches
~3.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Grep, Glob, Bash

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from softspark/ai-toolkit at commit d64db2b, republished under its Apache-2.0 licence (© softspark). 1,490 words, ~3,819 tokens.

Download SKILL.mdSave it as .claude/skills/a11y-validate/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.
name
a11y-validate
description
Accessibility validator: WCAG 2.1 AA, EN 301 549, EAA. Triggers: a11y, accessibility, WCAG, EAA, ARIA, contrast, keyboard, screen reader.
allowed-tools
Read, Grep, Glob, Bash
user-invocable
true
effort
medium
disable-model-invocation
true
context
fork
agent
frontend-specialist
argument-hint
[path] [--scope full|keyboard|contrast|forms|media|aria|motion|mobile|docs] [--standard wcag-2.1-aa|wcag-2.2-aa|en-301-549|eaa] [--severity high|warn|info]…

/a11y-validate — Accessibility & EAA Compliance Scanner

$ARGUMENTS

Scan a codebase for accessibility issues using pattern-matching heuristics. Detects violations of WCAG 2.1 Level AA, EN 301 549 (the EU harmonized accessibility standard), and the European Accessibility Act (Directive (EU) 2019/882, "EAA", in force since 28 June 2025). Read-only — never modifies files.

Complements /seo-validate (which only covers SEO-a11y overlap shallowly). Use this skill when the concern is legal accessibility compliance, not search engine ranking.

Standards basis:

  • WCAG 2.1 Level A + AA — W3C Recommendation 2018 (updated 2023).
  • WCAG 2.2 Level AA (opt-in via --standard wcag-2.2-aa) — adds 2.4.11 focus not obscured, 2.5.8 target size minimum, 3.2.6 consistent help, 3.3.7 redundant entry, 3.3.8 accessible authentication.
  • EN 301 549 v3.2.1 — EU harmonized standard; aligned with WCAG 2.1 AA plus additional chapters for mobile, hardware, ICT procurement, authoring tools, and functional-performance statements.
  • EAA / Directive (EU) 2019/882 — legal framework requiring EN 301 549 conformance for consumer-facing digital products and services in EU markets. Deadline: 28 June 2025. Requires accessibility statements per member-state templates.

Usage

/a11y-validate                                # Scan full project, auto-detect framework
/a11y-validate src/                           # Scan specific path
/a11y-validate --scope keyboard               # Only keyboard + focus checks
/a11y-validate --scope media                  # Only captions/transcripts/autoplay
/a11y-validate --scope docs                   # Only EAA accessibility-statement check
/a11y-validate --scope mobile                 # Only React Native + Flutter patterns
/a11y-validate --standard eaa                 # Activate EAA documentation category
/a11y-validate --standard wcag-2.2-aa         # Add WCAG 2.2 criteria
/a11y-validate --severity high                # Filter to HIGH findings
/a11y-validate --framework react-native       # Force framework
/a11y-validate --output json                  # Structured JSON for CI integration

Scopes:

  • full (default) — all 8 categories
  • keyboard — Category 3 only
  • contrast — Category 4 only
  • forms — Category 5 only
  • media — Category 6 only
  • aria — Category 7 only
  • motion — Category 8 motion subsection
  • mobile — Category 8 mobile subsection (React Native / Flutter)
  • docs — Category 8 EAA documentation subsection (fast "are we legally exposed?" scan)

Standards:

  • wcag-2.1-aa (default) — 50 Level A + AA success criteria.
  • wcag-2.2-aa — adds 2.4.11, 2.5.8, 3.2.6, 3.3.7, 3.3.8.
  • en-301-549 — wcag-2.1-aa + mobile chapter + functional-performance statements.
  • eaa — en-301-549 + accessibility-statement documentation requirement (activates Category 8 docs).

Severity filtering: --severity high shows only HIGH, --severity warn shows HIGH+WARN, --severity info shows all. Default: all.

What This Command Does

  1. Detect framework from package.json, pubspec.yaml, and entry HTML.
  2. Run the scanner script for a deterministic baseline over 13 WCAG success criteria.
  3. Extend the scan by hand using Grep / Glob / Read against framework-aware patterns for everything the script does not cover.
  4. Interpret findings with specific fixes tied to the detected framework.
  5. Report findings sorted by severity with WCAG / EN 301 549 citations.

Steps

Step 1: Detect Framework

Run detection before scanning. Same logic as /seo-validate plus mobile entries:

Deps / files containFrameworkNotes
nextnextApp Router uses metadata export
nuxtnuxtuseHead() / definePageMeta
astroastroislands model; client:only affects a11y
gatsbygatsbyHead API + react-helmet
@sveltejs/kitsveltekit<svelte:head>
@remix-run/*remixMetaFunction
@angular/coreangularCDK a11y module expected
vue (no nuxt)vuea11y plugins optional
react + vite (no next/remix)react-spa—
react-scriptscra—
react-nativereact-nativemobile — AccessibilityInfo API
pubspec.yaml with Flutter SDKfluttermobile — Semantics() widget
no framework depsstaticraw HTML

Also detect a11y libraries: @react-aria/*, @reach/*, @angular/cdk/a11y, vue-a11y, svelte-a11y, react-axe, axe-core. Their presence is INFO.

Step 2: Run the Scanner Script
bash
python3 ${CLAUDE_SKILL_DIR}/scripts/a11y-scanner.py [path] [--severity high|warn|info|all] [--output json|text]

Deterministic regex checks over 13 WCAG success criteria — images, headings, language, forms, keyboard, focus, colour contrast, media, ARIA and target size. No framework awareness and no heuristics: what it reports is real, what it misses is Step 3's job. Exit code is non-zero when HIGH findings exist.

Step 3: Extend the Scan by Hand

Read reference/scanner-categories.md in full, then work every category in --scope with Grep + Read, skipping only the success criteria Step 2 already reported. Patterns adapt to the detected framework.

The coverage table under Scanner Reference says which criteria Step 2 handles per category. Everything else in the category is yours.

Step 4: Interpret and Enrich

For each finding:

  1. Read the flagged file/lines to confirm the match.
  2. Add a framework-specific fix (e.g., "use @react-aria/button" vs "add aria-label").
  3. Mark confidence — definitive for regex matches, heuristic for co-occurrence / absence / target-size estimation.
  4. Skip false positives when context shows the concern is addressed (e.g., aria-label set via intl translation key).
Step 5: Report

Present findings sorted by severity (HIGH → WARN → INFO), then file path. State which findings came from the script and which from the manual pass — a reader needs to know how much of the result is deterministic.


Scanner Reference

scripts/a11y-scanner.py gives a deterministic baseline over 13 WCAG success criteria. Everything else in each category is a manual pass, and the full pattern tables for it live in reference/scanner-categories.md.

#CategoryCovered by the scriptManual pass
1Semantic Structure & Landmarks1.3.1, 3.1.1rest of the category
2Text Alternatives & Non-Text Content1.1.1rest of the category
3Keyboard & Focus2.1.1, 2.4.3, 2.4.7rest of the category
4Color, Contrast & Visual Cues1.4.3rest of the category
5Forms, Labels & Errors3.3.2rest of the category
6Media (Audio, Video, Embeds)1.2.1, 1.2.2, 1.4.2rest of the category
7ARIA, Live Regions & Dynamic Content4.1.2rest of the category
8Motion, Target Size, Mobile & EAA Docs2.5.8rest of the category

The script never covers a whole category. Treat its output as the floor, not the result: a run that reports only script findings has skipped most of WCAG 2.1 AA.

Output Format

markdown
## Accessibility Validation Report

### Summary
| Metric | Value |
|--------|-------|
| Standard | wcag-2.1-aa / wcag-2.2-aa / en-301-549 / eaa |
| Scope | full / keyboard / contrast / forms / media / aria / motion / mobile / docs |
| Framework detected | next / nuxt / astro / ... / react-native / flutter / static |
| Files scanned | N |
| Public routes scanned | N |
| Accessibility statement | found / not-found |
| Findings: HIGH | N |
| Findings: WARN | N |
| Findings: INFO | N |

### Findings

#### [HIGH] src/components/VideoPlayer.tsx:42
Category: Media
Confidence: definitive
Pattern: `<video>` without `<track kind="captions">`
WCAG: 1.2.2 (Captions — Prerecorded, Level AA)
EAA: Article 4 (product/service accessibility requirements)
Fix: Add `<track kind="captions" src="/captions/en.vtt" srclang="en" label="English" default>`. If captions are unavailable, provide a transcript link.
See: reference/wcag-2-1-aa.md#guideline-12-time-based-media

#### [HIGH] public/index.html:8
Category: Viewport & Zoom
Confidence: definitive
Pattern: `<meta name="viewport" content="..., user-scalable=no">`
WCAG: 1.4.4 (Resize Text, Level AA)
Fix: Remove `user-scalable=no` and `maximum-scale=1` from the viewport meta — users must be able to zoom to 200%.
See: reference/wcag-2-1-aa.md#144-resize-text

#### [HIGH] src/routes.tsx:15
Category: EAA Accessibility Documentation
Confidence: heuristic
Pattern: No `/accessibility` / `/accessibility-statement` route detected; footer contains no a11y link
Standard: EAA Article 14 (mandatory accessibility statement)
Fix: Publish an accessibility statement conforming to your member-state template. Link it from the footer of every public page. See reference/eaa-compliance.md for template structure.

Confidence values:

  • definitive — regex match against a known-bad pattern.
  • heuristic — co-occurrence, absence, ordering, or derived inference (target size from CSS, contrast from hardcoded colors, ATF detection).

Exit codes (when --output json):

  • 0 — no HIGH findings.
  • 1 — one or more HIGH findings.

Out of Scope (Static Analysis Cannot Detect)

The skill explicitly does NOT verify the following — pair with runtime tools:

  • Actual contrast ratios under runtime CSS cascade, theme switching, custom properties (use axe-core, Lighthouse, or manual tooling).
  • Zoom / reflow behavior at 200% / 400% (WCAG 1.4.10, 1.4.4) — requires rendering.
  • Screen reader announcement order and quality (NVDA, JAWS, VoiceOver, TalkBack).
  • Cognitive accessibility (WCAG 3.x is mostly process/content-driven, not pattern-matchable).
  • Actual keyboard trap behavior — requires interaction.
  • Pronunciation / lang switches at runtime.
  • Real-time caption accuracy.
  • Usability / comprehension — requires user studies.

For these, use: axe-core, pa11y, Lighthouse accessibility audit, manual assistive-tech testing, and user research with disabled participants.

Show full SKILL.md (548 more words)Show less

Rules

  • Read-only: Never modify any files.
  • Framework-aware: Detect framework first; apply correct pattern set.
  • Standards citation: Every HIGH/WARN finding cites a WCAG success criterion (e.g., "1.3.1") or EN 301 549 clause.
  • Skip non-source files: Binary files, lock files, vendored directories (node_modules/, vendor/, dist/, build/, .next/, .nuxt/, .svelte-kit/, ios/Pods/, android/build/, .dart_tool/).
  • No false confidence: Label heuristic findings clearly. Color contrast and target size are ALWAYS heuristic in static analysis.
  • EAA docs category is LEGAL risk: Missing accessibility statement when --standard eaa is selected is HIGH — this is a regulatory finding, not a code-quality suggestion.
  • No auto-fix: A11y fixes often require design/content decisions that exceed pattern matching.
  • Don't flag missing ARIA when native semantics suffice: Prefer native HTML elements; flag redundant ARIA, not absence when the native element is already there.

Gotchas

  • scripts/a11y-scanner.py exits 1 when it finds HIGH findings, which is success for this skill, not failure. A wrapper that treats non-zero as an error will report a clean scan on the codebase with the most problems.
  • The script covers 13 success criteria; reference/wcag-2-1-aa.md documents ~50. Reporting only script output looks like a full WCAG 2.1 AA pass and is not one — Step 3 is where most of the standard actually gets checked.
  • Colour contrast is computed from hardcoded hex values in source. A theme built on CSS custom properties, oklch(), or a design-token pipeline yields no matches at all, and "no contrast findings" then means "nothing was measurable", not "contrast is fine".
  • alt="" is correct for decorative images and wrong for meaningful ones. The scanner cannot see which is which — it flags missing alt, not useless alt, so a codebase that blanket-added alt="" scans clean while being less accessible than one that omitted the attribute.
  • React Native and Flutter have no DOM. Categories written around HTML elements (landmarks, heading order, lang) do not transfer; use reference/mobile-eaa.md instead of reporting the whole category as passing.
  • --standard eaa findings are legal risk with a June 2025 deadline, not code-quality suggestions. Downgrading a missing accessibility statement to WARN because it "isn't a code problem" misreports regulatory exposure.

When NOT to Use

  • To prove WCAG conformance for an audit or a VPAT — this is static analysis; conformance needs assistive-tech testing with disabled participants.
  • To check contrast in a themed or token-driven design system — run axe-core or Lighthouse against the rendered page instead.
  • For a runtime-only concern (focus traps, screen-reader announcement order, zoom reflow at 200%/400%) — see Out of Scope.
  • For the a11y subset that affects search ranking — use /seo-validate, category 9.
  • To fix what was found — this skill is read-only by contract; fixes usually need design and content decisions.

Reference Documents

  • reference/wcag-2-1-aa.md — All 50 Level A + AA success criteria with detection status (statically detectable vs runtime-only).
  • reference/wcag-2-2-aa.md — 9 new WCAG 2.2 success criteria (2.4.11, 2.4.12, 2.4.13, 2.5.7, 2.5.8, 3.2.6, 3.3.7, 3.3.8, 3.3.9) with failure patterns, grep patterns, and framework notes.
  • reference/eaa-compliance.md — EU Directive 2019/882 articles, EN 301 549 v3.2.1 mapping, 28 June 2025 timeline, member-state transposition deltas, accessibility-statement templates.
  • reference/aria-patterns.md — ARIA 1.2 Authoring Practices: landmarks, roles, states/properties, common anti-patterns, framework-specific helpers (@react-aria, @angular/cdk/a11y).
  • reference/mobile-eaa.md — EN 301 549 mobile chapter + React Native AccessibilityInfo / Flutter Semantics() patterns.
  • /seo-validate — SEO scanner; Category 9 covers a11y-for-SEO overlap only. For deep a11y compliance use /a11y-validate.
  • /cve-scan — dependency vulnerability scanner.
  • /hipaa-validate — HIPAA compliance scanner (similar pattern).

© softspark, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 7 other files (scripts) in app/skills/a11y-validate of softspark/ai-toolkit.

  • SKILL.md
  • reference/aria-patterns.md
  • reference/eaa-compliance.md
  • reference/mobile-eaa.md
  • reference/scanner-categories.md
  • reference/wcag-2-1-aa.md
  • reference/wcag-2-2-aa.md
  • scripts/a11y-scanner.py

Open the folder on GitHubat commit d64db2b

Compare with similar skills

A11y Validate next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

A11y Validate compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
A11y Validate this skillsoftspark/ai-toolkit179—~3.8kAutomated safety check: NotesApache-2.0
Web Interface Guidelines Reviewervercel-labs/openreview1.7k98 repos~308Automated safety check: PassNone
Accessibility Reviewmarkmead/hyperui12k1 repos~1.1kAutomated safety check: PassMIT
Web Animation DesignbaptisteArno/typebot.io11k2 repos~2.7kAutomated safety check: PassCustom licence
Accessibility Fixeribelick/ui-skills9.5k4 repos~1.2kAutomated safety check: PassMIT
Wcag Audit PatternsvmDeshpande/ai-agent-automation17811 repos~610Automated safety check: PassApache-2.0

Similar skills

  • Web Interface Guidelines Reviewer

    vercel-labs/openreview

    Official

    Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my…

    1.7k GitHub starsUsed in 98 repos~308 tokens
    Frontend & DesignAuto-check passed
  • Accessibility Review

    markmead/hyperui

    Run a WCAG 2.1 AA accessibility audit on a design or page. An agent skill from markmead/hyperui.

    12k GitHub starsUsed in 1 repo~1.1k tokens
    Frontend & DesignAuto-check passed
  • Web Animation Design

    baptisteArno/typebot.io

    Guides easing, timing and animation choices for UI motion, based on a web animation course, and reviews existing animations in a before-and-after table.

    11k GitHub starsUsed in 2 repos~2.7k tokens
    Frontend & DesignAuto-check passed
  • Accessibility Fixer

    ibelick/ui-skills

    Audits and fixes HTML accessibility problems such as ARIA labels, keyboard navigation, focus management, contrast and form errors with minimal changes.

    9.5k GitHub starsUsed in 4 repos~1.2k tokens
    Frontend & DesignAuto-check passed
  • Wcag Audit Patterns

    vmDeshpande/ai-agent-automation

    Conduct WCAG 2.2 accessibility audits with automated testing, manual verification, and remediation guidance.

    178 GitHub starsUsed in 11 repos~610 tokens
    Frontend & DesignAuto-check passed
  • Baseline UI

    ibelick/ui-skills

    Applies a fixed set of UI rules for stack, components, interaction, animation, typography and layout, or reviews a file against them with concrete fixes.

    9.5k GitHub starsUsed in 8 repos~855 tokens
    Frontend & DesignAuto-check passed

More from softspark/ai-toolkit

All 112 skills in this repo
  • Prepare Test Env

    softspark/ai-toolkit

    Prepare or verify a project QA environment with source identity, readiness, browser access, evidence paths and owned cleanup.

    179 GitHub stars~1.8k tokensUpdated 2 days ago
    Auto-check: notes
  • Analyze

    softspark/ai-toolkit

    Analyzes code quality, complexity, patterns across codebase.

    179 GitHub stars~1k tokensUpdated 2 days ago
    Auto-check passed
  • Autonomous Dev

    softspark/ai-toolkit

    Drives a brief, specification, issue or existing PR through implementation, review, tests and QA to a ready PR.

    179 GitHub stars~2.6k tokensUpdated 2 days ago
    Auto-check: notes
  • Brand Voice

    softspark/ai-toolkit

    Direct technical voice for docs, README, user-facing text. An agent skill from softspark/ai-toolkit.

    179 GitHub stars~2.1k tokensUpdated 2 days ago
    Auto-check passed
  • CI

    softspark/ai-toolkit

    Detect/generate/debug CI pipeline config (GitHub Actions, GitLab CI).

    179 GitHub stars~1.1k tokensUpdated 2 days ago
    Auto-check: notes
  • Commit

    softspark/ai-toolkit

    Creates Conventional Commits with pre-commit validation. An agent skill from softspark/ai-toolkit.

    179 GitHub stars~585 tokensUpdated 2 days ago
    Auto-check: notes

Questions about A11y Validate

What does A11y Validate do?

Accessibility validator: WCAG 2.1 AA, EN 301 549, EAA. An agent skill from softspark/ai-toolkit. A11y Validate is an agent skill from softspark/ai-toolkit.1 AA, EN 301 549, EAA.

When should I use A11y Validate?

A11y Validate fits situations like: tasks that involve Accessibility.

How do I install A11y Validate in Claude Code?

Run `npx skills add softspark/ai-toolkit --skill a11y-validate -a claude-code`. Or copy the skill folder (app/skills/a11y-validate in softspark/ai-toolkit) into .claude/skills/a11y-validate in your project. Claude Code loads it when a task matches its description.

How do I install A11y Validate in Codex?

Run `npx skills add softspark/ai-toolkit --skill a11y-validate -a codex`. Or copy the skill folder (app/skills/a11y-validate in softspark/ai-toolkit) into .agents/skills/a11y-validate in your project. Codex loads it when a task matches its description.

Can I use A11y Validate in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add softspark/ai-toolkit --skill a11y-validate -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/a11y-validate, .gemini/skills/a11y-validate, .github/skills/a11y-validate and .opencode/skills/a11y-validate in your project.

What does A11y Validate need to run?

Going by SKILL.md and its folder, A11y Validate needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Read, Grep, Glob, Bash.

Does A11y Validate access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is A11y Validate safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does A11y Validate use?

A11y Validate is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does A11y Validate use?

About 3.8k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to A11y Validate?

Skills that share tags, products or a category with A11y Validate: Web Interface Guidelines Reviewer (vercel-labs/openreview, 1.7k stars), Accessibility Review (markmead/hyperui, 12k stars), Web Animation Design (baptisteArno/typebot.io, 11k stars) and Accessibility Fixer (ibelick/ui-skills, 9.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains A11y Validate?

softspark (a GitHub user) maintains it in softspark/ai-toolkit, which has 179 GitHub stars. The repository holds 112 skills in this directory. The repository was last updated on October 7, 2026.

Source: softspark/ai-toolkit on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.