Performs visual QA smoke tests on UI changes in browser extensions via screenshots, console logs, network checks, and quick flows. Skips non-UI changes; requires post-merge on main.
From conductornpx claudepluginhub ggprompts/my-plugins --plugin conductorThis skill is limited to using the following tools:
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Lightweight visual smoke test for UI-facing changes.
Writes result to .checkpoints/visual-qa.json.
This checkpoint should only be run by the conductor AFTER merging changes to main.
Workers on git worktrees cannot run visual-qa because:
npm run dev instances on same portCorrect workflow:
/conductor:visual-qa on main branchextension/ and no *.css, *.tsx, *.jsx) → PASS (skipped).CHANGED=$( (git diff --name-only main...HEAD 2>/dev/null || true) ; git diff --name-only 2>/dev/null || true ; git diff --cached --name-only 2>/dev/null || true )
CHANGED=$(echo "$CHANGED" | sed '/^$/d' | sort -u)
if echo "$CHANGED" | grep -qE '^(extension/)|(\.tsx$)|(\.jsx$)|(\.css$)'; then
NEEDS_VISUAL=1
else
NEEDS_VISUAL=0
fi
BEFORE any browser work, create YOUR OWN tab group with a random 3-digit suffix.
This is mandatory because:
# 1. Generate random ID
SESSION_ID="Claude-$(shuf -i 100-999 -n 1)"
# 2. Create group
mcp-cli call tabz/tabz_create_group '{"title": "'$SESSION_ID'", "color": "cyan"}'
# Returns: {"groupId": 123, ...}
# 3. Open URLs into YOUR group (use returned groupId)
mcp-cli call tabz/tabz_open_url '{"url": "https://example.com", "groupId": 123}'
# 4. Always use explicit tabId from your group - NEVER rely on active tab
If NEEDS_VISUAL=1, do the quickest relevant check:
If you have Tabz MCP available, you can use it (preferred):
tabz_get_console_logs (errors)tabz_screenshot (capture)tabz_enable_network_capture + tabz_get_network_requests (API failures)Always pass explicit tabId - never rely on "active tab":
# Get your tab's ID from your group
mcp-cli call tabz/tabz_screenshot '{"tabId": YOUR_TAB_ID}'
mcp-cli call tabz/tabz_get_console_logs '{"tabId": YOUR_TAB_ID}'
If Tabz MCP isn't available, do a manual check and note it.
mkdir -p .checkpoints
cat > .checkpoints/visual-qa.json << EOF
{
"checkpoint": "visual-qa",
"timestamp": "$(date -Iseconds)",
"passed": ${PASSED},
"needs_visual": ${NEEDS_VISUAL},
"summary": "${SUMMARY}"
}
EOF