Install any skill in seconds. Free to start, no credit card required.
Get Started Free →To resolve QA session paths, identifiers/slugs, and state-file shape
.claude/skills/griddynamics-qa-structure/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 58% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 51% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -16% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -2% | 0% |
| case-09 | ✗→✓ | ▲ Improved | -20% | 0% |
<qa_structure>
<when_to_use_skill>
Use when you need to create the QA session folder, resolve or name an artifact path, derive the {IDENTIFIER} / <test-name> slug, or seed/read the QA state file. This is the single source for WHERE QA artifacts live -- not for HOW to author or analyze them. Use TMS, Issue Tracker, and Wiki as the roles; TestRail, Jira, and Confluence are canonical examples only.
</when_to_use_skill>
<core_concepts>
references/api-aqa-layout.md (backend API) XOR READ SKILL FILE references/ui-aqa-layout.md (UI/E2E) -- canonical paths + each flow's slug authority, guards, and state-file fields live there.state, index, and the flow's own *-state name.{IDENTIFIER}: if unresolvable even after one user attempt, stop, record the gap in the flow's state file, ask once -- never fabricate or guess.## Phase Completion Status (8 rows) + per-phase append blocks; each phase appends only its own delta.gain.json.sdlc is the primary SDLC-provider configuration. Merge it with explicit user input, recognizable provider URLs/handles, and available integrations; ask only when evidence conflicts or remains unresolved.references/config-schema.md only when loading/validating that run artifact.<resources>.</core_concepts>
<resources>
Router -- READ SKILL FILE for the one your current step needs (point-of-use, never all at once):
| When you need to… | Command | |---|---| | resolve API-AQA paths, {IDENTIFIER} derivation, or the QA state-file shape | READ SKILL FILE references/api-aqa-layout.md | | resolve UI-AQA paths, the <test-name> slug rules, the page-sources contract, or the UI-AQA state-file shape | READ SKILL FILE references/ui-aqa-layout.md | | load or validate the API-AQA per-run config keys (keys + consumer + accepted N/A forms) | READ SKILL FILE references/config-schema.md | | write the API-AQA project-config file | READ SKILL FILE assets/api-aqa-project-config-template.md | | run the user interview when the config is missing | READ SKILL FILE assets/api-aqa-config-interview.md | | seed the UI-AQA state file | READ SKILL FILE assets/ui-aqa-state-template.md |
The API-AQA state-file seed and the API-AQA per-run initial-data skeleton are tiny + always-needed, so they stay inline in the consuming step rather than as assets -- avoids extra reads on the critical path.
</resources>
<anti_patterns>
Flag/refuse these before proceeding:
<test-name> / {IDENTIFIER} slug instead of confirming with the user (or stopping when underivable).agents/ path instead of the per-session feature plan folder (plans/ui-aqa-<test-name>/, plans/api-aqa-{IDENTIFIER}/, or plans/testgen-{TICKET-KEY}/) -- a shared path collides across parallel sessions and commits.N/A -- <reason> -- a later grep silently misses an absent key.api-aqa-layout XOR ui-aqa-layout).</anti_patterns>
</qa_structure>
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-04 | pass→fail | 7,022 | 7,017 | -0% | 1 | 1 | 0% | 1,275 | 1,614 | +27% | 0 | 0 | — |
case-01 | fail→fail | 7,142 | 5,431 | -24% | 1 | 1 | 0% | 1,232 | 1,331 | +8% | 0 | 0 | — |
case-02 | fail→pass | 9,474 | 13,551 | +43% | 1 | 1 | 0% | 1,963 | 3,092 | +58% | 0 | 0 | — |
case-03 | fail→fail | 6,697 | 8,112 | +21% | 1 | 1 | 0% | 1,349 | 1,865 | +38% | 0 | 0 | — |
case-05 | pass→pass | 10,090 | 4,776 | -53% | 1 | 1 | 0% | 1,713 | 1,834 | +7% | 0 | 0 | — |
case-06 | fail→pass | 6,939 | 3,801 | -45% | 1 | 1 | 0% | 1,111 | 1,682 | +51% | 0 | 0 | — |
case-07 | fail→pass | 10,983 | 2,665 | -76% | 1 | 1 | 0% | 1,810 | 1,518 | -16% | 0 | 0 | — |
case-08 | fail→pass | 9,635 | 2,449 | -75% | 1 | 1 | 0% | 1,432 | 1,398 | -2% | 0 | 0 | — |
case-09 | fail→pass | 12,416 | 3,687 | -70% | 1 | 1 | 0% | 1,876 | 1,496 | -20% | 0 | 0 | — |
case-10 | fail→pass | 11,412 | 5,610 | -51% | 1 | 1 | 0% | 1,715 | 2,041 | +19% | 0 | 0 | — |
case-11 | fail→pass | 10,649 | 2,193 | -79% | 1 | 1 | 0% | 1,605 | 1,328 | -17% | 0 | 0 | — |
case-12 | fail→fail | 7,905 | 2,422 | -69% | 1 | 1 | 0% | 1,300 | 1,416 | +9% | 0 | 0 | — |
case-13 | fail→pass | 8,992 | 1,811 | -80% | 1 | 1 | 0% | 1,265 | 1,268 | +0% | 0 | 0 | — |
case-14 | fail→fail | 6,883 | 2,242 | -67% | 1 | 1 | 0% | 1,032 | 1,280 | +24% | 0 | 0 | — |
case-15 | fail→pass | 9,298 | 2,498 | -73% | 1 | 1 | 0% | 1,419 | 1,437 | +1% | 0 | 0 | — |
case-16 | fail→pass | 14,989 | 2,404 | -84% | 1 | 1 | 0% | 2,374 | 1,376 | -42% | 0 | 0 | — |
case-17 | fail→pass | 9,118 | 6,765 | -26% | 1 | 1 | 0% | 1,832 | 2,451 | +34% | 0 | 0 | — |
case-18 | pass→pass | 11,240 | 3,254 | -71% | 1 | 1 | 0% | 1,913 | 1,442 | -25% | 0 | 0 | — |
case-19 | pass→pass | 10,977 | 3,199 | -71% | 1 | 1 | 0% | 1,672 | 1,489 | -11% | 0 | 0 | — |
case-20 | pass→pass | 3,679 | 2,711 | -26% | 1 | 1 | 0% | 573 | 1,471 | +157% | 0 | 0 | — |
case-21 | pass→pass | 4,329 | 3,344 | -23% | 1 | 1 | 0% | 793 | 1,587 | +100% | 0 | 0 | — |
case-22 | pass→pass | 3,407 | 3,713 | +9% | 1 | 1 | 0% | 522 | 1,632 | +213% | 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. 22 cases were attempted, and 19 counted toward the lift figure. The other 3 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 +45 percentage points is the difference between those two pass rates over the 19 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
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.