QA Wolf CLI is a command-line tool for running and managing QA Wolf end-to-end testing flows from a local terminal or continuous-integration environment. Development and QA teams use it to execute their browser-test flows, while test creation, AI test generation, cloud execution, and collaboration belong to the wider QA Wolf platform.
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 skills add qawolf/cli --skill qawolf-cligit clone --depth 1 https://github.com/qawolf/cliWrote 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/skills/qawolf/cli/qawolf-cli)<a href="https://agentmods.dev/skills/qawolf/cli/qawolf-cli"><img src="https://agentmods.dev/badge/skills/qawolf/cli/qawolf-cli/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/qawolf/cli/qawolf-cli"><img src="https://agentmods.dev/badge/skills/qawolf/cli/qawolf-cli.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 2 findings, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high YARA Match · line 3 YARA rule matched a hack tool or exploit indicator (offensive tools, reconnaissance, privilege escalation, or exploit frameworks).Fix: Remove offensive tool references and exploit code. Legitimate agent skills should not contain penetration testing tools, exploit frameworks, or reconnaissance utilities.
- high Prompt Injection · line 123 Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.Fix: Audit all comments and invisible characters. Remove any instructions that direct the agent to perform unauthorized actions. Use plain, reviewable content.
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.1 | $0.00112 | $0.07670 |
| Opus 5.5 | $0.00045 | $0.03068 |
| Sonnet 5.5 | $0.00022 | $0.01534 |
| Haiku 4.5 | $0.00011 | $0.00767 |
Grade C, and why
qawolf-cli scanned grade C with 1 finding 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 2d 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.
Hidden instructionshighPrompt injection
Directives inside HTML comments, invisible characters or bidirectional overrides are read by the model and not by the person reviewing the file.
<!-- prettier-ignore --> How it starts
The opening of the file, as written. The whole thing — 324 lines — stays where its author put it; the contents beside it link to each section on GitHub.
QA Wolf CLI
qawolf runs QA Wolf flows locally, calls the QA Wolf public API, and drives
interactive runners: live cloud pods holding a browser you can see and act on.
This file is an overview, not a reference. Before first using a command whose
flags are not shown here, run qawolf <command> --help once. The installed CLI
is authoritative for flags and always matches its version; reuse that syntax
for the rest of the task.
Auth
Commands that talk to QA Wolf authenticate via the QAWOLF_API_KEY
environment variable (or stored credentials from qawolf auth login).
read and write commands require auth; local commands do not, unless
their table entry notes a flag that switches them to read.
Verify with qawolf auth whoami. Never print or log the key.
A team API key in the environment is the whole credential, including for the
runner group. Nothing needs a browser login, a session token or a held
connection, so a sandbox that can set one environment variable and make
requests to one host can do everything below.
Commands use https://app.qawolf.com by default. Set QAWOLF_HOST_URL to
target another deployment host, for example
https://app.staging.example.com. QAWOLF_API_URL is a separate API endpoint
and does not select the deployment host used by CLI commands.
Resolve the target environment once per task. Use QAWOLF_ENVIRONMENT when it
is set; otherwise select an id or alias from
qawolf --json environment find and reuse it. Shell invocations may not share
exported variables, so pass the selected environment explicitly instead of
rediscovering it. Check the command's help for its environment flag: variable
commands use --environment-id; qawolf flows run uses --env; and
qawolf runner run uses --env-id, which falls back to QAWOLF_ENVIRONMENT
when neither it nor --env-file is passed.
If multiple environments are returned and the task context does not identify the target, ask instead of guessing. Do not default to the newest environment.
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 2d ago Changed 4a626bddd3d1
- 9d ago Changed · +3 lines b0f03db0dc59
- 10d ago Changed · +6 lines 111a1057adb9
- 11d ago Changed · +3 lines 360b1b00ecf2
- 16d ago Changed · +4 lines 261f57006124
- 19d ago Changed · +3 lines bc2f52e3f64c
- 23d ago Changed · +6 lines f7aa37c772e7
- 25d ago Changed · +12 lines e88aff80fe24
- 29d ago Changed · -1 lines · -6 tokens per session e762250a0f07
- 1mo ago First seen · 288 lines · 118 tokens per session scan C 460f73d1ab7e
qawolf-cli is a skill published in the GitHub repository qawolf/cli (3,455 stars, last pushed yesterday), licensed Apache-2.0. It adds 112 tokens to every session and 7,670 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it C with 1 finding (hidden instructions). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
hatch3r-browser-verify
Opt-in browser verification skill — spec-run-first Playwright verification (assertions execute in the runner, agent reads only failures), axe-core a11y audits, toHaveScreenshot() regression diffs, E2E test scaffolds, and snapshot-mode exploratory driving. Default ON for UI-affecting agent invocations; disable globally…
playwright-expert
Expert in Playwright E2E testing framework, auto-waiting mechanisms, test generation, trace viewer, and CI/CD integration. Use when the user mentions testing, end-to-end tests, QA, automation, end-to-end testing, or test automation, or when the task involves Playwright Framework, Test Organization, Advanced Features…
e2e-setup
Set up Playwright e2e automation tailored to this team and app. Probes the running app (auth mechanism, API surface, spec availability), interviews with recommendations instead of open questions, scaffolds the playwright/ folder, and records every decision in playwright/AUTOMATION.md for the other e2e skills to read.…
verify-fix
Re-test a bug fix after a developer resolves it. Pulls the original bug from Jira, re-executes the repro steps in the browser, checks for regressions, and updates the bug status. The final step in the SDT workflow before a ticket moves to Done. Use when: "verify fix", "retest", "is this fixed?", "check BUG-123"…
browser-test-executor
Execute approved bounded browser Test DSL cases with fresh isolated contexts and auditable attempts. Use when running browser tests, reruns, regression checks, or blocked execution diagnostics.
pw-playwright-fieldkit
Explore, debug, audit, compare, record, and test live websites with deterministic Playwright scripts and QE workflows. Use for requests to map a site, find broken pages or links, reproduce browser bugs, discover hidden or role-gated features, audit accessibility/performance, compare crawls, design or review test cases…