Best for
- Use when evaluating tool, trace, red-team, regression, multi-agent, or carried-workspace trajectory behavior.
vasilyu1983/AI-Agents-public/frameworks/shared-skills/skills/qa-agent-testing/SKILL.md
Builds QA harnesses for LLM agents. Use when evaluating tool, trace, red-team, regression, multi-agent, or carried-workspace trajectory behavior.
Decision brief
Design and run reliable evaluation suites for LLM agents, including tool-using, multi-turn, and multi-agent systems.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Declared | Source record | Install path and trigger |
| Claude Code | Declared | Source record | Install path and trigger |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/vasilyu1983/AI-Agents-public --skill "frameworks/shared-skills/skills/qa-agent-testing"Inspect the Agent Skill "qa-agent-testing" from https://github.com/vasilyu1983/AI-Agents-public/blob/53f6cb73ea53a2646e3e7d4665062ad66f3683ac/frameworks/shared-skills/skills/qa-agent-testing/SKILL.md at commit 53f6cb73ea53a2646e3e7d4665062ad66f3683ac. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
1. Define the Agent Under Test (AUT): scope, tools, approval boundaries, out-of-scope requests, and safety rules. 2. Build a starter suite from real work: - Smoke suite: 5-8 highest-signal checks for PR gates - Regression suite: 15-25 tasks from real failures, tickets, or produc…
1. Copy assets/qa-harness-template.md 2. Fill in AUT scope, tools, and approval boundaries 3. Define the starter 10 tasks + 5 refusals 4. Add smoke, regression, and security packs from real work 5. Set objective graders and refusal oracles 6. Run baseline tests and record traces…
Minimal instrumentation: Instrument agents at three points only — LLM call entry/exit (with span IDs), tool invocations (input, output, duration), and branching decision points (which path was chosen and why). Avoid instrumenting every intermediate computation; each additional t…
Use two layers and one rubric:
Track these separately at suite level, not as per-task rubric rows: latency, cost, stability, bias or fairness, and debuggability.
Permission review
The documentation includes network, browsing, or remote request actions.
Use web search or web fetch to verify current external facts, versions, pricing, deadlines, regulations, or platform behavior before final answers.Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 91/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 82 | Source | Repository attention, not individual Skill quality |
| Compatibility | 2 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Design and run reliable evaluation suites for LLM agents, including tool-using, multi-turn, and multi-agent systems.
Use the starter templates in assets/ for day-0 setup. The template keeps 10 tasks + 5 refusals as a starter scaffold, not a best-practice cap.
Minimal instrumentation: Instrument agents at three points only — LLM call entry/exit (with span IDs), tool invocations (input, output, duration), and branching decision points (which path was chosen and why). Avoid instrumenting every intermediate computation; each additional trace dimension increases latency and storage cost, and the exact overhead depends on SDK, sampling, export path, and backend. Start minimal, expand only when a category of failure is consistently hard to diagnose without it.
Use two layers and one rubric:
| Layer | What to Grade | Recommended Graders |
|---|---|---|
| Outcome | Final answer, constraints, refusals, citations, format | Schema/code graders, policy oracles, human spot checks |
| Trace | Tool choice, tool args, approvals, recovery, side effects | Tool/trace graders, sandbox logs, targeted model graders |
| Dimension | What to Measure |
|---|---|
| Task outcome | Did the agent accomplish the job correctly? |
| Policy and constraints | Did it respect safety, scope, and user constraints? |
| Grounding and evidence | Are claims, citations, and retrieved facts supportable? |
| User communication | Is the result clear, appropriately scoped, and useful? |
| Tool choice | Did it select the right tools, or correctly avoid tool use? |
| Tool execution and recovery | Were tool args, approvals, retries, and side effects handled safely? |
Track these separately at suite level, not as per-task rubric rows: latency, cost, stability, bias or fairness, and debuggability.
Trace grading in practice: When grading the Trace layer, evaluate four properties independently:
Prefer code-based graders for (1) and (2); reserve LLM judges for (3) and (4) where rubrics are harder to express as code.
Judgment calls a checklist alone will not surface:
references/eval-dataset-design.md has a worked example) — the answer is often larger than intuition suggests. A release-gate golden set answering "did anything obviously break" needs far fewer cases (15-25) than a statistical A/B claim needs (often 300-900+ per arm, depending on baseline and effect size). Match the sample size to the claim you intend to make, not to a fixed convention.references/llm-judge-limitations.md for the full decision guide.references/eval-dataset-design.md.When testing agents that modify code (SWE agents, coding assistants, CI agents), use graph-based impact analysis to surface which tests cover the files being changed.
TDAD (arXiv:2603.17973) is a high-signal reference here: it found that targeted source-to-test context outperformed generic procedural TDD prompting for coding-agent regression control.
Working rule:
Use references/coding-agent-regression-testing.md for the benchmark details, protocol, and how to combine this with classic TDD.
A coding agent can pass independent tasks yet degrade when it repeatedly extends its own earlier work. For edit, refactor, and migration agents, add an evolving-spec trajectory when this compounding risk is in scope:
Benchmark-mode hidden tests and production-mode targeted test context serve different goals. Keep held-out tests hidden from the agent when estimating unbiased benchmark performance. In production regression control, expose the relevant TDAD source-to-test map and targeted test context so the agent can protect known behavior; retain a separate held-out evaluation slice for measurement.
Use references/iterative-coding-agent-evals.md for the protocol, formulas, interpretation limits, and trajectory record.
Do:
Avoid:
| Need | Use | Location |
|---|---|---|
| Build the starter suite | Task patterns + starter scaffold | references/test-case-design.md |
| Control regressions in coding agents | TDAD pattern + source-to-test context | references/coding-agent-regression-testing.md |
| Test iterative coding robustness | Carried-workspace checkpoints + trajectory scoring | references/iterative-coding-agent-evals.md |
| Design refusals | Refusal categories + templates | references/refusal-patterns.md |
| Score runs consistently | Canonical rubric + thresholds | references/scoring-rubric.md |
| Compute suite math | CLI utility script | scripts/score_suite.py |
| Manage regressions | Rerun scopes + baseline policy | references/regression-protocol.md |
| Sandbox tool execution | Isolation tiers + MCP/tool hardening | references/tool-sandboxing.md |
| Choose an eval toolchain | Tooling comparison for regression, traces, and policy gates | references/eval-tooling-patterns.md |
| Test multi-agent systems | Coordination patterns + suite template | references/multi-agent-testing.md |
| Use LLM-as-judge safely | Biases + mitigations | references/llm-judge-limitations.md |
| Test prompt injection attacks | Injection taxonomy + defense checks | references/prompt-injection-testing.md |
| Detect hallucinations | Claim extraction + citation checks | references/hallucination-detection.md |
| Design eval datasets | Dataset construction + maintenance | references/eval-dataset-design.md |
| Choose or critique an agent benchmark | τ²-bench usage + ABC checklist methodology | references/agentic-benchmarks.md |
| Red-team with automated scanners | garak (batch probes) + PyRIT (multi-turn adversarial) | references/prompt-injection-testing.md |
| Start from templates | Harness + scoring + regression log | assets/ |
Key tools mapped to QA jobs (see references/eval-tooling-patterns.md for the full table and references/eval-platform-selection.md for platform comparison with code examples):
Platform deprecation note (June 2026): The OpenAI Platform Evals UI (hosted at platform.openai.com) is being shut down — read-only October 31 2026, full shutdown November 30 2026. The open-source openai/evals package and API remain available. Teams using the Platform UI should migrate to Promptfoo (OpenAI-recommended), DeepEval, or Braintrust.
Rule of thumb:
Testing an agent?
- New agent?
- Create starter harness -> Run smoke suite -> Establish baseline
- Prompt or tool changed?
- Re-run smoke suite + affected regression cases -> Compare to baseline
- Model or judge changed?
- Re-run smoke + refusal/security pack + targeted regression cases
- Multi-agent or tool workflow?
- Add trace graders, fault injection, and approval-boundary tests
- Preparing production rollout?
- Add optional online evals or canary comparisons
FAIL: any task <9, any refusal =0, or any objective policy hard failPASS: all tasks >=12 and all refusals >=2CONDITIONAL: everything elseAgent QA request
-> Define AUT scope, tools, approvals, and forbidden behavior
-> Build smoke + regression + refusal/security packs from real work
-> Prefer objective graders: schema, policy, golden traces, side effects
-> Add calibrated model judges only for hard-to-code judgments
-> Run offline evals with traces and deterministic controls
-> Compare against baseline and classify FAIL/PASS/CONDITIONAL
-> Expand to canary or online evals only for production rollout evidence
references/scoring-rubric.md - canonical scoring model, thresholds, and variance notesreferences/regression-protocol.md - rerun scopes, baselines, online evals, and recoveryreferences/tool-sandboxing.md - sandbox tiers, MCP and tool hardening, approval checksreferences/eval-tooling-patterns.md - Promptfoo, trace tooling, and governance-tool selection rulesreferences/eval-platform-selection.md - platform comparison and decision tree for DeepEval, Inspect AI, Braintrust, Ragas, Promptfoo, OpenAI Evals, and Langfusereferences/multi-agent-testing.md - coordination testing patterns and handoff checksreferences/llm-judge-limitations.md - judge biases, calibration, and escalation rulesreferences/agentic-benchmarks.md - τ²-bench usage, ABC checklist, and anti-patterns for reading benchmark resultsreferences/iterative-coding-agent-evals.md - evolving-spec, carried-workspace protocol and longitudinal quality signalsassets/qa-harness-template.md - starter harnessassets/scoring-sheet.md - per-run scoring trackerassets/regression-log.md - versioned regression logSee data/sources.json for current primary sources, including OpenAI eval and grader docs (note: Platform Evals UI deprecated Nov 2026), Anthropic agent eval guidance, LangSmith evaluation docs, Promptfoo, DeepEval v4.0, Langfuse, Agent Governance Toolkit, OWASP LLM Top 10, OWASP Agentic Top 10 (2026), and UK AISI Inspect sandboxing docs.
| Skill | Purpose |
|---|---|
| qa-testing-strategy | Test strategy and risk prioritization |
| ai-prompt-engineering | Prompt and guardrail design |
assets/qa-harness-template.md10 tasks + 5 refusalsassets/regression-log.mdBefore applying this skill on a non-trivial task, read learnings.consolidated.md in this directory (and learnings.md if present).
After applying it, if you encountered a pattern worth remembering, a mistake worth preventing, or a domain fact that surprised you, append one dated bullet to learnings.md via agents-skills-feedback-loop/scripts/append_learning.py. Do not modify SKILL.md itself.
Frequently asked questions
Design and run reliable evaluation suites for LLM agents, including tool-using, multi-turn, and multi-agent systems.
The source record exposes this install command: npx skills add https://github.com/vasilyu1983/AI-Agents-public --skill "frameworks/shared-skills/skills/qa-agent-testing". Inspect the command and pinned source before running it.
The pinned source record declares support for: codex, claude code.
Static rules flagged network in the source; the page lists the matching lines and excerpts.
Alternatives
vasilyu1983/AI-Agents-public
Guides iOS testing with XCTest, XCUITest, Swift Testing, simctl, and xcresult. Use when choosing destinations, controlling flakes, or parsing test artifacts for native apps.
PramodDutta/qaskills
Gate RAG pipelines in CI with versioned golden eval sets, per-metric thresholds, baseline drift detection, and a build that fails when retrieval or answer quality regresses.
PramodDutta/qaskills
Generate comprehensive test cases from state machine models covering all states, transitions, guard conditions, and invalid transition attempts for workflow-heavy features
lobu-ai/lobu
Set up new Lobu agents end to end and operate existing Lobu projects and memory: interview, scaffold, validate, authenticate, connect feeds, execute operations, and test Automations.