From chrome-qa-loop
Reusable closed loop for exploratory QA over ANY live web app via the Chrome DevTools MCP. You trigger it → Claude navigates the app with full per-screen doc context → writes one markdown report per finding → you review → hand back for triage → fixes enter a Feature-Development loop. Product-agnostic: target URL, screen manifest and report paths come from chrome-qa-loop.config.json. Trigger with "/chrome-qa-loop", "qa loop", "explore the app", "test the live app", "chrome qa".
How this skill is triggered — by the user, by Claude, or both
Slash command
/chrome-qa-loop:chrome-qa-loopThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
A reusable human-in-the-loop QA cycle, driven by Claude via the **Chrome DevTools MCP** (`chrome-devtools-mcp`). Generalized from a real implementation that QA'd VibingCash (see README) — nothing here is bound to a single product.
A reusable human-in-the-loop QA cycle, driven by Claude via the Chrome DevTools MCP (chrome-devtools-mcp). Generalized from a real implementation that QA'd VibingCash (see README) — nothing here is bound to a single product.
you trigger ─▶ EXPLORE (Chrome DevTools MCP) ─▶ REPORT (md per finding) ─▶ you REVIEW ─▶ TRIAGE ─▶ IMPLEMENT (feature-dev loop) ─▶ REFLECT ─▶ (back to you)
The loop reads chrome-qa-loop.config.json from the target repo root. If absent, ask the operator once and persist it:
{
"TARGET_BASE_URL": "https://example.com",
"SCREEN_MANIFEST": "docs/qa/PLAN.md",
"OWNER_DOCS_ROOT": "docs/features/",
"REPORTS_ROOT": "docs/qa/reports/",
"RUN_MODE": "core"
}
Scaffold the manifest + report contract from templates/ in this plugin:
PLAN.template.md, screen-manifest.template.md, report.template.md.
/chrome-qa-loop [mode=guest|guest-smoke|guest-full|smoke|core|full] # run an exploration pass (default: core)
/chrome-qa-loop triage run=<run-id> # turn reviewed reports into tasks + PLAN stubs
chrome-qa-loop.config.json exists (or create it from templates/).smoke/core/full: operator is logged into ${TARGET_BASE_URL} in the Chrome profile connected to the DevTools MCP. For guest* modes: no login required — only public routes explored.chrome-devtools MCP tools are available (chrome-devtools-mcp server, registered in this plugin's .mcp.json). Verify with list_pages. Fallback: claude-in-chrome.${REPORTS_ROOT} exists (create if missing).run-id: qa-<YYYYMMDD>-<mode> (read today's date via Bash date; the runtime forbids Date.now() in scripts).${REPORTS_ROOT}/<run-id>/.chrome-qa-explorer agent with: the run-id, the mode, the config, and a pointer to the PLAN (manifest + guardrails + report contract). It navigates, exercises scenarios, and writes one report file per finding immediately, plus _INDEX.md.The explorer is read-only on prod. It never writes real data, completes payments, or triggers blocking dialogs.
Tell the operator: open the reports folder, review each finding, and set status: triaged on the ones to act on (or rejected to drop). This is the human-in-the-loop checkpoint — do not auto-proceed.
On /chrome-qa-loop triage run=<run-id>: dispatch the qa-report-triage agent. It dedupes, prioritizes (P0–P3), locates likely code via /graphify, and emits triage/TASKS.md + per-fix PLAN.md stubs.
Each accepted PLAN stub enters a Feature-Development loop (e.g. the agentic-value-loops plugin): plan → implement → test → quality gate → ship. This loop does not re-implement that machinery.
Log the run: findings shipped, what the explorer missed, manifest gaps (new routes/screens to add). Update the manifest when the product changes. Re-run mode=smoke on fixed screens to verify (use /verify), closing the loop.
chrome-qa-explorer — browser-driving QA brain (per screen, per run).qa-report-triage — review→implement bridge.chrome-devtools (chrome-devtools-mcp, official Google Chrome DevTools MCP) — registered in .mcp.json. Verify with list_pages. Fallback: claude-in-chrome.rtk, context-mode, /caveman, /graphify — when available.Read-only on production · no blocking dialogs (use handle_dialog) · ground expectations in owner-docs before judging · secrets/PII = P0 (location only) · benign prompt-injection probe only · write a report per finding immediately (auto-saved to disk, no manual download).
npx claudepluginhub andersonlimahw/lemon-ai-hub --plugin chrome-qa-loopCreates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.