Copilot CLI port of /visual-qa — Playwright MCP capture matrix + per-image LLM analysis + diff vs prior run. Phase 3 uses Copilot's `task` tool for parallel per-page dispatch. See plugins/harness-floor/skills/visual-qa/SKILL.md for the source-of-truth pipeline.
How this skill is triggered — by the user, by Claude, or both
Slash command
/harness-floor-copilot:visual-qa-copilotThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Runs the cost-unrestricted visual-QA pipeline on Copilot CLI. Reads
lib/await-pages.mjslib/config-loader.mjslib/cost-estimator.mjslib/cost-tracker.mjslib/diff-runs.mjslib/dispatch-page-task.mjslib/hooks/subagent-stop-dispatcher.mjslib/matrix-builder.mjslib/memory-bridge.mjslib/report-renderer.mjslib/state-rw.mjsphases/0-preflight.mdphases/1-config.mdphases/2-discover.mdphases/3-capture.mdphases/4-aggregate.mdphases/5-summary.mdreferences/porting-notes.mdtemplates/analysis-prompt.md.hbstemplates/mcp-snippet.json.hbsRuns the cost-unrestricted visual-QA pipeline on Copilot CLI. Reads
.visual-qa.json, captures via Playwright MCP, analyses each image with
the configured LLM, produces docs/visual-qa/<slug>/report.md.
/visual-qa-copilot
/visual-qa-copilot --resume
/visual-qa-copilot --force --slug=my-run --yes
--resume, --force, --yes, --budget=<USD>, --skip-health, --slug=<custom>.
| Phase | File | Purpose |
|---|---|---|
| 0 | phases/0-preflight.md | config + Playwright MCP + task tool + health checks |
| 1 | phases/1-config.md | load config, build matrix, estimate cost, confirm |
| 2 | phases/2-discover.md | find prior run, create slug dir |
| 3 | phases/3-capture.md | task per page (parallel); subagentStop OR list_agents awaiter |
| 4 | phases/4-aggregate.md | diff vs prior, write report.json + report.md |
| 5 | phases/5-summary.md | summary + exit code |
.visual-qa-state.json + store_memory("visual-qa/...").--budget enforced in Phase 1 (pre-run) and
Phase 3 (per-wave accumulator from read_agent cost field).| Action | Copilot primitive |
|---|---|
| Read file | read_file |
| Write file | apply_patch |
| Shell | read_bash |
| Dispatch page subagent | task |
| Await dispatched agent | subagentStop hook OR list_agents poll |
| Inspect dispatched agent | read_agent |
| Persist matrix/state | apply_patch + store_memory(scope="repository") |
| Prompt user | ask_user |
| Playwright | mcp__playwright__browser_* (via ~/.copilot/mcp-config.json) |
.visual-qa.json missing → abort.task tool unavailable (Copilot < v0.0.380) → abort with upgrade hint.ask_user, abort if --yes.task fails → mark page incomplete, continue others.Print summary: captures, analyses, issues, diff, report path, total cost. Exit code 0 if no critical, 1 otherwise.
templates/visual-qa.config.json.hbs — .visual-qa.json seedtemplates/mcp-snippet.json.hbs — ~/.copilot/mcp-config.json Playwright entrytemplates/page-prompt.md.hbs — per-page subagent prompt templatetemplates/analysis-prompt.md.hbs — per-image LLM prompttemplates/report.md.hbs — human-readable reportreferences/porting-notes.md — graduation, known unknowns, Copilot-specific limitsplugins/harness-floor/skills/visual-qa/SKILL.md — source-of-truthProvides a checklist for code reviews covering functionality, security, performance, maintainability, tests, and quality. Use for pull requests, audits, team standards, and developer training.
npx claudepluginhub kim-song-jun/agent-skill --plugin harness-floor-copilot