Phase 1 - Setup
Before any testing can begin, two things must be in place: the external CLI tools installed on the developer machine, and a project config that tells every subsequent skill where your app lives and which domains are in scope.
Phase 1 is run once per machine and once per project - it is not repeated every cycle.
Skills in this phase
| Skill | Run | Purpose |
|---|---|---|
/qa-setup | Once per developer machine | Installs a11y-cli and dq-nbomber CLI |
/qa-onboard | Once per project | Creates dq-qa.config.json for the project |
Step 1 - Install the tools (/qa-setup)
Run /qa-setup on every developer machine that will execute tests. It checks what is already installed before doing anything, so it is safe to re-run.
Tools installed:
| Tool | Purpose |
|---|---|
a11y-cli | WCAG accessibility audits and Playwright browser automation |
dq-nbomber | Load test generation and execution (.NET required) |
The democratize-quality MCP server is bundled in the plugin and activates automatically - no manual install needed.
Verify the installation:
a11y-cli --version
dq-nbomber --versionThen confirm the democratize-quality MCP server is available using your coding agent's plugin/MCP diagnostics.
Step 2 - Configure the project (/qa-onboard)
Run /qa-onboard once in the project root. It asks a short set of questions (~5 minutes) and writes dq-qa.config.json.
Questions asked:
| Section | What it captures |
|---|---|
| Project | Project name |
| UI | Base URL, video recording preference |
| API | API base URL, OpenAPI/Swagger or GraphQL schema URL |
| Accessibility | WCAG version and conformance level (A, AA, AAA) |
| Performance | p95 threshold, error rate limit, test duration |
Output - dq-qa.config.json:
{
"project": { "name": "my-app" },
"domains": {
"ui": { "enabled": true, "baseUrl": "https://app.example.com" },
"api": { "enabled": true, "baseUrl": "https://api.example.com", "schemaUrl": "..." },
"accessibility": { "enabled": true, "jurisdiction": "NZ", "level": "AA" },
"performance": { "enabled": true, "thresholds": { "p95Ms": 500, "errorRatePct": 1 } }
}
}If dq-qa.config.json already exists, /qa-onboard detects it and asks which sections to update rather than starting from scratch.
Phase gate
Phase 1 is complete when:
- [x]
a11y-cli --versionreturns a version number - [x]
dq-nbomber --versionreturns a version number - [x]
democratize-qualityMCP server is visible in your coding agent diagnostics - [x]
dq-qa.config.jsonexists in the project root
Once these are in place, proceed to Phase 2 - Planning.
