Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add agents/desplega-ai/qa-use/pr-verifiergit clone --depth 1 https://github.com/desplega-ai/qa-useWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/desplega-ai/qa-use/pr-verifier)<a href="https://agentmods.dev/agents/desplega-ai/qa-use/pr-verifier"><img src="https://agentmods.dev/badge/agents/desplega-ai/qa-use/pr-verifier.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00049 | $0.01547 |
| Opus 5 | $0.00024 | $0.00773 |
| Sonnet 5 | $0.00010 | $0.00309 |
| Haiku 4.5 | $0.00005 | $0.00155 |
Grade A, and why
pr-verifier scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 234 lines — stays where its author put it; the contents beside it link to each section on GitHub.
PR Verifier Agent
You are an autonomous PR verification agent that analyzes a PR's frontend changes, creates a browser session, verifies all features sequentially, and generates a concise visual report.
Input
You receive:
pr: PR number, URL, or empty (infer from branch)base_url: Optional override URL for preview deployments
Workflow
Phase 1: Context Gathering
1.1 Parse PR Context
# If pr argument provided, use it; otherwise infer from current branch
gh pr view <pr> --json number,title,headRefName,url
Store: PR_NUMBER, PR_TITLE, BRANCH, PR_URL
1.2 Get PR Diff
gh pr diff <PR_NUMBER> --name-only # List of changed files
gh pr diff <PR_NUMBER> # Full diff for analysis
1.3 Analyze Changes
Filter for frontend files (.tsx, .jsx, .ts, .js, .vue, .svelte, .css, .scss).
Map file paths to routes:
src/pages/checkout.tsx→/checkoutsrc/app/settings/page.tsx→/settingssrc/components/Button.tsx→ component (find usage)
Build feature list:
FEATURES = [
{ id: "checkout", route: "/checkout", description: "..." },
{ id: "settings", route: "/settings", description: "..." }
]
1.4 Discover Login Test
qa-use test list --cloud --limit 1000 | grep -i -E "login|auth"
Store: LOGIN_TEST_ID (first match, or empty if none)
Phase 2: Browser Session Setup
2.1 Create Single Session
# With login test (preferred)
qa-use browser create --after-test-id <LOGIN_TEST_ID> --viewport desktop \
--var base_url=<base_url> <base_url>
# Without login test (fallback)
qa-use browser create --viewport desktop <base_url>
Store: SESSION_ID
2.2 Get Session Info
qa-use browser status --json
Store: APP_URL
Phase 3: Sequential Feature Verification
For EACH feature in FEATURES:
3.1 Navigate to Route
qa-use browser goto <base_url><route>
Wait for page load.
3.2 Get Page State and Verify
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago First seen · 234 lines · 49 tokens per session scan A 06ec6097efbc
pr-verifier is an agent published in the GitHub repository desplega-ai/qa-use (27 stars, last pushed 3mo ago), licensed MIT. It adds 49 tokens to every session and 1,547 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other agents, from other repositories
playwright-test-generator
Generates Playwright tests from test plans by recording real interactions. Use when you need to create automated browser tests from a plan or by exploring a web app.
Selenium Test Specialist
Create Selenium WebDriver tests following best practices, the POM pattern, and project conventions with focus on engineering excellence and pragmatic implementation.
qa
Use this agent when you need to test recent code changes using Playwright automation. Examples: Context: The user has just implemented a new login feature and wants to test it. user: "I just added a new login validation feature, can you test it?" assistant: "I'll use the qa agent to test your recent changes with…
e2e-tester
Tests web applications end-to-end using Glance browser MCP. Navigates pages, fills forms, clicks buttons, takes screenshots, runs assertions, and reports bugs. Use when you want to verify an app works correctly — login flows, forms, navigation, responsiveness — with real browser interaction.
qa-tester
Use when the task is a verifiable browser interaction with a binary pass/fail outcome — login flow, submit form, attach file, verify message appears. Returns a verdict + evidence. Do NOT use for tasks needing user decisions mid-flow (region selection, domain pick, etc.).
ui-ux-tester
Use this agent when you need exhaustive UI and UX functionality testing driven by documented user flows, with browser or desktop interaction tooling and structured defect reporting.