Skip to content

Architecture Overview

dq-awesomeqa is a zero-runtime plugin. It adds no application code - every skill is a SKILL.md instruction file that your coding agent executes. The architecture has three layers.


Layer diagram

┌─────────────────────────────────────────────────────────────────────┐
│                 Plugin-Capable Coding Agent                         │
│                                                                     │
│  ┌──────────────────────────────────────────────────────────────┐   │
│  │                    dq-awesomeqa plugin                       │   │
│  │                                                              │   │
│  │  ┌────────────────────┐   ┌──────────────────────────────┐   │   │
│  │  │   SKILLS.          │   │    3 Hooks (JS + bash)       │   │   │
│  │  │                    │   │                              │   │   │
│  │  │  /qa-init          │   │  sanitize-input.js           │   │   │
│  │  │  /qa-setup         │   │  audit-log.js                │   │   │
│  │  │  /qa-onboard       │   │  qa-safety.js                │   │   │
│  │  │  /qa-requirement   │   │  session-start (bash)        │   │   │
│  │  │  /qa-plan          │   │  stop (bash)                 │   │   │
│  │  │  /qa-impact        │   └──────────────────────────────┘   │   │
│  │  │  /qa-api           │                                      │   │
│  │  │  /qa-ui            │   ┌──────────────────────────────┐   │   │
│  │  │  /qa-a11y          │   │     dq-qa.config.json        │   │   │
│  │  │  /qa-perf          │   │  (written by /qa-onboard,    │   │   │
│  │  │  /qa-exec          │   │   read by all skills)        │   │   │
│  │  │  /qa-triage        │   └──────────────────────────────┘   │   │
│  │  │  /qa-coverage      │                                      │   │
│  │  │  /qa-report        │                                      │   │
│  │  │  /qa-codegen       │                                      │   │
│  │  └────────────────────┘                                      │   │
│  └──────────────────────────────────────────────────────────────┘   │
│                              │                                      │
│         delegates to         ▼                                      │
│  ┌──────────────────────────────────────────────────────────────┐   │
│  │                   External Tools                             │   │
│  │                                                              │   │
│  │  democratize-quality MCP   a11y-cli        dq-nbomber-cli    │   │
│  │  (bundled in plugin)       (npm global)    (.NET global)     │   │
│  │  API testing               UI + A11y       Load testing      │   │
│  └──────────────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────────────┘

Design principles

PrincipleWhat it means in practice
Config-firstEvery skill starts with dq-qa.config.json. If missing, /qa-onboard is triggered automatically
Domain isolationEach skill owns exactly one domain. Skills do not call each other - the phase gate in /qa-init sequences them
Tools do the heavy liftingSkills orchestrate; CLIs generate. A skill never writes test code from scratch
Separate reports, unified summaryEach domain writes to its own reportDir. /qa-report aggregates them into qa-summary.md
Consultant toneSkills explain why they ask what they ask and always close with recommended next steps

Data flow per cycle

User opens project


session-start hook fires
  → injects skill index + config contract into context


User runs /qa-init (or individual skill)

       ├─ reads dq-qa.config.json
       ├─ reads requirements/ folder
       ├─ reads qa-plan.md


Skill runs → delegates to external tool

       ├─ democratize-quality MCP  → API reports in qa-reports/api/
       ├─ a11y-cli                 → UI + A11y reports in qa-reports/ui|a11y/
       ├─ dq-nbomber-cli           → Perf reports in qa-reports/perf/


/qa-report aggregates → qa-summary.md

Artifact versioning

All QA documents use dated sections rather than separate files. New versions prepend a new section - history is preserved below the current entry.

Affected files: requirements/*.md, qa-plan.md, qa-triage.md, qa-coverage.md, qa-summary.md.

Skills always read only the first (most recent) dated section.


Next: detailed breakdowns

Released under the AGPL-3.0 License.