From harness-floor-gemini
Gemini CLI port of /visual-qa — Playwright MCP capture matrix + per-image LLM analysis + diff vs prior run. Phase 3 forks N parallel `gemini chat` subprocesses for per-page capture+analyze. See plugins/harness-floor/skills/visual-qa/SKILL.md for source-of-truth.
How this skill is triggered — by the user, by Claude, or both
Slash command
/harness-floor-gemini:visual-qa-geminiThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Runs the cost-unrestricted visual-QA pipeline on Gemini CLI. Reads
lib/cost-accumulator.mjslib/result-collector.mjslib/subprocess-fleet.mjslib/tmp-gc.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.hbstemplates/page-prompt.md.hbstemplates/report.md.hbstemplates/visual-qa.config.json.hbsRuns the cost-unrestricted visual-QA pipeline on Gemini 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-gemini
/visual-qa-gemini --resume
/visual-qa-gemini --force --slug=my-run
--resume, --force, --yes, --budget=<USD>, --skip-health,
--slug=<custom>, --subprocess-timeout=<sec>, --max-subprocesses=<N>.
| Phase | File | Purpose |
|---|---|---|
| 0 | phases/0-preflight.md | config + MCP + subprocess sanity + health |
| 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 | fork N parallel gemini chat subprocesses per page |
| 4 | phases/4-aggregate.md | diff vs prior, write report.json + report.md |
| 5 | phases/5-summary.md | summary + tmp GC + exit code |
.visual-qa-state.json. Atomic via write_file + rename./tmp/visual-qa/ for IPC; GC'd in Phase 5.| Action | Gemini |
|---|---|
| Read file | read_file |
| Write file | write_file |
| Shell | run_shell_command |
| Dispatch page subagent | spawn gemini chat -p ... --output-file ... & subprocess |
| Await | wait <pid> OR poll tmp dir |
| Prompt user | ask_user |
| Playwright | mcp__playwright__browser_* (via ~/.gemini/settings.json mcpServers) |
.visual-qa.json missing → abort.gemini binary missing → abort.ask_user, abort if --yes.Print summary including subprocesses used + total cost. GC /tmp/visual-qa/.
Exit 0 if no critical, 1 otherwise.
templates/visual-qa.config.json.hbs — .visual-qa.json seedtemplates/mcp-snippet.json.hbs — ~/.gemini/settings.json Playwright entrytemplates/page-prompt.md.hbs — per-page subagent prompttemplates/analysis-prompt.md.hbs — per-image LLM prompttemplates/report.md.hbs — human-readable reportreferences/porting-notes.md — graduation, subprocess strategy detailsplugins/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-gemini