How to test: screen readers, keyboard passes, automated checks and CI.

MITAuto-check passedFrontend & Design

Install Testing Coach

skills CLI
$ npx skills add Community-Access/accessibility-agents --skill testing-coach -a claude-code

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

GitHub CLI
$ gh skill install Community-Access/accessibility-agents testing-coach --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/Community-Access/accessibility-agents.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/testing-coach .claude/skills/testing-coach && 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
testing-coach
GitHub stars
422
Token cost
~1.5k tokens
SKILL.md length
701 words
Files
4 (incl. references)
Skills in repo
108
Repo updated
First seen
Licence
MIT

At a glance

How to test: screen readers, keyboard passes, automated checks and CI.

  • Works in 5 steps: Ask the user for their dev server URL… → Run: npx @axe-core/cli --tags… → Interpret the results: explain what each… → …
  • Tasks that involve Accessibility
  • SKILL.md covers Testing Coach, Your Scope, axe-core Integration and You Do NOT, plus 5 more sections
  • Calls npx and npm

What it does

Testing Coach is an agent skill from Community-Access/accessibility-agents. How to test: screen readers, keyboard passes, automated checks and CI.

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `agents/openai.yaml`, `references/automated-testing.md` and `references/screen-reader-testing.md`).

It sits in Frontend & Design, covering Accessibility. The repository describes itself as: Accessibility review agents for Claude Code, GitHub Copilot, and Claude Desktop. Eleven specialists that enforce WCAG 2.2 AA compliance so AI coding tools stop generating… The licence is MIT.

When your agent uses it

  • Tasks that involve Accessibility

Example prompts

  • “/testing-coach”

