a11y-devkit-deploy 0.6.4 → 0.7.0

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
@@ -1,6 +1,8 @@
1
1
  # A11y Devkit Deploy
2
2
 
3
- A cross-platform CLI for deploying accessibility skills and MCP servers across Claude Code, Cursor, Codex, and VSCode.
3
+ A **fully config-driven**, cross-platform CLI for deploying accessibility skills and MCP servers across Claude Code, Cursor, Codex, and VSCode.
4
+
5
+ **Add new skills or MCP servers without writing code** - just edit the JSON config and re-run.
4
6
 
5
7
  ## Install
6
8
 
@@ -21,21 +23,63 @@ a11y-devkit-deploy
21
23
  - `--local` / `--global`: Skip the scope prompt.
22
24
  - `--yes`: Use defaults (local scope, all IDEs, install skills).
23
25
 
26
+ ## After Installation
27
+
28
+ Once installation completes, you'll find a comprehensive usage guide in your IDE's skills directory:
29
+
30
+ - **Local install**: `.claude/skills/README.md` (or `.cursor/skills/`, `.codex/skills/` depending on your IDE)
31
+ - **Global install**: `~/.claude/skills/README.md` (or your IDE's global skills directory)
32
+
33
+ ### What's in the Guide
34
+
35
+ The bundled README includes:
36
+ - **70+ example prompts** organized by complexity level (beginner to advanced)
37
+ - **Quick reference cheat sheet** for common tasks
38
+ - **Skill descriptions** explaining when to use each of the 7 skills
39
+ - **MCP server guides** with verification steps and example queries
40
+ - **Combined workflows** showing how to use skills and MCP servers together
41
+ - **Complete audit examples** using the orchestrator for end-to-end accessibility testing
42
+
43
+ ### Preview the Guide
44
+
45
+ You can preview the guide here: [templates/skills-README.md](templates/skills-README.md)
46
+
47
+ ### Next Steps
48
+
49
+ 1. Open the README in your IDE's skills directory
50
+ 2. Try the "Getting Started" prompts to verify everything is working
51
+ 3. Explore the example prompts library to find workflows that match your needs
52
+ 4. Use the MCP verification section to test all 5 MCP servers
53
+
54
+ ### MCP Servers
55
+
56
+ All MCP servers are configured to run via `npx`, which means:
57
+ - No local installation or cloning required
58
+ - Automatically fetches the latest version when needed
59
+ - No disk space used for local copies
60
+ - Just restart your IDE and the servers will be available
61
+
24
62
  ## What It Does
25
63
 
26
64
  This CLI automates the setup of accessibility tooling by:
27
65
 
28
- 1. **Installing skills from npm** - Downloads and installs 7 accessibility skill packages
29
- 2. **Configuring MCP servers** - Updates each IDE's MCP config to enable 5 accessibility-focused MCP servers:
30
- - **wcag** - WCAG 2.2 guidelines, success criteria, and techniques
31
- - **aria** - WAI-ARIA roles, states, properties, and patterns
32
- - **magentaa11y** - Component accessibility acceptance criteria
33
- - **a11y-personas** - Accessibility personas for diverse user needs
34
- - **arc-issues** - Format AxeCore violations into standardized issue templates
66
+ 1. **Installing skills from npm** - Downloads and installs accessibility skill packages (configurable in `config/a11y.json`)
67
+ 2. **Configuring MCP servers** - Updates each IDE's MCP config to enable accessibility-focused MCP servers (also configurable)
68
+
69
+ **Default configuration includes:**
70
+ - **7 accessibility skills** - Testing, remediation, validation, documentation, and orchestration
71
+ - **5 MCP servers**:
72
+ - **wcag** - WCAG 2.2 guidelines, success criteria, and techniques
73
+ - **aria** - WAI-ARIA roles, states, properties, and patterns
74
+ - **magentaa11y** - Component accessibility acceptance criteria
75
+ - **a11y-personas** - Accessibility personas for diverse user needs
76
+ - **arc-issues** - Format AxeCore violations into standardized issue templates
35
77
 
36
- ### Skills Installed
78
+ **Fully customizable** - add/remove skills or MCP servers by editing the config file.
37
79
 
38
- The following skill packages are installed from npm:
80
+ ### Skills Installed (Default)
81
+
82
+ The following skill packages are installed from npm by default. **Add your own by editing `config/a11y.json`**:
39
83
 
40
84
  | Skill | Package | Description |
41
85
  |-------|---------|-------------|
@@ -74,11 +118,58 @@ The generated MCP config looks like this:
74
118
 
75
119
  ## Configuration
76
120
 
77
- Edit `config/a11y.json` to customize the deployment:
121
+ The entire tool is **fully config-driven**. Edit `config/a11y.json` to customize everything without touching code:
122
+
123
+ ### Example: Adding a New Skill
124
+
125
+ Simply add an object to the `skills` array with a `name` (npm package) and `description`:
126
+
127
+ ```json
128
+ {
129
+ "skills": [
130
+ {
131
+ "name": "a11y-tester-skill",
132
+ "description": "Run accessibility tests"
133
+ },
134
+ {
135
+ "name": "your-custom-skill",
136
+ "description": "Your custom skill description"
137
+ }
138
+ ]
139
+ }
140
+ ```
141
+
142
+ ### Example: Adding a New MCP Server
78
143
 
79
- - `skills` - Array of npm package names to install as skills
144
+ Add an object to the `mcpServers` array with name, description, command, and args:
145
+
146
+ ```json
147
+ {
148
+ "mcpServers": [
149
+ {
150
+ "name": "wcag",
151
+ "description": "WCAG guidelines reference",
152
+ "command": "npx",
153
+ "args": ["-y", "wcag-mcp"]
154
+ },
155
+ {
156
+ "name": "your-custom-mcp",
157
+ "description": "Your custom MCP server",
158
+ "command": "npx",
159
+ "args": ["-y", "your-mcp-package"]
160
+ }
161
+ ]
162
+ }
163
+ ```
164
+
165
+ ### Config Structure
166
+
167
+ - `skills` - Array of skill objects with `name` (npm package) and `description`
80
168
  - `ideSkillsPaths` - IDE-specific skills directories (configurable per IDE)
81
- - `mcpServers` - MCP server definitions using npx
169
+ - `ideMcpPaths` - IDE-specific MCP config file paths
170
+ - `mcpServers` - MCP server definitions with name, description, command, and args
171
+
172
+ All changes take effect immediately - just re-run the CLI to deploy your updated config.
82
173
 
83
174
  ## Directory Structure
84
175
 
@@ -106,7 +197,9 @@ MCP configurations are written to each IDE's OS-specific config path:
106
197
  - **Windows**: `%APPDATA%\{IDE}\mcp.json`
107
198
  - **Linux**: `~/.config/{IDE}/mcp.json`
108
199
 
109
- ## MCP Servers Included
200
+ ## MCP Servers Included (Default)
201
+
202
+ **Add your own by editing `config/a11y.json`**:
110
203
 
111
204
  | Server | Package | Description |
112
205
  |--------|---------|-------------|
package/config/a11y.json CHANGED
@@ -1,19 +1,41 @@
1
1
  {
2
+ "skillsFolder": "a11y",
3
+ "readmeTemplate": "deploy-README.md",
2
4
  "skills": [
3
- "a11y-base-web-skill",
4
- "a11y-issue-writer-skill",
5
- "a11y-tester-skill",
6
- "a11y-remediator-skill",
7
- "a11y-validator-skill",
8
- "web-standards-skill",
9
- "a11y-audit-fix-agent-orchestrator-skill"
5
+ {
6
+ "name": "a11y-base-web-skill",
7
+ "description": "Core accessibility testing utilities"
8
+ },
9
+ {
10
+ "name": "a11y-issue-writer-skill",
11
+ "description": "Document accessibility issues"
12
+ },
13
+ {
14
+ "name": "a11y-tester-skill",
15
+ "description": "Run accessibility tests"
16
+ },
17
+ {
18
+ "name": "a11y-remediator-skill",
19
+ "description": "Fix accessibility issues"
20
+ },
21
+ {
22
+ "name": "a11y-validator-skill",
23
+ "description": "Validate accessibility compliance"
24
+ },
25
+ {
26
+ "name": "web-standards-skill",
27
+ "description": "Web standards reference"
28
+ },
29
+ {
30
+ "name": "a11y-audit-fix-agent-orchestrator-skill",
31
+ "description": "Orchestrate accessibility audits"
32
+ }
10
33
  ],
11
34
  "ideSkillsPaths": {
12
35
  "claude": ".claude/skills",
13
36
  "cursor": ".cursor/skills",
14
37
  "codex": ".codex/skills",
15
- "vscode": ".github/skills",
16
- "local": ".github/skills"
38
+ "vscode": ".github/skills"
17
39
  },
18
40
  "ideMcpPaths": {
19
41
  "claude": ".claude/mcp.json",
@@ -24,43 +46,33 @@
24
46
  "mcpServers": [
25
47
  {
26
48
  "name": "wcag",
49
+ "description": "WCAG guidelines reference",
27
50
  "command": "npx",
28
- "args": [
29
- "-y",
30
- "wcag-mcp"
31
- ]
51
+ "args": ["-y", "wcag-mcp"]
32
52
  },
33
53
  {
34
54
  "name": "aria",
55
+ "description": "ARIA specification reference",
35
56
  "command": "npx",
36
- "args": [
37
- "-y",
38
- "aria-mcp"
39
- ]
57
+ "args": ["-y", "aria-mcp"]
40
58
  },
41
59
  {
42
60
  "name": "magentaa11y",
61
+ "description": "MagentaA11y accessibility acceptance criteria tool",
43
62
  "command": "npx",
44
- "args": [
45
- "-y",
46
- "magentaa11y-mcp"
47
- ]
63
+ "args": ["-y", "magentaa11y-mcp"]
48
64
  },
49
65
  {
50
66
  "name": "a11y-personas",
67
+ "description": "Accessibility personas and user scenarios",
51
68
  "command": "npx",
52
- "args": [
53
- "-y",
54
- "a11y-personas-mcp"
55
- ]
69
+ "args": ["-y", "a11y-personas-mcp"]
56
70
  },
57
71
  {
58
72
  "name": "arc-issues",
73
+ "description": "Pre-formatted a11y issue templates",
59
74
  "command": "npx",
60
- "args": [
61
- "-y",
62
- "arc-issues-mcp"
63
- ]
75
+ "args": ["-y", "arc-issues-mcp"]
64
76
  }
65
77
  ]
66
- }
78
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "a11y-devkit-deploy",
3
- "version": "0.6.4",
3
+ "version": "0.7.0",
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
@@ -23,24 +23,6 @@ async function loadPackageJson() {
23
23
  return JSON.parse(raw);
24
24
  }
25
25
 
26
- const skillDescriptions = {
27
- "a11y-base-web-skill": "Core accessibility testing utilities",
28
- "a11y-issue-writer-skill": "Document accessibility issues",
29
- "a11y-tester-skill": "Run accessibility tests",
30
- "a11y-remediator-skill": "Fix accessibility issues",
31
- "a11y-validator-skill": "Validate accessibility compliance",
32
- "web-standards-skill": "Web standards reference",
33
- "a11y-audit-fix-agent-orchestrator-skill": "Orchestrate accessibility audits"
34
- };
35
-
36
- const mcpDescriptions = {
37
- "wcag": "WCAG guidelines reference",
38
- "aria": "ARIA specification reference",
39
- "magentaa11y": "MagentaA11y accessibility acceptance criteria tool",
40
- "a11y-personas": "Accessibility personas and user scenarios",
41
- "arc-issues": "Pre-formatted a11y issue templates"
42
- };
43
-
44
26
  function parseArgs(argv) {
45
27
  const args = new Set(argv.slice(2));
46
28
  return {
@@ -69,13 +51,14 @@ async function run() {
69
51
 
70
52
  console.log("\nSkills to install:");
71
53
  config.skills.forEach((skill) => {
72
- const description = skillDescriptions[skill] || "No description";
73
- console.log(`${skill} - ${description}`);
54
+ const name = typeof skill === "string" ? skill : skill.name;
55
+ const description = typeof skill === "string" ? "No description" : (skill.description || "No description");
56
+ console.log(`${name} - ${description}`);
74
57
  });
75
58
 
76
59
  console.log("\nMCP Servers to install:");
77
60
  config.mcpServers.forEach((server) => {
78
- const description = mcpDescriptions[server.name] || "No description";
61
+ const description = server.description || "No description";
79
62
  console.log(`${server.name} - ${description}`);
80
63
  });
81
64
  console.log("");
@@ -179,7 +162,8 @@ async function run() {
179
162
  ? ideSelection.map((ide) => idePaths[ide].localSkillsDir)
180
163
  : ideSelection.map((ide) => idePaths[ide].skillsDir);
181
164
 
182
- const result = await installSkillsFromNpm(config.skills, skillTargets, tempDir);
165
+ const skillNames = config.skills.map((skill) => typeof skill === "string" ? skill : skill.name);
166
+ const result = await installSkillsFromNpm(skillNames, skillTargets, tempDir, config.skillsFolder, config.readmeTemplate);
183
167
  skillsSpinner.succeed(`${result.installed} skills installed to ${skillTargets.length} IDE location(s).`);
184
168
  } catch (error) {
185
169
  skillsSpinner.fail(`Failed to install skills: ${error.message}`);
@@ -212,7 +196,18 @@ async function run() {
212
196
  success("All done. Your skills and MCP servers are ready.");
213
197
  info("Skills installed from npm packages.");
214
198
  info("MCP servers use npx - no local installation needed!");
199
+ console.log("");
200
+ success("Next Steps:");
201
+ const skillsFolderPath = config.skillsFolder ? `${config.skillsFolder}/` : "";
202
+ const skillsPath = scope === "local"
203
+ ? `.claude/skills/${skillsFolderPath}README.md (or your IDE's equivalent)`
204
+ : `~/.claude/skills/${skillsFolderPath}README.md (or your IDE's global skills directory)`;
205
+ info(`📖 Check ${skillsPath} for comprehensive usage guide`);
206
+ info("✨ Includes 70+ example prompts for all skills and MCP servers");
207
+ info("🚀 Start with the 'Getting Started' section for your first accessibility check");
208
+ console.log("");
215
209
  info("You can re-run this CLI any time to update skills and configs.");
210
+ info("Documentation: https://github.com/joe-watkins/a11y-devkit#readme");
216
211
  }
217
212
 
218
213
  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 {
@@ -13,20 +17,32 @@ async function pathExists(target) {
13
17
 
14
18
  function run(command, args, options = {}) {
15
19
  return new Promise((resolve, reject) => {
16
- const child = spawn(command, args, { stdio: "pipe", shell: true, ...options });
20
+ const child = spawn(command, args, {
21
+ stdio: "pipe",
22
+ shell: true,
23
+ ...options,
24
+ });
17
25
  let stdout = "";
18
26
  let stderr = "";
19
-
20
- child.stdout?.on("data", (data) => { stdout += data; });
21
- child.stderr?.on("data", (data) => { stderr += data; });
22
-
27
+
28
+ child.stdout?.on("data", (data) => {
29
+ stdout += data;
30
+ });
31
+ child.stderr?.on("data", (data) => {
32
+ stderr += data;
33
+ });
34
+
23
35
  child.on("error", reject);
24
36
  child.on("close", (code) => {
25
37
  if (code === 0) {
26
38
  resolve({ stdout, stderr });
27
39
  return;
28
40
  }
29
- reject(new Error(`${command} ${args.join(" ")} failed with code ${code}: ${stderr}`));
41
+ reject(
42
+ new Error(
43
+ `${command} ${args.join(" ")} failed with code ${code}: ${stderr}`,
44
+ ),
45
+ );
30
46
  });
31
47
  });
32
48
  }
@@ -39,18 +55,26 @@ async function cleanupTemp(tempDir) {
39
55
 
40
56
  /**
41
57
  * Install skills from npm packages into IDE skills directories.
42
- *
58
+ *
43
59
  * 1. Creates temp directory with package.json listing skills as dependencies
44
60
  * 2. Runs npm install in temp directory
45
61
  * 3. Copies installed skill packages (SKILL.md files) to target directories
46
62
  * 4. Returns temp directory path for cleanup
47
- *
63
+ *
48
64
  * @param {string[]} skills - Array of npm package names
49
65
  * @param {string[]} targetDirs - Array of target directories to install skills to
50
66
  * @param {string} tempDir - Temporary directory for npm install
67
+ * @param {string} skillsFolder - Optional subfolder name to bundle skills (e.g., "a11y")
68
+ * @param {string} readmeTemplate - README template filename from templates folder
51
69
  * @returns {Promise<{installed: number, tempDir: string}>}
52
70
  */
53
- async function installSkillsFromNpm(skills, targetDirs, tempDir) {
71
+ async function installSkillsFromNpm(
72
+ skills,
73
+ targetDirs,
74
+ tempDir,
75
+ skillsFolder = null,
76
+ readmeTemplate = "deploy-README.md",
77
+ ) {
54
78
  // Create temp directory
55
79
  await fs.mkdir(tempDir, { recursive: true });
56
80
 
@@ -59,7 +83,7 @@ async function installSkillsFromNpm(skills, targetDirs, tempDir) {
59
83
  name: "a11y-skills-temp",
60
84
  version: "1.0.0",
61
85
  private: true,
62
- dependencies: {}
86
+ dependencies: {},
63
87
  };
64
88
 
65
89
  for (const skill of skills) {
@@ -68,7 +92,7 @@ async function installSkillsFromNpm(skills, targetDirs, tempDir) {
68
92
 
69
93
  await fs.writeFile(
70
94
  path.join(tempDir, "package.json"),
71
- JSON.stringify(packageJson, null, 2)
95
+ JSON.stringify(packageJson, null, 2),
72
96
  );
73
97
 
74
98
  // Run npm install
@@ -79,7 +103,12 @@ async function installSkillsFromNpm(skills, targetDirs, tempDir) {
79
103
  let installedCount = 0;
80
104
 
81
105
  for (const targetDir of targetDirs) {
82
- await fs.mkdir(targetDir, { recursive: true });
106
+ // Determine the actual skills directory (with or without bundle folder)
107
+ const skillsDir = skillsFolder
108
+ ? path.join(targetDir, skillsFolder)
109
+ : targetDir;
110
+
111
+ await fs.mkdir(skillsDir, { recursive: true });
83
112
 
84
113
  for (const skill of skills) {
85
114
  const skillPackageDir = path.join(nodeModulesDir, skill);
@@ -88,7 +117,7 @@ async function installSkillsFromNpm(skills, targetDirs, tempDir) {
88
117
  if (await pathExists(skillMdPath)) {
89
118
  // Create skill directory in target (use package name without -skill suffix)
90
119
  const skillDirName = skill.replace(/-skill$/, "");
91
- const targetSkillDir = path.join(targetDir, skillDirName);
120
+ const targetSkillDir = path.join(skillsDir, skillDirName);
92
121
  await fs.mkdir(targetSkillDir, { recursive: true });
93
122
 
94
123
  // Copy SKILL.md
@@ -96,15 +125,25 @@ async function installSkillsFromNpm(skills, targetDirs, tempDir) {
96
125
  installedCount++;
97
126
  }
98
127
  }
128
+
129
+ // Copy the comprehensive README template to the skills directory
130
+ const readmeTemplatePath = path.join(
131
+ __dirname,
132
+ "..",
133
+ "..",
134
+ "templates",
135
+ readmeTemplate,
136
+ );
137
+ const targetReadmePath = path.join(skillsDir, "a11y-devkit-README.md");
138
+ if (await pathExists(readmeTemplatePath)) {
139
+ await fs.copyFile(readmeTemplatePath, targetReadmePath);
140
+ }
99
141
  }
100
142
 
101
- return {
102
- installed: installedCount / targetDirs.length,
103
- tempDir
143
+ return {
144
+ installed: installedCount / targetDirs.length,
145
+ tempDir,
104
146
  };
105
147
  }
106
148
 
107
- export {
108
- installSkillsFromNpm,
109
- cleanupTemp
110
- };
149
+ export { installSkillsFromNpm, cleanupTemp };
@@ -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!