agents/skills/qa-gstack-only/SKILL.md
Report-only QA testing -- finds bugs but NEVER fixes them. Runs browser-based QA testing, documents issues with screenshot evidence, produces health scores and structured reports. Use when asked to "just find bugs", "QA report", "audit this site", or when you want a QA assessment without code changes. For the full test-fix-verify loop, use /qa-gstack.
npx skillsauth add carterdea/dots qa-gstack-onlyInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are a QA engineer. Test web applications like a real user -- click everything, fill every form, check every state. Produce a structured report with evidence. NEVER fix anything.
Default to agent-browser CLI. Before using any browser tool, detect what's available:
command -v agent-browser 2>/dev/null && echo "FOUND:agent-browser" || echo "MISSING:agent-browser"
Priority order:
agent-browser open, agent-browser snapshot -i, agent-browser click, agent-browser fill, agent-browser screenshot, etc. Invoke the /agent-browser skill for full command reference.Do NOT use Chrome MCP (mcp__claude-in-chrome__*) when agent-browser is installed. All browser commands in this skill (navigate, screenshot, snapshot, click, fill) should use agent-browser equivalents.
Parse the user's request for these parameters:
| Parameter | Default | Override example |
|-----------|---------|-----------------:|
| Target URL | (auto-detect or required) | https://myapp.com, http://localhost:3000 |
| Mode | full | --quick, --regression baseline.json |
| Output dir | .qa-reports/ | Output to /tmp/qa |
| Scope | Full app (or diff-scoped) | Focus on the billing page |
| Auth | None | Sign in to [email protected], Import cookies from cookies.json |
If no URL is given and you're on a feature branch: Automatically enter diff-aware mode.
Create output directories:
mkdir -p .qa-reports/screenshots
This is the primary mode for developers verifying their work:
Analyze the branch diff to understand what changed:
git diff main...HEAD --name-only
git log main..HEAD --oneline
Identify affected pages/routes from the changed files:
If no obvious pages/routes are identified from the diff: Do not skip browser testing. Fall back to Quick mode -- navigate to the homepage, follow the top 5 navigation targets, check console for errors.
Detect the running app -- check common local dev ports:
curl -s -o /dev/null -w "%{http_code}" http://localhost:3000 2>/dev/null
curl -s -o /dev/null -w "%{http_code}" http://localhost:4000 2>/dev/null
curl -s -o /dev/null -w "%{http_code}" http://localhost:5173 2>/dev/null
curl -s -o /dev/null -w "%{http_code}" http://localhost:8080 2>/dev/null
If no local app is found, ask the user for the URL.
Test each affected page/route with screenshots and console checks.
Cross-reference with commit messages to understand intent -- verify it does that.
Report findings scoped to the branch changes.
Systematic exploration. Visit every reachable page. Document 5-10 well-evidenced issues. Produce health score.
--quick)30-second smoke test. Visit homepage + top 5 navigation targets. Check: page loads? Console errors? Broken links? Produce health score.
--regression <baseline>)Run full mode, then load baseline.json from a previous run. Diff: which issues are fixed? Which are new? What's the score delta?
If the user specified auth credentials, navigate to login page, fill credentials, submit. If 2FA/OTP is required, ask the user for the code. If CAPTCHA blocks, tell the user to complete it manually.
NEVER include real passwords in the report. Always write [REDACTED].
Get a map of the application:
Detect framework (note in report metadata):
__next in HTML or _next/data requests -> Next.jscsrf-token meta tag -> Railswp-content in URLs -> WordPressVisit pages systematically. At each page:
Depth judgment: Spend more time on core features and less on secondary pages.
Document each issue immediately when found -- don't batch them.
Interactive bugs (broken flows, dead buttons, form failures):
Static bugs (typos, layout issues, missing images):
baseline.json for future regression runsCompute each category score (0-100), then take the weighted average.
Each category starts at 100. Deduct per finding:
| Category | Weight | |----------|--------| | Console | 15% | | Links | 10% | | Visual | 10% | | Functional | 20% | | UX | 15% | | Performance | 10% | | Content | 5% | | Accessibility | 15% |
score = sum(category_score * weight)
Hydration failed, Text content did not match)_next/data requests in network -- 404s indicate broken data fetching/wp-json/)Write the report to .qa-reports/qa-report-{domain}-{YYYY-MM-DD}.md
.qa-reports/
qa-report-{domain}-{YYYY-MM-DD}.md # Structured report
screenshots/
initial.png # Landing page
issue-001-step-1.png # Per-issue evidence
issue-001-result.png
...
baseline.json # For regression mode
[REDACTED] for passwords in repro steps./qa-gstack for the test-fix-verify loop.development
Ship a Trello ticket end to end on any web app (Vercel, Fly.io, or other host — no Shopify): pull the latest main, read the card including Figma links, implement the change in a worktree, run the project's own tests/lint/typecheck, run de-slop and code-simplifier and fold the worthwhile cleanups in, QA desktop and mobile on a local Portless preview URL, capture screenshots, open or update the GitHub PR, link the PR and Trello to each other, attach screenshots to both, comment on the card, and move it to review. Use this whenever the user points you at a Trello card or ticket for a code task and wants it delivered as a reviewable PR — phrases like 'do this Trello ticket', 'ship this card', 'pick up this ticket and open a PR', 'update the PR for this card', or names a card/list/board with a feature or bug to implement. This is the default Trello-to-PR workflow for non-Shopify projects; for Shopify theme work use shopify-trello-delivery instead.
tools
Install or upgrade a quality baseline for Shopify theme repos. Use this whenever the user asks to add Shopify theme linting, Biome, Theme Check, Playwright accessibility checks, Vitest, Vite build tooling, lefthook hooks, GitHub Actions CI, Shopify Lighthouse CI, Claude Code PR review workflows, or a context-efficient run_silent.sh setup across Shopify sites.
development
Run an extremely strict maintainability review for abstraction quality, giant files, and spaghetti-condition growth. Use for a thermo-nuclear code quality review, thermonuclear review, deep code quality audit, or especially harsh maintainability review.
development
Ship Shopify theme work from a Trello ticket end to end: inspect the card including Figma links, implement the theme change, deploy or update the correct preview/dev theme, browser-QA desktop and mobile against Figma when available, create or update the GitHub PR, attach screenshots, comment on Trello, and move the card forward. Use this whenever the user mentions a Shopify theme task with a Trello card, Figma design/artboard, preview theme, Customizer, dev theme, PR handoff, Ready for Review/Testing, or asks to update an existing Shopify PR from a ticket.