From harness-floor-cursor
Cursor port of /visual-qa — Playwright MCP capture matrix + per-image LLM analysis + diff vs prior run. Phase 3 uses Cursor's `is_background: true` subagents for parallel per-page capture+analyze. 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-cursor:visual-qa-cursorThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Runs the cost-unrestricted visual-QA pipeline on Cursor. Reads
lib/config-loader.mjslib/cost-estimator.mjslib/diff-runs.mjslib/matrix-builder.mjslib/page-result-collector.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/agents/visual-qa-page.md.hbstemplates/analysis-prompt.md.hbstemplates/mcp-snippet.json.hbstemplates/report.md.hbstemplates/visual-qa.config.json.hbsRuns the cost-unrestricted visual-QA pipeline on Cursor. Reads
.visual-qa.json, captures via Playwright MCP, analyses each image with
the configured LLM, produces docs/visual-qa/<slug>/report.md.
@visual-qa-coordinator run /visual-qa
@visual-qa-coordinator run /visual-qa --resume
@visual-qa-coordinator run /visual-qa --force --slug=my-run
If you don't have a @visual-qa-coordinator agent installed, the kit ships
with templates — see "What this skill installs".
--resume — skip phases already complete per .visual-qa-state.json.--force — wipe today's slug dir and re-run.--yes — skip the Phase 1 cost confirmation.--budget=<USD> — abort if accumulated estimated cost exceeds this.--skip-health — skip Phase 0 baseUrl health check.--slug=<custom> — override the auto-generated date slug..visual-qa.json — config (capture matrix; same shape as Claude Code)..cursor/mcp.json..cursor/agents/visual-qa-page.md (with is_background: true) — per-page
capture+analyze subagent..cursor/agents/visual-qa-coordinator.md — parent
agent that reads phases sequentially. For now, the user (or Cursor's
default agent) follows phases/0..5.md manually.| Phase | File | Purpose |
|---|---|---|
| 0 | phases/0-preflight.md | config + Playwright MCP + 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 | fan out @visual-qa-page per page (parallel via is_background) |
| 4 | phases/4-aggregate.md | diff vs prior, write report.json + report.md |
| 5 | phases/5-summary.md | chat summary + exit code |
.visual-qa-state.json. Same shape as Claude port.@visual-qa-page
background subagents concurrently.references/porting-notes.md..visual-qa.json missing → abort with install instructions..cursor/mcp.json snippet.--skip-health) → ask in chat, abort if --yes.incomplete,
continue other pages, surface in report.analysis_error.Coordinator prints summary: captures, analyses, issues, diff vs prior, report path. Exit code 0 if no critical issues, 1 otherwise.
templates/visual-qa.config.json.hbs — .visual-qa.json seedtemplates/mcp-snippet.json.hbs — .cursor/mcp.json Playwright entrytemplates/agents/visual-qa-page.md.hbs — per-page capture+analyze subagent (is_background: true)templates/analysis-prompt.md.hbs — per-image LLM analysis prompttemplates/report.md.hbs — human-readable reportreferences/porting-notes.md — graduation details, Cursor-specific limitationsplugins/harness-floor/skills/visual-qa/SKILL.md — source-of-truth pipelineProvides 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-cursor