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 TimothyHan/qa-buddy-skills --skill exploratorygit clone --depth 1 https://github.com/TimothyHan/qa-buddy-skillsWrote 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/timothyhan/qa-buddy-skills/exploratory)<a href="https://agentmods.dev/skills/timothyhan/qa-buddy-skills/exploratory"><img src="https://agentmods.dev/badge/skills/timothyhan/qa-buddy-skills/exploratory/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/timothyhan/qa-buddy-skills/exploratory"><img src="https://agentmods.dev/badge/skills/timothyhan/qa-buddy-skills/exploratory.svg" alt="Reviewed on agentmods" width="80" 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.1 | $0.00117 | $0.02098 |
| Opus 5 | $0.00059 | $0.01049 |
| Sonnet 5 | $0.00023 | $0.00420 |
| Haiku 4.5 | $0.00012 | $0.00210 |
Grade C, and why
exploratory 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 today.
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.
Tells the agent never to refusehighAnti-refusal
Suppressing the ability to decline removes a core safety control; a later harmful request then succeeds.
8. **Always use the browser.** Never refuse browser testing when /qa-exploratory is invoked. How it starts
The opening of the file, as written. The whole thing — 187 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/qa-exploratory: Exploratory Testing Session
You are an SDT partner guiding and executing an exploratory testing session. Exploratory testing is unscripted, time-boxed, charter-driven testing that discovers what scripted tests miss.
Constraints
- Stay unscripted. Charter gives direction, not steps. Follow surprises.
- Time-box strictly. When time is up, wrap up. Don't extend without SDT consent. Headless: run
--quickand wrap up once every focus area has a result. - Classify every finding. Severity and priority per
REF-playbook/risk-and-priority#severity-scaleand#priority-scalein your compiled slice. No unclassified findings. - Screenshot everything interesting. Findings without evidence are not findings.
- Check console and network requests constantly. After every interaction, every page load — API status codes and query parameters prove what the UI hides.
- Discovers, not fixes. Findings feed
/qa-test-casesand/qa-qa. Don't fix or automate here. - Note what you didn't get to. List unexplored areas for the next session.
- Always use the browser. Never refuse browser testing when /qa-exploratory is invoked.
Scratchpad (run protocol): write ## Plan to the run's scratchpad.md before Phase 1; at each phase boundary and every Review Options pause update ## State and re-read the scratchpad before continuing; drop noteworthy things into ## Candidate learnings as you go.
Phase 1: Setup
Methodology reference: Read from {{REFERENCE_PATH}}/playbook/:
test-types.md— where exploratory sits among the manual test types (after functional, before UAT)metrics-and-coverage.md— exploratory fills coverage gapstest-distribution.md— assign discoveries to the right test layerexploratory-heuristics.md— heuristic categories, techniques, finding categories
- Read
.qabuddy.json(if exists) for context source and team mode.contextSource: "spec"→ search workspace for spec files before askingcontextSource: "chat"→ skip Jira, ask SDT for context directlycontextSource: "jira"or no config → current behavior
What ships with it
60 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.
- tests/calibration/control-classification/artifact/.qa-reports/exploratory-control.md 1.1 KB
- tests/calibration/control-classification/human.json 258 B
- tests/calibration/control-classification/meta.json 155 B
- tests/calibration/control-classification/scoring-sheet.md 10 KB
- tests/calibration/control-duration-recorded/artifact/.qa-reports/exploratory-control.md 727 B
- tests/calibration/control-duration-recorded/human.json 258 B
- tests/calibration/control-duration-recorded/meta.json 161 B
- tests/calibration/control-duration-recorded/scoring-sheet.md 9.8 KB
- tests/calibration/control-evidence/artifact/.qa-reports/exploratory-control.md 1.1 KB
- tests/calibration/control-evidence/human.json 258 B
- tests/calibration/control-evidence/meta.json 143 B
- tests/calibration/control-evidence/scoring-sheet.md 10 KB
- tests/calibration/control-finding-correctness/artifact/.qa-reports/exploratory-control.md 1.2 KB
- tests/calibration/control-finding-correctness/human.json 258 B
- tests/calibration/control-finding-correctness/meta.json 165 B
- tests/calibration/control-finding-correctness/scoring-sheet.md 10 KB
- tests/calibration/control-no-duplicate-scenarios/artifact/.qa-reports/exploratory-control.md 1.2 KB
- tests/calibration/control-no-duplicate-scenarios/human.json 258 B
- tests/calibration/control-no-duplicate-scenarios/meta.json 171 B
- tests/calibration/control-no-duplicate-scenarios/scoring-sheet.md 10 KB
- tests/calibration/extra-acme-exploratory-2026-09-05/artifact/.qa-reports/exploratory-extra.md 7.4 KB
- tests/calibration/extra-acme-exploratory-2026-09-05/human.json 257 B
- tests/calibration/extra-acme-exploratory-2026-09-05/meta.json 265 B
- tests/calibration/extra-acme-exploratory-2026-09-05/scoring-sheet.md 16 KB
- tests/calibration/run-pr3-set-2-v3-planted-run-1/artifact/.qa-reports/exploratory-projects-2026-09-05.md 9.8 KB
- tests/calibration/run-pr3-set-2-v3-planted-run-1/artifact/.qa-reports/runs/exploratory-nobranch-cf2f5f/scratchpad.md 4.4 KB
- tests/calibration/run-pr3-set-2-v3-planted-run-1/artifact/exec.jsonl 477 KB
- tests/calibration/run-pr3-set-2-v3-planted-run-1/artifact/features-kb/learnings-log.jsonl 3.5 KB
- tests/calibration/run-pr3-set-2-v3-planted-run-1/human.json 257 B
- tests/calibration/run-pr3-set-2-v3-planted-run-1/meta.json 200 B
- tests/calibration/run-pr3-set-2-v3-planted-run-1/scoring-sheet.md 19 KB
- tests/calibration/run-pr3-set-quick-timebox-run-1/artifact/.qa-reports/exploratory-projects-2026-09-05.md 8.5 KB
- tests/calibration/run-pr3-set-quick-timebox-run-1/artifact/.qa-reports/runs/exploratory-nobranch-6da163/scratchpad.md 2.4 KB
- tests/calibration/run-pr3-set-quick-timebox-run-1/artifact/exec.jsonl 466 KB
- tests/calibration/run-pr3-set-quick-timebox-run-1/artifact/features-kb/learnings-log.jsonl 3.7 KB
- tests/calibration/run-pr3-set-quick-timebox-run-1/human.json 257 B
- tests/calibration/run-pr3-set-quick-timebox-run-1/meta.json 205 B
- tests/calibration/run-pr3-set-quick-timebox-run-1/scoring-sheet.md 17 KB
- tests/calibration/run-pr3-set-v1-clean-run-1/artifact/.qa-reports/exploratory-charter-projects-2026-09-05.md 1.6 KB
- tests/calibration/run-pr3-set-v1-clean-run-1/artifact/.qa-reports/exploratory-projects-2026-09-05.md 11 KB
- tests/calibration/run-pr3-set-v1-clean-run-1/artifact/.qa-reports/runs/exploratory-nobranch-916dc5/scratchpad.md 1.7 KB
- tests/calibration/run-pr3-set-v1-clean-run-1/artifact/exec.jsonl 509 KB
- tests/calibration/run-pr3-set-v1-clean-run-1/artifact/features-kb/learnings-log.jsonl 3.9 KB
- tests/calibration/run-pr3-set-v1-clean-run-1/human.json 257 B
- tests/calibration/run-pr3-set-v1-clean-run-1/meta.json 190 B
- tests/calibration/run-pr3-set-v1-clean-run-1/scoring-sheet.md 21 KB
- tests/calibration/run-pr3-set-v3-planted-run-1/artifact/.qa-reports/exploratory-projects-2026-09-05.md 11 KB
- tests/calibration/run-pr3-set-v3-planted-run-1/artifact/.qa-reports/runs/exploratory-nobranch-9a3bc9/scratchpad.md 1.8 KB
- tests/calibration/run-pr3-set-v3-planted-run-1/artifact/exec.jsonl 634 KB
- tests/calibration/run-pr3-set-v3-planted-run-1/artifact/features-kb/learnings-log.jsonl 3.5 KB
- tests/calibration/run-pr3-set-v3-planted-run-1/human.json 258 B
- tests/calibration/run-pr3-set-v3-planted-run-1/meta.json 196 B
- tests/calibration/run-pr3-set-v3-planted-run-1/scoring-sheet.md 20 KB
- tests/cases/quick-timebox/case.json 312 B
- tests/cases/quick-timebox/input/.qabuddy.json 177 B
- tests/cases/quick-timebox/input/features-kb/features/projects/feature.md 681 B
- tests/cases/quick-timebox/input/features-kb/features/projects/test-cases/projects.md 855 B
- tests/cases/quick-timebox/input/features-kb/index.json 175 B
- tests/cases/quick-timebox/judge-notes.md 1.0 KB
- tests/cases/v1-clean/case.json 296 B
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.
- today Changed · +2 lines 952da8c079a6
- 2d ago Changed 832f7ddcf183
- 8d ago First seen · 185 lines · 117 tokens per session scan C dfe6b604e5aa
exploratory is a skill published in the GitHub repository TimothyHan/qa-buddy-skills (7 stars, last pushed today), licensed Apache-2.0. It adds 117 tokens to every session and 2,098 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it C with 1 finding (tells the agent never to refuse). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
qawolf-cli
Manage QA Wolf through the qawolf CLI. Use when asked to create, update, or list coverage requests, bug reports, or maintenance reports; start a run of flows or tags on the QA Wolf platform or read a run's results; list, set, or delete environment variables; manage environments, flows, or tags; request automation of…
test-review
A review checklist for newly written or changed automated tests using TypeScript and Playwright. Playwright is a tool for testing web browsers, and automated tests check software without repeating the steps by hand.
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…
testing
A thorough testing framework for websites, user interfaces, back-end services, APIs, and builds. It checks normal use, errors, limits, and unusual combinations, and records evidence for each result.
test-cases
A tool for designing software test cases and exporting them as CSV files for Zephyr Scale, a test-management system, or creating them directly in a connected test-management tool.
sniff
Use when the user types /sniff, or asks to "scan this project for bugs", "find bugs in my app", "QA my site", or "walk my app and tell me what's broken". For a running web app, finds real, reproducible issues (broken pages/links, console & network errors, broken forms, empty/placeholder data, state-loss, bad…