a11y-devkit-deploy 0.6.3 → 0.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -21,6 +21,42 @@ a11y-devkit-deploy
21
21
  - `--local` / `--global`: Skip the scope prompt.
22
22
  - `--yes`: Use defaults (local scope, all IDEs, install skills).
23
23
 
24
+ ## After Installation
25
+
26
+ Once installation completes, you'll find a comprehensive usage guide in your IDE's skills directory:
27
+
28
+ - **Local install**: `.claude/skills/README.md` (or `.cursor/skills/`, `.codex/skills/` depending on your IDE)
29
+ - **Global install**: `~/.claude/skills/README.md` (or your IDE's global skills directory)
30
+
31
+ ### What's in the Guide
32
+
33
+ The bundled README includes:
34
+ - **70+ example prompts** organized by complexity level (beginner to advanced)
35
+ - **Quick reference cheat sheet** for common tasks
36
+ - **Skill descriptions** explaining when to use each of the 7 skills
37
+ - **MCP server guides** with verification steps and example queries
38
+ - **Combined workflows** showing how to use skills and MCP servers together
39
+ - **Complete audit examples** using the orchestrator for end-to-end accessibility testing
40
+
41
+ ### Preview the Guide
42
+
43
+ You can preview the guide here: [templates/skills-README.md](templates/skills-README.md)
44
+
45
+ ### Next Steps
46
+
47
+ 1. Open the README in your IDE's skills directory
48
+ 2. Try the "Getting Started" prompts to verify everything is working
49
+ 3. Explore the example prompts library to find workflows that match your needs
50
+ 4. Use the MCP verification section to test all 5 MCP servers
51
+
52
+ ### MCP Servers
53
+
54
+ All MCP servers are configured to run via `npx`, which means:
55
+ - No local installation or cloning required
56
+ - Automatically fetches the latest version when needed
57
+ - No disk space used for local copies
58
+ - Just restart your IDE and the servers will be available
59
+
24
60
  ## What It Does
25
61
 
26
62
  This CLI automates the setup of accessibility tooling by:
package/config/a11y.json CHANGED
@@ -15,6 +15,12 @@
15
15
  "vscode": ".github/skills",
16
16
  "local": ".github/skills"
17
17
  },
18
+ "ideMcpPaths": {
19
+ "claude": ".claude/mcp.json",
20
+ "cursor": ".cursor/mcp.json",
21
+ "codex": ".codex/mcp.json",
22
+ "vscode": ".github/mcp.json"
23
+ },
18
24
  "mcpServers": [
19
25
  {
20
26
  "name": "wcag",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "a11y-devkit-deploy",
3
- "version": "0.6.3",
3
+ "version": "0.6.5",
4
4
  "description": "CLI to deploy a11y skills and MCP servers across IDEs",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -12,6 +12,7 @@
12
12
  "bin",
13
13
  "src",
14
14
  "config",
15
+ "templates",
15
16
  "README.md"
16
17
  ],
17
18
  "keywords": [
package/src/cli.js CHANGED
@@ -61,7 +61,7 @@ async function run() {
61
61
  const platformInfo = getPlatform();
62
62
  const config = await loadConfig();
63
63
  const pkg = await loadPackageJson();
64
- const idePaths = getIdePaths(projectRoot, platformInfo, config.ideSkillsPaths);
64
+ const idePaths = getIdePaths(projectRoot, platformInfo, config.ideSkillsPaths, config.ideMcpPaths);
65
65
  const args = parseArgs(process.argv);
66
66
 
67
67
  header(`A11y Devkit Deploy v${pkg.version}`, "Install skills + MCP servers across IDEs");
@@ -113,12 +113,12 @@ async function run() {
113
113
  {
114
114
  title: `Local to this project (${formatPath(projectRoot)})`,
115
115
  value: "local",
116
- description: "Write to .claude/mcp.json, .cursor/mcp.json, etc. (version-controllable)"
116
+ description: "Write to project-level IDE config folders (version-controllable)"
117
117
  },
118
118
  {
119
119
  title: "Global for this user",
120
120
  value: "global",
121
- description: "Write to ~/Library/Application Support/{IDE}/mcp.json"
121
+ description: "Write to user-level IDE config folders"
122
122
  }
123
123
  ],
124
124
  initial: 0
@@ -212,7 +212,17 @@ async function run() {
212
212
  success("All done. Your skills and MCP servers are ready.");
213
213
  info("Skills installed from npm packages.");
214
214
  info("MCP servers use npx - no local installation needed!");
215
+ console.log("");
216
+ success("Next Steps:");
217
+ const skillsPath = scope === "local"
218
+ ? `.claude/skills/README.md (or your IDE's equivalent)`
219
+ : `~/.claude/skills/README.md (or your IDE's global skills directory)`;
220
+ info(`📖 Check ${skillsPath} for comprehensive usage guide`);
221
+ info("✨ Includes 70+ example prompts for all skills and MCP servers");
222
+ info("🚀 Start with the 'Getting Started' section for your first accessibility check");
223
+ console.log("");
215
224
  info("You can re-run this CLI any time to update skills and configs.");
225
+ info("Documentation: https://github.com/joe-watkins/a11y-devkit#readme");
216
226
  }
217
227
 
218
228
  export {
@@ -1,6 +1,10 @@
1
1
  import fs from "fs/promises";
2
2
  import path from "path";
3
3
  import { spawn } from "child_process";
4
+ import { fileURLToPath } from "url";
5
+
6
+ const __filename = fileURLToPath(import.meta.url);
7
+ const __dirname = path.dirname(__filename);
4
8
 
5
9
  async function pathExists(target) {
6
10
  try {
@@ -96,6 +100,13 @@ async function installSkillsFromNpm(skills, targetDirs, tempDir) {
96
100
  installedCount++;
97
101
  }
98
102
  }
103
+
104
+ // Copy the comprehensive README template to the skills directory
105
+ const readmeTemplatePath = path.join(__dirname, "..", "templates", "skills-README.md");
106
+ const targetReadmePath = path.join(targetDir, "README.md");
107
+ if (await pathExists(readmeTemplatePath)) {
108
+ await fs.copyFile(readmeTemplatePath, targetReadmePath);
109
+ }
99
110
  }
100
111
 
101
112
  return {
package/src/paths.js CHANGED
@@ -30,7 +30,7 @@ function getAppSupportDir(platformInfo = getPlatform()) {
30
30
  return process.env.XDG_CONFIG_HOME || path.join(os.homedir(), ".config");
31
31
  }
32
32
 
33
- function getIdePaths(projectRoot, platformInfo = getPlatform(), ideSkillsPaths = null) {
33
+ function getIdePaths(projectRoot, platformInfo = getPlatform(), ideSkillsPaths = null, ideMcpPaths = null) {
34
34
  const appSupport = getAppSupportDir(platformInfo);
35
35
  const home = os.homedir();
36
36
 
@@ -43,11 +43,18 @@ function getIdePaths(projectRoot, platformInfo = getPlatform(), ideSkillsPaths =
43
43
  local: ".github/skills"
44
44
  };
45
45
 
46
+ const mcpPaths = ideMcpPaths || {
47
+ claude: ".claude/mcp.json",
48
+ cursor: ".cursor/mcp.json",
49
+ codex: ".codex/mcp.json",
50
+ vscode: ".vscode/mcp.json"
51
+ };
52
+
46
53
  return {
47
54
  claude: {
48
55
  name: "Claude Code",
49
56
  mcpConfig: path.join(appSupport, "Claude", "mcp.json"),
50
- localMcpConfig: path.join(projectRoot, ".claude", "mcp.json"),
57
+ localMcpConfig: path.join(projectRoot, mcpPaths.claude),
51
58
  mcpServerKey: "servers",
52
59
  skillsDir: path.join(home, skillsPaths.claude),
53
60
  localSkillsDir: path.join(projectRoot, skillsPaths.claude)
@@ -55,7 +62,7 @@ function getIdePaths(projectRoot, platformInfo = getPlatform(), ideSkillsPaths =
55
62
  cursor: {
56
63
  name: "Cursor",
57
64
  mcpConfig: path.join(appSupport, "Cursor", "mcp.json"),
58
- localMcpConfig: path.join(projectRoot, ".cursor", "mcp.json"),
65
+ localMcpConfig: path.join(projectRoot, mcpPaths.cursor),
59
66
  mcpServerKey: "mcpServers",
60
67
  skillsDir: path.join(home, skillsPaths.cursor),
61
68
  localSkillsDir: path.join(projectRoot, skillsPaths.cursor)
@@ -63,7 +70,7 @@ function getIdePaths(projectRoot, platformInfo = getPlatform(), ideSkillsPaths =
63
70
  codex: {
64
71
  name: "Codex",
65
72
  mcpConfig: path.join(home, ".codex", "mcp.json"),
66
- localMcpConfig: path.join(projectRoot, ".codex", "mcp.json"),
73
+ localMcpConfig: path.join(projectRoot, mcpPaths.codex),
67
74
  mcpServerKey: "servers",
68
75
  skillsDir: path.join(home, skillsPaths.codex),
69
76
  localSkillsDir: path.join(projectRoot, skillsPaths.codex)
@@ -71,7 +78,7 @@ function getIdePaths(projectRoot, platformInfo = getPlatform(), ideSkillsPaths =
71
78
  vscode: {
72
79
  name: "VSCode",
73
80
  mcpConfig: path.join(appSupport, "Code", "User", "mcp.json"),
74
- localMcpConfig: path.join(projectRoot, ".vscode", "mcp.json"),
81
+ localMcpConfig: path.join(projectRoot, mcpPaths.vscode),
75
82
  mcpServerKey: "servers",
76
83
  skillsDir: path.join(home, skillsPaths.vscode),
77
84
  localSkillsDir: path.join(projectRoot, skillsPaths.vscode)
@@ -0,0 +1,644 @@
1
+ # A11y DevKit - Skills & MCP Guide
2
+
3
+ Welcome to your comprehensive accessibility testing and remediation toolkit! You now have access to 7 specialized skills and 5 knowledge-rich MCP servers designed to help you build, test, and maintain accessible web applications.
4
+
5
+ ## What Was Installed
6
+
7
+ ### 7 Accessibility Skills
8
+ Your AI assistant can now leverage these specialized capabilities:
9
+ - **a11y-base-web** - Core accessibility patterns and foundational web code
10
+ - **a11y-issue-writer** - Document accessibility violations in standardized formats
11
+ - **a11y-tester** - Automated testing with axe-core and Playwright
12
+ - **a11y-remediator** - Fix accessibility issues in your codebase
13
+ - **a11y-validator** - Validate WCAG compliance and best practices
14
+ - **web-standards** - Reference web standards and specifications
15
+ - **a11y-audit-fix-agent-orchestrator** - Coordinate full accessibility audits
16
+
17
+ ### 5 MCP Knowledge Servers
18
+ These servers provide instant access to accessibility guidelines and specifications:
19
+ - **wcag** - WCAG 2.2 guidelines, success criteria, and techniques
20
+ - **aria** - WAI-ARIA roles, states, properties, and patterns
21
+ - **magentaa11y** - Component accessibility acceptance criteria
22
+ - **a11y-personas** - User personas representing diverse accessibility needs
23
+ - **arc-issues** - Pre-formatted AxeCore violation issue templates
24
+
25
+ ## Quick Start
26
+
27
+ ### Verify Your Installation
28
+
29
+ Check if everything is working:
30
+
31
+ ```
32
+ Can you verify all accessibility skills and MCP servers are available?
33
+ ```
34
+
35
+ ### Your First Accessibility Check
36
+
37
+ Try this simple example to get started:
38
+
39
+ ```
40
+ Using the a11y-tester skill, scan the homepage at https://example.com for accessibility issues and summarize the findings.
41
+ ```
42
+
43
+ ### Understanding the Workflow
44
+
45
+ 1. **Test** - Use a11y-tester to identify issues
46
+ 2. **Research** - Query MCP servers (wcag, aria, magentaa11y) for guidance
47
+ 3. **Fix** - Use a11y-remediator to implement solutions
48
+ 4. **Document** - Use a11y-issue-writer to create issue reports
49
+ 5. **Validate** - Use a11y-validator to confirm compliance
50
+ 6. **Orchestrate** - Use the orchestrator for comprehensive audits
51
+
52
+ ## Understanding the Tools
53
+
54
+ ### Skills (The Doers)
55
+
56
+ | Skill | Purpose | When to Use |
57
+ |-------|---------|-------------|
58
+ | **a11y-base-web** | Foundational accessibility code patterns | Building new components with accessibility built-in |
59
+ | **a11y-issue-writer** | Create standardized accessibility reports | Documenting violations for teams or issue trackers |
60
+ | **a11y-tester** | Run automated accessibility scans | Testing pages or components for WCAG violations |
61
+ | **a11y-remediator** | Fix accessibility issues in code | Implementing solutions for identified problems |
62
+ | **a11y-validator** | Validate WCAG compliance | Verifying fixes meet accessibility standards |
63
+ | **web-standards** | Reference web specifications | Understanding semantic HTML and best practices |
64
+ | **a11y-audit-fix-agent-orchestrator** | Coordinate end-to-end audits | Running comprehensive accessibility assessments |
65
+
66
+ ### MCP Servers (The Knowledge Base)
67
+
68
+ | Server | Provides | Example Query |
69
+ |--------|----------|---------------|
70
+ | **wcag** | WCAG 2.2 guidelines and success criteria | "What are the requirements for WCAG 2.2 Level AA color contrast?" |
71
+ | **aria** | WAI-ARIA specification details | "What attributes are required for the dialog role?" |
72
+ | **magentaa11y** | Component acceptance criteria | "What are the accessibility requirements for a dropdown menu?" |
73
+ | **a11y-personas** | User scenarios and needs | "Show me personas who rely on keyboard navigation" |
74
+ | **arc-issues** | Formatted AxeCore violation templates | "Format this color contrast violation as a GitHub issue" |
75
+
76
+ ## Example Prompts Library
77
+
78
+ ### Getting Started (Beginner)
79
+
80
+ #### 1. Simple Page Scan
81
+ ```
82
+ Use a11y-tester to scan https://mywebsite.com and list the top 5 most critical accessibility issues.
83
+ ```
84
+ **Uses**: a11y-tester skill
85
+ **Outcome**: Quick overview of major violations
86
+
87
+ #### 2. Check WCAG Requirements
88
+ ```
89
+ Query the wcag MCP server: What are the Level AA requirements for keyboard accessibility?
90
+ ```
91
+ **Uses**: wcag MCP server
92
+ **Outcome**: Specific WCAG 2.2 success criteria and techniques
93
+
94
+ #### 3. Fix a Specific Issue
95
+ ```
96
+ Using a11y-remediator, fix the missing alt text on images in src/components/Gallery.tsx
97
+ ```
98
+ **Uses**: a11y-remediator skill
99
+ **Outcome**: Code updated with proper alt attributes
100
+
101
+ #### 4. Understand ARIA Roles
102
+ ```
103
+ Ask the aria MCP server: What's the difference between role="button" and a native button element?
104
+ ```
105
+ **Uses**: aria MCP server
106
+ **Outcome**: Explanation of semantic differences and best practices
107
+
108
+ #### 5. Document an Issue
109
+ ```
110
+ Use a11y-issue-writer to create a GitHub issue for the form label violations found in our checkout page.
111
+ ```
112
+ **Uses**: a11y-issue-writer skill
113
+ **Outcome**: Formatted issue ready to post
114
+
115
+ #### 6. Validate a Component
116
+ ```
117
+ Use a11y-validator to check if the modal dialog in src/Modal.tsx meets WCAG 2.2 Level AA standards.
118
+ ```
119
+ **Uses**: a11y-validator skill
120
+ **Outcome**: Compliance report with pass/fail status
121
+
122
+ #### 7. Learn Component Patterns
123
+ ```
124
+ Query magentaa11y MCP: What are the acceptance criteria for an accessible tabs component?
125
+ ```
126
+ **Uses**: magentaa11y MCP server
127
+ **Outcome**: Comprehensive accessibility requirements checklist
128
+
129
+ ---
130
+
131
+ ### Skills-Based Workflows (Intermediate)
132
+
133
+ #### a11y-base-web Skill
134
+
135
+ **1. Build an Accessible Form**
136
+ ```
137
+ Using a11y-base-web, create a contact form component with proper labels, error messages, and ARIA attributes.
138
+ ```
139
+ **Outcome**: Form component with accessibility best practices built-in
140
+
141
+ **2. Implement Skip Links**
142
+ ```
143
+ Use a11y-base-web to add skip navigation links to our main layout component in src/Layout.tsx
144
+ ```
145
+ **Outcome**: Skip links added with proper focus management
146
+
147
+ **3. Create Accessible Tables**
148
+ ```
149
+ With a11y-base-web, refactor the data table in src/DataGrid.tsx to use proper table semantics and ARIA where needed.
150
+ ```
151
+ **Outcome**: Table with proper headers, scope, and ARIA attributes
152
+
153
+ #### a11y-issue-writer Skill
154
+
155
+ **1. Generate Batch Issue Reports**
156
+ ```
157
+ Use a11y-issue-writer to create separate GitHub issues for each unique violation type found in our latest accessibility scan.
158
+ ```
159
+ **Outcome**: Multiple formatted issues ready for tracking
160
+
161
+ **2. Document Color Contrast Failures**
162
+ ```
163
+ With a11y-issue-writer, create a detailed report of all color contrast violations on our marketing pages, including screenshots and WCAG references.
164
+ ```
165
+ **Outcome**: Comprehensive report with remediation guidance
166
+
167
+ **3. Create Sprint Planning Documentation**
168
+ ```
169
+ Use a11y-issue-writer to generate a prioritized list of accessibility fixes for our next sprint, organized by WCAG level and impact.
170
+ ```
171
+ **Outcome**: Prioritized backlog items for team planning
172
+
173
+ #### a11y-tester Skill
174
+
175
+ **1. Test Component Library**
176
+ ```
177
+ Use a11y-tester to scan all components in our Storybook at http://localhost:6006 and generate a summary report.
178
+ ```
179
+ **Outcome**: Component-by-component accessibility assessment
180
+
181
+ **2. Regression Testing**
182
+ ```
183
+ With a11y-tester, scan our production site and compare results to the baseline from last week to identify new violations.
184
+ ```
185
+ **Outcome**: Diff report showing newly introduced issues
186
+
187
+ **3. Test User Flows**
188
+ ```
189
+ Use a11y-tester to test the complete checkout flow from cart to confirmation, checking each step for accessibility issues.
190
+ ```
191
+ **Outcome**: Multi-page accessibility audit of critical path
192
+
193
+ #### a11y-remediator Skill
194
+
195
+ **1. Fix Form Validation**
196
+ ```
197
+ Using a11y-remediator, update our form validation in src/forms/ to provide accessible error messages with proper ARIA attributes.
198
+ ```
199
+ **Outcome**: Forms with screen reader-friendly error handling
200
+
201
+ **2. Remediate Focus Management**
202
+ ```
203
+ Use a11y-remediator to fix focus issues in our modal dialogs, ensuring focus is trapped and returned properly.
204
+ ```
205
+ **Outcome**: Modals with proper keyboard trap and focus restoration
206
+
207
+ **3. Update Images for Accessibility**
208
+ ```
209
+ With a11y-remediator, audit and fix all images in src/components/ to have appropriate alt text or aria-hidden.
210
+ ```
211
+ **Outcome**: Images properly labeled or marked as decorative
212
+
213
+ #### a11y-validator Skill
214
+
215
+ **1. Pre-deployment Validation**
216
+ ```
217
+ Use a11y-validator to verify our staging environment at https://staging.mysite.com meets WCAG 2.2 Level AA before we deploy to production.
218
+ ```
219
+ **Outcome**: Go/no-go compliance report
220
+
221
+ **2. Component Certification**
222
+ ```
223
+ With a11y-validator, check if our new autocomplete component meets all WCAG success criteria and ARIA authoring practices.
224
+ ```
225
+ **Outcome**: Detailed compliance checklist for component
226
+
227
+ **3. Validate Fixes**
228
+ ```
229
+ Use a11y-validator to confirm that the color contrast issues we fixed in PR #123 now meet WCAG requirements.
230
+ ```
231
+ **Outcome**: Verification that remediation was successful
232
+
233
+ #### web-standards Skill
234
+
235
+ **1. Semantic HTML Review**
236
+ ```
237
+ Using web-standards, review src/pages/About.tsx and suggest improvements for proper semantic HTML structure.
238
+ ```
239
+ **Outcome**: Recommendations for header hierarchy, landmarks, etc.
240
+
241
+ **2. Best Practices Audit**
242
+ ```
243
+ With web-standards, analyze our navigation component and suggest improvements based on HTML5 and ARIA best practices.
244
+ ```
245
+ **Outcome**: Specific recommendations with standards references
246
+
247
+ **3. Progressive Enhancement Check**
248
+ ```
249
+ Use web-standards to evaluate if our interactive components work without JavaScript and follow progressive enhancement principles.
250
+ ```
251
+ **Outcome**: Assessment of baseline functionality and enhancement layers
252
+
253
+ #### a11y-audit-fix-agent-orchestrator Skill
254
+
255
+ **1. Full Site Audit**
256
+ ```
257
+ Using a11y-audit-fix-agent-orchestrator, perform a complete accessibility audit of https://mysite.com and create a remediation plan.
258
+ ```
259
+ **Outcome**: Comprehensive audit report with prioritized fix recommendations
260
+
261
+ **2. Automated Fix Pipeline**
262
+ ```
263
+ With a11y-audit-fix-agent-orchestrator, scan our codebase, identify issues, attempt automated fixes, and report what requires manual intervention.
264
+ ```
265
+ **Outcome**: Batch of automated fixes plus list of manual tasks
266
+
267
+ **3. Continuous Monitoring Setup**
268
+ ```
269
+ Use a11y-audit-fix-agent-orchestrator to set up a weekly accessibility audit workflow that tests, reports, and suggests fixes.
270
+ ```
271
+ **Outcome**: Automated monitoring configuration
272
+
273
+ ---
274
+
275
+ ### MCP-Enhanced Workflows (Intermediate)
276
+
277
+ #### wcag MCP Server
278
+
279
+ **1. Research Success Criteria**
280
+ ```
281
+ Query wcag MCP: What are all Level AA success criteria related to keyboard accessibility in WCAG 2.2?
282
+ ```
283
+ **Outcome**: Complete list of relevant success criteria with descriptions
284
+
285
+ **2. Understand Techniques**
286
+ ```
287
+ Ask wcag MCP: What techniques can I use to meet success criterion 1.4.3 Contrast (Minimum)?
288
+ ```
289
+ **Outcome**: List of sufficient techniques and advisory techniques
290
+
291
+ **3. Compare WCAG Versions**
292
+ ```
293
+ Query wcag MCP: What new success criteria were added in WCAG 2.2 compared to 2.1?
294
+ ```
295
+ **Outcome**: Changelog of new requirements
296
+
297
+ #### aria MCP Server
298
+
299
+ **1. Role Requirements**
300
+ ```
301
+ Ask aria MCP: What states and properties are required vs. supported for the combobox role?
302
+ ```
303
+ **Outcome**: Complete list of required and optional ARIA attributes
304
+
305
+ **2. Pattern Implementation**
306
+ ```
307
+ Query aria MCP: Show me the keyboard interaction pattern for an accordion widget.
308
+ ```
309
+ **Outcome**: Detailed keyboard navigation requirements
310
+
311
+ **3. Attribute Values**
312
+ ```
313
+ Ask aria MCP: What are the valid values for aria-live and when should I use each?
314
+ ```
315
+ **Outcome**: Explanation of polite, assertive, and off values with use cases
316
+
317
+ #### magentaa11y MCP Server
318
+
319
+ **1. Component Acceptance Criteria**
320
+ ```
321
+ Query magentaa11y MCP: What are the accessibility acceptance criteria for a date picker component?
322
+ ```
323
+ **Outcome**: Comprehensive checklist of requirements
324
+
325
+ **2. Testing Scenarios**
326
+ ```
327
+ Ask magentaa11y MCP: What should I test when validating an accessible navigation menu?
328
+ ```
329
+ **Outcome**: List of test scenarios and expected behaviors
330
+
331
+ **3. Implementation Guidance**
332
+ ```
333
+ Query magentaa11y MCP: What are the developer notes for implementing an accessible tooltip?
334
+ ```
335
+ **Outcome**: Code examples and implementation guidance
336
+
337
+ #### a11y-personas MCP Server
338
+
339
+ **1. Understand User Needs**
340
+ ```
341
+ Query a11y-personas MCP: Show me personas who use screen readers and their primary challenges.
342
+ ```
343
+ **Outcome**: Detailed persona profiles with assistive tech usage
344
+
345
+ **2. Test Perspective**
346
+ ```
347
+ Ask a11y-personas MCP: What would a user with motor disabilities experience when using our navigation?
348
+ ```
349
+ **Outcome**: User scenario highlighting potential issues
350
+
351
+ **3. Design Validation**
352
+ ```
353
+ Query a11y-personas MCP: Which personas would be affected by small click targets and how?
354
+ ```
355
+ **Outcome**: Impact analysis across different disability types
356
+
357
+ #### arc-issues MCP Server
358
+
359
+ **1. Format Violations**
360
+ ```
361
+ Query arc-issues MCP: Format this AxeCore color-contrast violation as a GitHub issue with all details.
362
+ ```
363
+ **Outcome**: Ready-to-post issue with title, description, and remediation steps
364
+
365
+ **2. Batch Issue Creation**
366
+ ```
367
+ Ask arc-issues MCP: Convert these 5 AxeCore violations into separate Jira tickets with appropriate labels.
368
+ ```
369
+ **Outcome**: Multiple formatted tickets for issue tracking
370
+
371
+ **3. Standardized Reporting**
372
+ ```
373
+ Query arc-issues MCP: Create a markdown report from this AxeCore scan result that I can add to our PR.
374
+ ```
375
+ **Outcome**: Formatted report suitable for version control
376
+
377
+ ---
378
+
379
+ ### Combined Workflows (Advanced)
380
+
381
+ #### 1. Research-Driven Remediation
382
+ ```
383
+ First, query wcag MCP for the requirements of success criterion 4.1.2. Then use a11y-remediator to fix the name/role/value issues in src/components/CustomButton.tsx based on those requirements.
384
+ ```
385
+ **Uses**: wcag MCP + a11y-remediator
386
+ **Outcome**: Standards-compliant fix with proper justification
387
+
388
+ #### 2. Persona-Based Testing
389
+ ```
390
+ Query a11y-personas MCP to understand keyboard-only users' needs, then use a11y-tester to specifically test keyboard navigation on our dashboard, documenting findings with a11y-issue-writer.
391
+ ```
392
+ **Uses**: a11y-personas MCP + a11y-tester + a11y-issue-writer
393
+ **Outcome**: User-centered test results with documented issues
394
+
395
+ #### 3. Pattern-Based Development
396
+ ```
397
+ Ask magentaa11y MCP for the acceptance criteria for an accessible carousel, then use a11y-base-web to implement it, and a11y-validator to confirm compliance.
398
+ ```
399
+ **Uses**: magentaa11y MCP + a11y-base-web + a11y-validator
400
+ **Outcome**: Fully accessible component built to specification
401
+
402
+ #### 4. Standards-Based Audit
403
+ ```
404
+ Use web-standards to review our semantic HTML, query aria MCP for proper ARIA usage, then use a11y-validator to confirm everything meets WCAG 2.2 Level AA.
405
+ ```
406
+ **Uses**: web-standards + aria MCP + a11y-validator
407
+ **Outcome**: Multi-faceted standards compliance check
408
+
409
+ #### 5. Comprehensive Issue Documentation
410
+ ```
411
+ Use a11y-tester to scan our site, query wcag MCP to get the relevant success criteria for each violation, then use a11y-issue-writer to create detailed GitHub issues with WCAG references.
412
+ ```
413
+ **Uses**: a11y-tester + wcag MCP + a11y-issue-writer
414
+ **Outcome**: Well-documented issues with standards citations
415
+
416
+ #### 6. Component Library Validation
417
+ ```
418
+ For each component in src/components/, query magentaa11y MCP for acceptance criteria, use a11y-validator to test against those criteria, and generate a compliance matrix.
419
+ ```
420
+ **Uses**: magentaa11y MCP + a11y-validator
421
+ **Outcome**: Component library accessibility certification report
422
+
423
+ #### 7. Fix Verification Workflow
424
+ ```
425
+ Use a11y-tester to identify issues, a11y-remediator to fix them, then a11y-validator to confirm the fixes meet requirements, documenting the changes with a11y-issue-writer.
426
+ ```
427
+ **Uses**: a11y-tester + a11y-remediator + a11y-validator + a11y-issue-writer
428
+ **Outcome**: Complete test-fix-verify-document cycle
429
+
430
+ #### 8. ARIA Pattern Implementation
431
+ ```
432
+ Query aria MCP for the disclosure widget pattern requirements, use a11y-base-web to implement it, test with a11y-tester, and validate with a11y-validator.
433
+ ```
434
+ **Uses**: aria MCP + a11y-base-web + a11y-tester + a11y-validator
435
+ **Outcome**: Spec-compliant ARIA widget with test verification
436
+
437
+ #### 9. User-Centered Design Review
438
+ ```
439
+ Query a11y-personas MCP for diverse user needs, use web-standards to ensure semantic HTML foundation, then a11y-remediator to enhance with proper ARIA where semantics fall short.
440
+ ```
441
+ **Uses**: a11y-personas MCP + web-standards + a11y-remediator
442
+ **Outcome**: User-focused accessible implementation
443
+
444
+ #### 10. Regression Prevention
445
+ ```
446
+ Use a11y-tester to scan before merging PR, query wcag MCP for any new violations' requirements, use a11y-remediator to fix them, then a11y-validator to confirm before deployment.
447
+ ```
448
+ **Uses**: a11y-tester + wcag MCP + a11y-remediator + a11y-validator
449
+ **Outcome**: Automated accessibility gate in CI/CD
450
+
451
+ #### 11. Documentation-First Development
452
+ ```
453
+ Query magentaa11y MCP for component requirements, use a11y-base-web to scaffold the component, document expected behavior with a11y-issue-writer, then validate with a11y-validator.
454
+ ```
455
+ **Uses**: magentaa11y MCP + a11y-base-web + a11y-issue-writer + a11y-validator
456
+ **Outcome**: Well-documented, specification-driven component
457
+
458
+ #### 12. Cross-Reference Validation
459
+ ```
460
+ Use a11y-tester to find violations, query both wcag MCP and aria MCP to understand the requirements, then use a11y-remediator to implement fixes that satisfy both specifications.
461
+ ```
462
+ **Uses**: a11y-tester + wcag MCP + aria MCP + a11y-remediator
463
+ **Outcome**: Fixes validated against multiple standards
464
+
465
+ #### 13. Issue Triage Pipeline
466
+ ```
467
+ Use a11y-tester to scan multiple pages, query wcag MCP to determine WCAG level for each issue, use arc-issues MCP to format them, then a11y-issue-writer to add prioritization and assignment.
468
+ ```
469
+ **Uses**: a11y-tester + wcag MCP + arc-issues MCP + a11y-issue-writer
470
+ **Outcome**: Prioritized, formatted issue backlog
471
+
472
+ #### 14. Accessibility Training Material
473
+ ```
474
+ Query a11y-personas MCP for user scenarios, wcag MCP for requirements, magentaa11y MCP for component patterns, and use a11y-issue-writer to create training documentation.
475
+ ```
476
+ **Uses**: a11y-personas MCP + wcag MCP + magentaa11y MCP + a11y-issue-writer
477
+ **Outcome**: Educational materials for team onboarding
478
+
479
+ #### 15. Third-Party Component Audit
480
+ ```
481
+ Use web-standards to evaluate semantic foundation of a library component, query aria MCP for proper ARIA usage, use a11y-tester to scan it, and a11y-validator to certify compliance.
482
+ ```
483
+ **Uses**: web-standards + aria MCP + a11y-tester + a11y-validator
484
+ **Outcome**: Vendor component accessibility assessment
485
+
486
+ ---
487
+
488
+ ### Complete Audit Workflows (Advanced)
489
+
490
+ #### 1. Full Site Accessibility Audit
491
+ ```
492
+ Using a11y-audit-fix-agent-orchestrator, perform a comprehensive audit of https://mysite.com, querying wcag MCP for requirements, aria MCP for patterns, and generating a complete remediation roadmap with prioritized issues documented via a11y-issue-writer.
493
+ ```
494
+ **Outcome**: End-to-end audit report with actionable remediation plan
495
+
496
+ #### 2. Pre-Launch Compliance Check
497
+ ```
498
+ Use the orchestrator to scan our staging environment, validate against WCAG 2.2 Level AA with a11y-validator, cross-reference findings with magentaa11y MCP acceptance criteria, and create a go/no-go report with all issues documented.
499
+ ```
500
+ **Outcome**: Deployment readiness assessment with compliance status
501
+
502
+ #### 3. Automated Remediation Pipeline
503
+ ```
504
+ Run the orchestrator to scan the codebase with a11y-tester, automatically fix common issues with a11y-remediator, validate fixes with a11y-validator, document remaining issues with a11y-issue-writer, and create PRs for manual review.
505
+ ```
506
+ **Outcome**: Batch fixes applied, remaining work itemized and tracked
507
+
508
+ #### 4. Component Library Certification
509
+ ```
510
+ Use the orchestrator to audit every component in src/components/, query magentaa11y MCP for each component type's requirements, validate with a11y-validator, and generate a comprehensive certification report showing compliance status.
511
+ ```
512
+ **Outcome**: Component library accessibility certification matrix
513
+
514
+ #### 5. Continuous Accessibility Monitoring
515
+ ```
516
+ Set up the orchestrator to run weekly scans with a11y-tester, compare results to previous baselines, query wcag MCP for any new violation types, automatically create issues via a11y-issue-writer for regressions, and alert the team.
517
+ ```
518
+ **Outcome**: Automated accessibility monitoring and regression detection
519
+
520
+ ---
521
+
522
+ ## Quick Reference Cheat Sheet
523
+
524
+ | Task | Tool to Use | Example |
525
+ |------|-------------|---------|
526
+ | Scan a page for issues | a11y-tester | `Scan https://example.com with a11y-tester` |
527
+ | Fix missing alt text | a11y-remediator | `Fix alt text in src/Gallery.tsx` |
528
+ | Document violations | a11y-issue-writer | `Create GitHub issue for form errors` |
529
+ | Check WCAG requirements | wcag MCP | `Query wcag: color contrast requirements` |
530
+ | Understand ARIA roles | aria MCP | `Query aria: button role requirements` |
531
+ | Get component patterns | magentaa11y MCP | `Query magentaa11y: tabs acceptance criteria` |
532
+ | Validate compliance | a11y-validator | `Validate modal meets WCAG 2.2 AA` |
533
+ | Review semantics | web-standards | `Review HTML structure in src/Nav.tsx` |
534
+ | Understand user needs | a11y-personas MCP | `Query a11y-personas: screen reader users` |
535
+ | Format AxeCore violations | arc-issues MCP | `Format this violation as Jira ticket` |
536
+ | Run full audit | orchestrator | `Audit https://mysite.com with orchestrator` |
537
+
538
+ ---
539
+
540
+ ## MCP Setup Verification
541
+
542
+ ### How to Verify MCP Servers Are Working
543
+
544
+ Your MCP servers run via `npx`, which means they're fetched on-demand and don't require local installation. To verify they're working, try these test prompts:
545
+
546
+ #### Test wcag MCP
547
+ ```
548
+ Query the wcag MCP server: What is success criterion 2.1.1?
549
+ ```
550
+ **Expected**: Details about keyboard accessibility requirements
551
+
552
+ #### Test aria MCP
553
+ ```
554
+ Query the aria MCP server: What attributes does the button role support?
555
+ ```
556
+ **Expected**: List of ARIA attributes applicable to buttons
557
+
558
+ #### Test magentaa11y MCP
559
+ ```
560
+ Query the magentaa11y MCP server: List all available component types.
561
+ ```
562
+ **Expected**: List of components with acceptance criteria
563
+
564
+ #### Test a11y-personas MCP
565
+ ```
566
+ Query the a11y-personas MCP server: Show me all available personas.
567
+ ```
568
+ **Expected**: List of user personas with disabilities
569
+
570
+ #### Test arc-issues MCP
571
+ ```
572
+ Query the arc-issues MCP server: What issue formats are available?
573
+ ```
574
+ **Expected**: List of supported formats (GitHub, Jira, etc.)
575
+
576
+ ### Basic Troubleshooting
577
+
578
+ If MCP servers aren't responding:
579
+
580
+ 1. **Restart your IDE** - MCP servers initialize when the IDE starts
581
+ 2. **Check npx connectivity** - Run `npx --version` in your terminal to ensure npx is working
582
+ 3. **Verify MCP configuration** - Check that your IDE's `mcp.json` file exists and includes the 5 servers
583
+ 4. **Check network** - MCP servers using npx need internet access for first-time package downloads
584
+ 5. **Look for errors** - Check your IDE's output panel for MCP-related error messages
585
+
586
+ ### MCP Configuration Locations
587
+
588
+ Your MCP configuration was written to one of these locations (depending on your OS and IDE):
589
+
590
+ - **macOS**: `~/Library/Application Support/{IDE}/mcp.json`
591
+ - **Windows**: `%APPDATA%\{IDE}\mcp.json`
592
+ - **Linux**: `~/.config/{IDE}/mcp.json`
593
+
594
+ Where `{IDE}` is one of: `Claude`, `Cursor`, `Codex`, or `Code` (for VSCode)
595
+
596
+ ---
597
+
598
+ ## Getting Help
599
+
600
+ ### Resources
601
+
602
+ - **Report Issues**: [GitHub Issues](https://github.com/joe-watkins/a11y-devkit/issues)
603
+ - **Full Documentation**: Check the main README.md in the parent directory
604
+ - **Community**: Share your prompts and workflows with the community
605
+
606
+ ### Common Issues
607
+
608
+ **"Skill not found"**
609
+ - Verify skills are installed in your IDE's skills directory
610
+ - Check that the skill name matches exactly (e.g., `a11y-tester`, not `a11y-testing`)
611
+ - Restart your IDE to reload skills
612
+
613
+ **"MCP server not responding"**
614
+ - Ensure you're querying the MCP server explicitly (e.g., "Query wcag MCP:")
615
+ - Restart your IDE to reinitialize MCP servers
616
+ - Check that npx is installed and working
617
+
618
+ **"Permission denied"**
619
+ - MCP servers run via npx and may need permission to execute
620
+ - Check your system's security settings for CLI tool execution
621
+
622
+ ### Tips for Best Results
623
+
624
+ 1. **Be specific** - Instead of "check accessibility", try "Use a11y-tester to scan the login form for WCAG violations"
625
+ 2. **Combine tools** - Leverage both skills and MCP servers together for comprehensive workflows
626
+ 3. **Reference files** - Provide specific file paths when asking for fixes or reviews
627
+ 4. **Iterate** - Start with testing, then research, then fix, then validate
628
+ 5. **Document** - Use a11y-issue-writer to track what you find and fix
629
+
630
+ ---
631
+
632
+ ## Next Steps
633
+
634
+ Now that you have this powerful toolkit, here are some suggested next steps:
635
+
636
+ 1. **Run your first scan** - Use a11y-tester on your main page
637
+ 2. **Explore the MCP servers** - Query wcag, aria, and magentaa11y to learn what they offer
638
+ 3. **Try a combined workflow** - Pick one from the Advanced section and adapt it to your project
639
+ 4. **Set up monitoring** - Use the orchestrator to establish regular accessibility checks
640
+ 5. **Train your team** - Share example prompts with teammates to build accessibility into your workflow
641
+
642
+ **Remember**: Accessibility is a journey, not a destination. These tools help you continuously improve your web applications for all users.
643
+
644
+ Happy building!