From harness-floor-codex
Codex CLI port of /visual-qa — Playwright MCP capture matrix + per-image LLM analysis + diff vs prior run. Phase 3 uses Codex's `agent` hook (preferred) or sequential `.codex/skills/visual-qa-page` (fallback). 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-codex:visual-qa-codexThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Runs the cost-unrestricted visual-QA pipeline on Codex CLI. Reads
lib/codex-agent-dispatch.mjslib/codex-agent-wait.mjslib/dispatch-strategy.mjslib/sequential-dispatch.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/codex-hooks-snippet.toml.hbstemplates/mcp-snippet.toml.hbstemplates/page-prompt.md.hbstemplates/report.md.hbstemplates/visual-qa.config.json.hbsRuns the cost-unrestricted visual-QA pipeline on Codex 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-codex
/visual-qa-codex --resume
/visual-qa-codex --force --slug=my-run
/visual-qa-codex --dispatch=sequential # force fallback
--resume, --force, --yes, --budget=<USD>, --skip-health,
--slug=<custom>, --dispatch=agent-hook|sequential.
| Phase | File | Purpose |
|---|---|---|
| 0 | phases/0-preflight.md | config + MCP + dispatch-strategy detect + 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 | agent hook fan-out OR sequential dispatch |
| 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. Atomic via apply_patch + rename.| Action | Codex |
|---|---|
| Read file | implicit |
| Write file | apply_patch |
| Shell | shell_command (one-shot) / exec_command (PTY) |
| Dispatch page subagent | agent hook OR .codex/skills/visual-qa-page/SKILL.md |
| Prompt user | ask_user |
| Persist state | apply_patch |
| Playwright | mcp__playwright__browser_* (via [mcp_servers.playwright]) |
.visual-qa.json missing → abort.ask_user, abort if --yes.agent-hook dispatch fails → fall back to sequential for that wave (warn).Print summary: captures, analyses, issues, diff, dispatch strategy, report path. Exit 0 if no critical, 1 otherwise.
templates/visual-qa.config.json.hbs — .visual-qa.json seedtemplates/mcp-snippet.toml.hbs — [mcp_servers.playwright] entrytemplates/codex-hooks-snippet.toml.hbs — [[hooks.agent]] matchertemplates/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, research questionsplugins/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-codex