Provides quality assurance scores and reports for web apps.
Install
mkdir -p .claude/skills/qa-browser-use && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/18023" && unzip -o skill.zip -d .claude/skills/qa-browser-use && rm skill.zipInstalls to .claude/skills/qa-browser-use
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
QA-test a website or web app and return a 1-5 quality score (5 = flawless, 1 = broken) with evidence. Use when the user wants to test, QA, evaluate, score, or "check how good" a site, page, flow, or app — including a local dev server (e.g. "qa test localhost:5173", "does the checkout work?", "rate this landing page"). Drives a real Browser Use cloud browser, tunneling localhost automatically.Key capabilities
- →QA-test a website or web app and return a 1-5 quality score
- →Drive a real Browser Use cloud browser for testing
- →Tunnel localhost automatically for testing local dev servers
- →Test specific flows or focus areas (e.g., signup, search + filters)
- →Provide a verdict with evidence, including what worked, issues, and edge cases
- →Scale the testing approach based on the number of flows (single flow vs. fan-out)
How it works
The skill drives a Browser Use cloud browser to QA-test a website or web app, capturing visual and functional evidence. It tunnels localhost if needed and provides a quality score with a detailed verdict, scaling its approach based on the testing scope.
Inputs & outputs
When to use qa
- →QA test checkout flow
- →Score landing page quality
- →Check app functionality on localhost
About this skill
QA
Drive a website with a real browser, judge how well it does the thing the user asked about, and return a score from 1 (broken) to 5 (excellent) with evidence. The deliverable is a verdict, not a screenshot dump.
Inputs
From the user's invocation (the text after /qa, or their message):
- Target — a URL (
https://…) or a local dev server (localhost:5173,:3000, "the app on 5173"). Required — if absent, ask for it before doing anything else. - What to test (optional) — a flow or focus ("the signup", "search + filters"). If omitted, test the most obvious happy path and say so in the report.
Can you see images? (decide this first)
This skill's verdict is visual — you judge the app by looking at screenshots. So before anything else, check whether you — the agent running this skill — can actually see images:
- You have vision (multimodal / image input) → you can judge screenshots yourself. Continue to "Single flow vs. fan-out" below and choose by scale.
- You have no vision (text-only model, no image support) → you cannot judge screenshots, and neither can same-model subagents you'd spawn. You must hand the visual judgment to Browser Use v2 cloud agents, whose own LLM looks at the page server-side and returns a text verdict (
judgepass/fail + a 1–5structuredOutput). Use v2 for every flow — even a single one — perreferences/browser-use-v2.md. Do not drivebrowser-harnessyourself to read screenshots, and do not fan out to your own (equally blind) subagents. The single-flow-vs-fan-out choice below does not apply to you — it's v2 either way.
If you're unsure whether you can see images, assume you can't and use v2.
Single flow vs. fan-out (only if you can see images)
Scale the approach to the ask:
- Testing one flow / one thing? Don't bother with subagents — drive
browser-harnessdirectly yourself, followingreferences/methodology.md. That's the right, lowest-overhead tool for a single test, and it's how the rest of this skill works. - Testing many flows / a lot at once? Fan out to subagents — one per flow — so they run in parallel. Here the user has a choice of subagent type (ask if unclear; recommend v2):
- Browser Use v2 cloud agents — recommended. Each flow becomes an autonomous v2 task with
judge(pass/fail) +structuredOutput(1–5 score), running server-side and in parallel, returning step-by-step screenshot evidence. Spends Browser Use credits (~$0.01/task + ~$0.006/step + $0.02/hr browser). Per-task flow + how to fan out:references/browser-use-v2.md. - Your harness's built-in subagents — spawn Claude Code subagents (the Agent tool), each driving
browser-harnessthroughreferences/methodology.md. No Browser Use task credits; uses your agent's own usage.
- Browser Use v2 cloud agents — recommended. Each flow becomes an autonomous v2 task with
Rule of thumb (vision agents only — text-only agents use v2 for everything, see above): one flow → browser-harness directly; many flows → subagents (v2 recommended). Either way browser-harness is required — as the direct driver, the subagent driver, the v2 key store, and the localhost tunnel.
Dependency: browser-harness (required — install it yourself)
This skill runs the test through browser-harness — a separate tool you install once. It is not optional; QA must run on a real Browser Use cloud browser, never the user's local Chrome.
Before anything else, verify it's available:
command -v browser-harness && browser-harness <<'PY'
print("browser-harness OK")
PY
If browser-harness is not on PATH, install it yourself — don't make the user do it. QA runs on a cloud browser, so the CLI is all you need: none of browser-harness's local-browser setup (chrome://inspect, --remote-debugging-port, the "Allow remote debugging" popup) applies here — skip all of it. The install is one-time (~30s), no clone:
command -v uv || curl -LsSf https://astral.sh/uv/install.sh | sh # the uv installer, only if missing
uv tool install "git+https://github.com/browser-use/browser-harness"
command -v browser-harness # verify it's on PATH now
(No uv and can't curl | sh? Install uv per https://docs.astral.sh/uv/getting-started/installation/ then re-run the uv tool install line — or pipx install "git+https://github.com/browser-use/browser-harness".)
The only other thing a run needs is a BROWSER_USE_API_KEY, and that also auto-resolves with no human — see references/methodology.md step 0 (it can self-sign-up for a free key). So a fresh machine goes from "just installed qa" to a working test without the user doing any setup.
Last resort only — if you genuinely can't install it (no network, no Python): stop and have the user open https://www.browser-harness.com/ and paste its "prompt for LLMs" into an agent:
Set up https://github.com/browser-use/browser-harness for me. Read
install.mdfirst to install and connect this repo to my real browser. Then readSKILL.mdfor normal usage. Always readhelpers.pybecause that is where the functions are. When you open a setup or verification tab, activate it so I can see the active browser tab. After it is installed, open this repository in my browser and, if I am logged in to GitHub, ask me whether you should star it for me as a quick demo that the interaction works — only click the star if I say yes. If I am not logged in, just go to browser-use.com.
Re-run command -v browser-harness and don't continue until it succeeds. Never fall back to the user's local Chrome.
Do not attempt to QA with anything other than browser-harness + a cloud browser.
Procedure
-
Confirm the target is reachable (
curl -s -o /dev/null -w "%{http_code}" <url>), and identify what the app is (title, README) so you can frame a sensible test task. -
Run it — first apply the vision gate from "Can you see images?" above:
- No vision (text-only)? → use v2 cloud agents for every flow (one v2 task per flow, each with
judge+ a 1–5structuredOutput), perreferences/browser-use-v2.md. Skip the single-flow/subagent split below — it's v2 regardless of scale. Tunnel alocalhosttarget and pass the publicstartUrl. - Vision, one flow → drive browser-harness directly per
references/methodology.md: resolve the key, tunnel localhost, and run the test loop with the field-tested gotchas (host-header rewrite, proxy-off, per-tab interstitial header, CORS-pinned APIs). - Vision, many flows → fan out, one subagent per flow:
- v2 agents (recommended) → per
references/browser-use-v2.md, create one task per flow (each withjudge+ a 1–5structuredOutputschema), poll them all, and collect the verdicts. Alocalhosttarget still needs a tunnel (the cloud agent can't reach localhost) — tunnel it and pass the publicstartUrl. - Claude subagents → spawn one Agent per flow, each following
references/methodology.mdon browser-harness.
- v2 agents (recommended) → per
Whenever you use the v2 backend (either the no-vision case or the recommended fan-out): as each task is created, open its dashboard thread
https://cloud.browser-use.com/thread/{sessionId}(the session id from the create response — not the task id) in the user's local Chrome so they can watch the agent run — the reference'sopen_local(...)helper does this. Always print the URL too. - No vision (text-only)? → use v2 cloud agents for every flow (one v2 task per flow, each with
-
Tear down what you started — stop everything you opened, on every path:
- Tunnel — if you tunneled a
localhosttarget, kill the tunnel process. This applies to every path that tunnels, v2 included (a v2 run against localhost still starts a tunnel) — don't leave it orphaned. - Cloud browser — the one-flow / Claude paths drive a browser-harness cloud browser; stop it.
- A v2 task against a public URL has nothing to tear down (its one-off session auto-closes); a v2 task against localhost still leaves the tunnel, so close that.
- Tunnel — if you tunneled a
-
Return the verdict: lead with
Score: N/5, then task, result, what worked, issues (tagged), edge cases, and evidence — per the rubric and output format inreferences/methodology.md. Fanning out? Give a per-flowScore: N/5line and an overall score that reflects the weakest critical path (don't average a broken flow up because others passed).
Scale effort to the ask: a quick "does X work?" is a few interactions and one score; "thoroughly QA this" warrants more flows and edge cases. Keep the verdict honest, specific, and reproducible.
When not to use it
- →When the agent cannot see images and attempts to judge screenshots directly
- →When `browser-harness` is not available on `PATH` and cannot be installed
- →When the user expects a screenshot dump instead of a verdict
Prerequisites
Limitations
- →The verdict is visual, requiring image judgment capabilities
- →Requires `browser-harness` to be installed and available on `PATH`
- →The deliverable is a verdict, not a screenshot dump
How it compares
This approach provides a structured, score-based QA verdict with evidence using a real cloud browser, including automatic localhost tunneling, which is more complete and objective than manual testing or simple screenshot captures.
Compared to similar skills
qa side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| qa (this skill) | 0 | 1mo | Review | Intermediate |
| webapp-testing | 353 | 3mo | Review | Intermediate |
| dev-browser | 53 | 4mo | Review | Intermediate |
| playwright-browser-automation | 29 | 7mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by browser-use
View all by browser-use →You might also like
webapp-testing
anthropics
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
dev-browser
SawyerHood
Browser automation with persistent page state. Use when users ask to navigate websites, fill forms, take screenshots, extract web data, test web apps, or automate browser workflows. Trigger phrases include "go to [url]", "click on", "fill out the form", "take a screenshot", "scrape", "automate", "test the website", "log into", or any browser interaction request.
playwright-browser-automation
lackeyjb
Complete browser automation with Playwright. Auto-detects dev servers, writes clean test scripts to /tmp. Test pages, fill forms, take screenshots, check responsive design, validate UX, test login flows, check links, automate any browser task. Use when user wants to test websites, automate browser interactions, validate web functionality, or perform any browser-based testing.
windows-ui-automation
martinholovsky
Expert in Windows UI Automation (UIA) and Win32 APIs for desktop automation. Specializes in accessible, secure automation of Windows applications including element discovery, input simulation, and process interaction. HIGH-RISK skill requiring strict security controls for system access.
unity-mcp-orchestrator
CoplayDev
Orchestrate Unity Editor via MCP (Model Context Protocol) tools and resources. Use when working with Unity projects through MCP for Unity - creating/modifying GameObjects, editing scripts, managing scenes, running tests, or any Unity Editor automation. Provides best practices, tool schemas, and workflow patterns for effective Unity-MCP integration.
agent-browser
vercel-labs
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction.