Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Create, edit, validate, and run Agent QA tests, suites, and hooks through MCP or CLI while preserving canonical IDs and schema contracts.
.claude/skills/sickn33-agent-qa-authoring/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 6% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 29% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 83% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 144% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 50% | 0% |
Author Agent QA tests, suites, and hooks without inventing schema fields or identifiers. Prefer Agent QA's MCP tools, use the bundled contract reference for exact fields, and validate every definition before saving or running it.
agent_qa_discover.agent_qa_get_config, especially targets, devices, providers, and services.mcp.references/agent-qa-contracts.json when exact schema fields or ID contracts are needed.agent_qa_generate_idagent-qa ids generate <test|suite|hook|run|observation>an exact Agent QA installation. Do not fetch and execute the package at runtime through npx or another moving package reference.
agent_qa_validate_id or agent-qa ids validate <type> <id> --json.agent_qa_validate_test or agent_qa_validate_definition with kind: "test"agent_qa_validate_suite or agent_qa_validate_definition with kind: "suite"agent_qa_validate_definition with kind: "hooks"agent_qa_create_test, agent_qa_update_test, agent_qa_delete_testagent_qa_create_suite, agent_qa_update_suite, agent_qa_delete_suiteagent_qa_create_hook, agent_qa_update_hook, agent_qa_delete_hookworkspace.testMatch or workspace.suiteMatch.t_ plus 10 id-agent words.s_ plus 10 id-agent words.h_ plus 10 id-agent words.r_ plus 10 id-agent words.obs_ plus 10 id-agent words.agent_qa_enqueue_test_run and agent_qa_enqueue_suite_run over shelling out.textUser: Add an Agent QA checkout test for the staging target and validate it, but do not run it yet. Expected handling: discover the workspace, inspect the staging target, generate the test ID, create the smallest valid definition, validate it, and stop before enqueueing a run.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 27,410 | 17,977 | -34% | 1 | 1 | 0% | 4,185 | 1,357 | -68% | 0 | 0 | — |
case-02 | fail→fail | 21,522 | 17,317 | -20% | 1 | 1 | 0% | 3,052 | 1,550 | -49% | 0 | 0 | — |
case-03 | fail→fail | 31,163 | 14,301 | -54% | 1 | 1 | 0% | 5,610 | 1,341 | -76% | 0 | 0 | — |
case-04 | fail→pass | 16,730 | 10,609 | -37% | 1 | 1 | 0% | 1,920 | 2,041 | +6% | 0 | 0 | — |
case-05 | fail→pass | 13,199 | 8,888 | -33% | 1 | 1 | 0% | 1,308 | 1,692 | +29% | 0 | 0 | — |
case-06 | fail→pass | 11,685 | 10,167 | -13% | 1 | 1 | 0% | 1,030 | 1,889 | +83% | 0 | 0 | — |
case-07 | fail→fail | 9,467 | 18,833 | +99% | 1 | 1 | 0% | 603 | 1,549 | +157% | 0 | 0 | — |
case-08 | fail→pass | 10,353 | 10,087 | -3% | 1 | 1 | 0% | 824 | 2,011 | +144% | 0 | 0 | — |
case-09 | fail→pass | 12,624 | 9,722 | -23% | 1 | 1 | 0% | 1,161 | 1,739 | +50% | 0 | 0 | — |
case-10 | fail→pass | 17,044 | 8,862 | -48% | 1 | 1 | 0% | 1,987 | 1,756 | -12% | 0 | 0 | — |
case-11 | fail→pass | 15,126 | 8,753 | -42% | 1 | 1 | 0% | 1,581 | 1,743 | +10% | 0 | 0 | — |
case-12 | fail→pass | 20,525 | 8,913 | -57% | 1 | 1 | 0% | 2,655 | 1,715 | -35% | 0 | 0 | — |
case-13 | fail→pass | 13,752 | 8,820 | -36% | 1 | 1 | 0% | 1,549 | 1,745 | +13% | 0 | 0 | — |
case-14 | fail→pass | 14,362 | 9,276 | -35% | 1 | 1 | 0% | 1,609 | 1,772 | +10% | 0 | 0 | — |
case-15 | fail→pass | 12,302 | 7,390 | -40% | 1 | 1 | 0% | 1,070 | 1,444 | +35% | 0 | 0 | — |
case-16 | pass→pass | 17,910 | 9,838 | -45% | 1 | 1 | 0% | 2,003 | 1,800 | -10% | 0 | 0 | — |
case-22 | pass→pass | 13,097 | 10,845 | -17% | 1 | 1 | 0% | 1,422 | 2,066 | +45% | 0 | 0 | — |
case-17 | fail→pass | 14,636 | 6,688 | -54% | 1 | 1 | 0% | 1,572 | 1,220 | -22% | 0 | 0 | — |
case-18 | fail→pass | 20,861 | 15,766 | -24% | 1 | 1 | 0% | 2,647 | 1,523 | -42% | 0 | 0 | — |
case-19 | fail→pass | 11,611 | 8,569 | -26% | 1 | 1 | 0% | 1,206 | 1,643 | +36% | 0 | 0 | — |
case-20 | pass→pass | 10,860 | 18,822 | +73% | 1 | 1 | 0% | 1,188 | 2,310 | +94% | 0 | 0 | — |
case-21 | pass→pass | 16,910 | 16,704 | -1% | 1 | 1 | 0% | 2,449 | 3,464 | +41% | 0 | 0 | — |
case-23 | fail→fail | 11,442 | 9,823 | -14% | 1 | 1 | 0% | 1,081 | 1,412 | +31% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 19 counted toward the lift figure. The other 4 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +61 percentage points is the difference between those two pass rates over the 19 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.