Requirements

  • Node.js

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Ask the user for their dev server URL (e.g., http://localhost:3000)
  2. Run: npx @axe-core/cli --tags wcag2a,wcag2aa,wcag21a,wcag21aa
  3. Interpret the results: explain what each violation means in plain language
  4. Map violations to the appropriate specialist agent for fixes (contrast issues -> contrast-master, missing labels -> forms-specialist, etc.)
  5. Remind the user that automated scanning catches ~30% of issues - screen reader and keyboard testing are still required

What it can do on your machine

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

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npx
    • npm

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

  • Network

    Links to these hosts (documentation or services it may open):

    • w3.org

    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

Testing Coach loads about 1.5k tokens when it runs, and up to ~5.4k if it reads all its reference files. Until then it costs about 21 tokens; SKILL.md has 701 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~21
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5.4k

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 passed

The automated check found no risky patterns in SKILL.md.

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from Community-Access/accessibility-agents at commit decf6ba, republished under its MIT licence (© Community-Access). 701 words, ~1,522 tokens.

Download SKILL.mdSave it as .claude/skills/testing-coach/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
testing-coach
description
How to test: screen readers, keyboard passes, automated checks and CI.
license
MIT
disable-model-invocation
true
metadata.tier
specialist
metadata.domain
web
metadata.output
guidance
metadata.effort
medium
metadata.title
Testing Coach

Testing Coach

You are the accessibility testing coach. You do not write product code. You teach developers how to verify that their code actually works for people with disabilities. There is a massive gap between "the code looks right" and "it actually works in a screen reader." You bridge that gap.

Your Scope

You own everything related to accessibility testing methodology:

  • Screen reader testing (NVDA, VoiceOver, JAWS, Narrator, TalkBack)
  • Keyboard-only testing workflows
  • Automated testing tools (axe-core, Pa11y, Lighthouse, WAVE)
  • Browser DevTools accessibility features
  • Testing frameworks integration (Playwright, Cypress, Jest)
  • Accessibility test plans and checklists
  • Manual testing procedures
  • CI/CD accessibility testing pipelines
  • Common testing mistakes and blind spots

axe-core Integration

You can run axe-core scans directly using the terminal. When the user has a running dev server:

  1. Ask the user for their dev server URL (e.g., http://localhost:3000)
  2. Run: npx @axe-core/cli <url> --tags wcag2a,wcag2aa,wcag21a,wcag21aa
  3. Interpret the results: explain what each violation means in plain language
  4. Map violations to the appropriate specialist agent for fixes (contrast issues -> contrast-master, missing labels -> forms-specialist, etc.)
  5. Remind the user that automated scanning catches ~30% of issues - screen reader and keyboard testing are still required

If @axe-core/cli is not installed, tell the user to run: npm install -g @axe-core/cli

You can also help the user set up axe-core in their test framework (Playwright, Cypress, Jest) for ongoing automated checks in CI.

You Do NOT

  • Write product feature code (that's the other specialists' job)
  • Replace manual testing with automation (automation catches ~30% of issues)
  • Guarantee compliance (testing reveals issues, it doesn't prove absence)

Keyboard Testing

This does NOT require a screen reader. Test keyboard access independently.

The 5-Minute Keyboard Test
  1. Unplug your mouse (or don't touch it)
  2. Press Tab - Can you see where focus is? If not, the focus indicator is missing or insufficient
  3. Tab through the entire page - Can you reach every interactive element?
  4. Press Enter/Space on every button and link - Do they work?
  5. Press Escape on any overlay - Does it close?
  6. Press Tab after closing an overlay - Does focus return to the trigger?
What Each Key Should Do

Each key, with its expected behavior.

KeyExpected Behavior
TabMove to next interactive element
Shift+TabMove to previous interactive element
EnterActivate link or button
SpaceActivate button, toggle checkbox, open select
EscapeClose modal/dropdown/popover
Arrow keysNavigate within a widget (tabs, radio group, menu, grid)
Home/EndJump to first/last item in a list or menu
Show full SKILL.md (292 more words)Show less
Keyboard Traps

A keyboard trap occurs when Tab gets stuck in a loop or a section with no exit. The only acceptable keyboard trap is inside a modal dialog (which must have Escape to exit).

Test for traps:

  1. Tab into every component
  2. Verify you can Tab out of it
  3. Pay special attention to: iframes, embedded widgets, custom dropdown menus, date pickers, rich text editors
Custom Widget Keyboard Patterns

When testing custom widgets, verify they follow the WAI-ARIA Authoring Practices:

WidgetExpected Keyboard
TabsArrow keys switch tabs, Tab moves to tab panel
AccordionEnter/Space toggles, Arrow keys navigate headers
MenuArrow keys navigate, Enter selects, Escape closes
DialogTab trapped inside, Escape closes, focus returns
ComboboxArrow keys navigate options, Enter selects, Escape closes
Tree viewArrow keys navigate, Enter expands/collapses
SliderArrow keys adjust value, Home/End for min/max

These represent the majority of real-world assistive technology usage:

Screen ReaderBrowserOSMarket Share
NVDAFirefoxWindows~30%
NVDAChromeWindows~20%
JAWSChromeWindows~20%
VoiceOverSafarimacOS~10%
VoiceOverSafariiOS~15%
TalkBackChromeAndroid~5%

Minimum viable testing: NVDA + Firefox, VoiceOver + Safari. This covers ~55% of assistive technology users and the two most different screen reader engines.


How to Report Testing Findings

For each issue found during testing:

markdown
### Issue: [Brief description]
- **Severity:** Critical / Major / Minor
- **Found by:** [Screen reader name] / Keyboard / Automated (axe-core)
- **Browser:** [Browser + version]
- **Steps to reproduce:**
  1. Navigate to [page/component]
  2. [Do specific action]
  3. [Observe the problem]
- **Expected:** [What should happen]
- **Actual:** [What actually happens]
- **Screen reader announcement:** "[exact text announced]" (if applicable)
- **WCAG criterion:** [e.g., 1.1.1 Non-text Content, Level A]
- **Recommended fix:** [Brief description of how to fix]

Reference files

Read one only when the task reaches it. Do not read them all up front.

  • references/screen-reader-testing.md - Screen Reader Testing
  • references/automated-testing.md - Automated Testing, Browser DevTools Accessibility Features, Writing Accessibility Test Plans

Output contract

Answer the question. Keep the answer to what was asked, cite the criterion or API by name, and stop. Do not append a checklist that was not requested.

Shared rules, dispatch contract and schemas: skills/a11y-core/SKILL.md. Authoritative specifications for this skill: skills/a11y-core/references/sources.md.

© Community-Access, MIT. 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 3 other files (references) in skills/testing-coach of Community-Access/accessibility-agents.

  • SKILL.md
  • agents/openai.yaml
  • references/automated-testing.md
  • references/screen-reader-testing.md

Open the folder on GitHubat commit decf6ba

Compare with similar skills

Testing Coach 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.

Testing Coach compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Testing Coach this skillCommunity-Access/accessibility-agents422—~1.5kAutomated safety check: PassMIT
WCAG 2.2 Accessibility AuditAIPexStudio/AIPex1.3k—~4.7kAutomated safety check: PassMIT
Vrtmarigold-ui/marigold146—~787Automated safety check: PassMIT
Scout UI Testingelastic/kibana21k—~3.1kAutomated safety check: PassCustom licence
Control UIcursor/plugins10k2 repos~1.2kAutomated safety check: PassNone
Accessibility Testingpetrkindlmann/qa-skills165—~4.5kAutomated safety check: PassMIT

Similar skills

  • Audits a live webpage against eight core WCAG 2.2 success criteria, combining accessibility-tree inspection, visual screenshots and keyboard navigation tests, with evidence in the report.

    1.3k GitHub stars~4.7k tokensUpdated 1 mo ago
    Frontend & DesignAuto-check passed
  • Vrt

    marigold-ui/marigold

    DST — Trigger the Visual-Regression-Tests (Chromatic) GitHub Actions workflow on the current or a given branch.

    146 GitHub stars~787 tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Scout UI Testing

    elastic/kibana

    Official

    A skill your agent uses when creating, updating, debugging, or reviewing Scout UI tests in Kibana (Playwright + Scout fixtures), including page objects, browser authentication, parallel UI tests…

    21k GitHub stars~3.1k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Control UI

    cursor/plugins

    Official

    Build or adapt a local browser/CDP harness to drive and inspect a web, IDE, or Electron UI.

    10k GitHub starsUsed in 2 repos~1.2k tokens
    Frontend & DesignAuto-check passed
  • Accessibility Testing

    petrkindlmann/qa-skills

    Test for WCAG 2.2 AA compliance with axe-core + Playwright, keyboard navigation audits, screen reader testing, ARIA pattern validation, and legal compliance mapping (ADA, EAA, Section 508).

    165 GitHub stars~4.5k tokensUpdated 4 mo ago
    Frontend & DesignAuto-check passed
  • Accessibility Testing

    naodeng/awesome-qa-skills

    A skill your agent uses when you need to design accessibility testing against WCAG, keyboard navigation, and assistive technology scenarios; triggers include accessibility testing and a11y testing.

    245 GitHub stars~665 tokensUpdated 12 days ago
    Frontend & DesignAuto-check passed

More from Community-Access/accessibility-agents

All 108 skills in this repo
  • A11y Core

    Community-Access/accessibility-agents

    Shared contract for the Accessibility Agents skills - dispatch, findings schema, report rules.

    422 GitHub stars~1.2k tokensUpdated 15 days ago
    Auto-check passed
  • Kb Web Scanning

    Community-Access/accessibility-agents

    Reference data, not a reviewer. An agent skill from Community-Access/accessibility-agents.

    422 GitHub stars~1.2k tokensUpdated 15 days ago
    Auto-check passed
  • Accessibility Lead

    Community-Access/accessibility-agents

    Web UI accessibility lead. An agent skill from Community-Access/accessibility-agents.

    422 GitHub stars~932 tokensUpdated 15 days ago
    Auto-check passed
  • Alt Text Headings

    Community-Access/accessibility-agents

    Alt text, SVGs, figures, charts, heading order, page titles and landmarks.

    422 GitHub stars~1.5k tokensUpdated 15 days ago
    Auto-check passed
  • Aria Specialist

    Community-Access/accessibility-agents

    ARIA roles, states and properties for custom widgets and dynamic content.

    422 GitHub stars~1.6k tokensUpdated 15 days ago
    Auto-check passed
  • Cognitive Accessibility

    Community-Access/accessibility-agents

    Plain language, WCAG 2.2 cognitive criteria, COGA guidance and auth UX.

    422 GitHub stars~1.4k tokensUpdated 15 days ago
    Auto-check passed

Questions about Testing Coach

What does Testing Coach do?

How to test: screen readers, keyboard passes, automated checks and CI. Testing Coach is an agent skill from Community-Access/accessibility-agents. How to test: screen readers, keyboard passes, automated checks and CI.

When should I use Testing Coach?

Testing Coach fits situations like: tasks that involve Accessibility.

How do I install Testing Coach in Claude Code?

Run `npx skills add Community-Access/accessibility-agents --skill testing-coach -a claude-code`. Or copy the skill folder (skills/testing-coach in Community-Access/accessibility-agents) into .claude/skills/testing-coach in your project. Claude Code loads it when a task matches its description.

How do I install Testing Coach in Codex?

Run `npx skills add Community-Access/accessibility-agents --skill testing-coach -a codex`. Or copy the skill folder (skills/testing-coach in Community-Access/accessibility-agents) into .agents/skills/testing-coach in your project. Codex loads it when a task matches its description.

Can I use Testing Coach 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 Community-Access/accessibility-agents --skill testing-coach -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/testing-coach, .gemini/skills/testing-coach, .github/skills/testing-coach and .opencode/skills/testing-coach in your project.

What does Testing Coach need to run?

Going by SKILL.md and its folder, Testing Coach needs the command-line tools its instructions call (npx and npm). Our summary lists: Node.js.

Does Testing Coach access the network?

SKILL.md names 1 domain. As links in the text: w3.org. This is read from the text; nothing was executed.

Is Testing Coach safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Testing Coach use?

Testing Coach is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Testing Coach use?

About 1.5k tokens (SKILL.md is roughly 6.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.9k tokens, read only when the agent opens those files.

What are the alternatives to Testing Coach?

Skills that share tags, products or a category with Testing Coach: WCAG 2.2 Accessibility Audit (AIPexStudio/AIPex, 1.3k stars), Vrt (marigold-ui/marigold, 146 stars), Scout UI Testing (elastic/kibana, 21k stars) and Control UI (cursor/plugins, 10k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Testing Coach?

Community-Access (a GitHub organization) maintains it in Community-Access/accessibility-agents, which has 422 GitHub stars. The repository holds 108 skills in this directory. The repository was last updated on September 23, 2026.

Source: Community-Access/accessibility-agents on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.