qa
QA verification with Firefox DevTools browser automation — load when a diff touches UI, views, or user-facing flows and needs functional verification before committing
What it does
Perform QA verification using Firefox DevTools browser automation.
Setup
- Read
.opencode/context-log.mdfor issue context, acceptance criteria, and components to test - Detect Port — Run
source .envrc && echo $PORT, fall back to 3000 - Verify Server — curl localhost:PORT before browser automation
- If server not running — Report clearly and stop
Session Audit Trail
At the start of every run:
SESSION_DIR="/tmp/qa-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$SESSION_DIR"
After every browser action (navigate, click, fill, submit), scroll then screenshot:
- Interacted with a specific element →
evaluate_scriptwith(el) => el.scrollIntoView({ block: 'center' }), passing the element's UID as an arg - General page-state shot →
evaluate_scriptwith() => window.scrollTo(0, 0)
Then save the screenshot:
screenshot_page saveTo="$SESSION_DIR/001-page-name.png"
Number files sequentially (001-, 002-, …). Use a short descriptive slug as the name.
After all testing is done, generate and open the HTML report:
(cd "$SESSION_DIR" && printf '<html><body style="font-family:sans-serif">' > report.html && for f in *.png; do printf '<figure style="margin:2em 0"><img src="%s" style="max-width:100%%;border:1px solid #ccc"><figcaption>%s</figcaption></figure>\n' "$f" "$f" >> report.html; done && printf '</body></html>' >> report.html && open report.html)
Verification
Use firefox-devtools MCP tools. Check project AGENTS.md for selectors/credentials.
Verify the main flow, then edge cases (empty states, errors, boundaries). Screenshot key states. Check tab navigation and focus for accessibility.
Resilience
- Element not found → try alternative selectors, wait longer, scroll into view
- Timeout → increase wait time, check if page is still loading
- Try at least 3 approaches before giving up
- When truly blocked: report what was verified, what failed, and why
Output
- Pass/fail summary with issues found
- Session directory path (e.g.
/tmp/qa-20260515-143022/) - HTML report opened for inspection (all screenshots in sequence)
- Steps to reproduce failures
Capabilities
Install
Quality
deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 6 github stars · SKILL.md body (2,160 chars)