Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Generate test scenario coverage from a feature spec — happy paths, edge cases, error handling, accessibility, security, and performance — with a coverage analyzer that flags gaps. Use to define what to test before QA writes the test plan.
.claude/skills/borghei-test-scenarios/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-19 | ✗→✓ | ▲ Improved | 67% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 45% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 167% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 35% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 119% | 0% |
Generate complete scenario coverage from a feature spec before tests are written. Closes the gap between "we built it" and "it survives production."
For every feature, generate scenarios across:
Plus when applicable:
Before generating scenarios, confirm these inputs. If any is unknown or vague, ASK — do not assume:
Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.
Read the PRD / user story / acceptance criteria. Identify:
For each user goal, write the primary flow:
Aim for 1-3 happy paths per feature.
For each input, ask:
For each failure mode:
For each: what does the user see? Recover-from / try-again UX?
Two users simultaneously:
test_scenario_generator.pyAudit a candidate scenario list for category coverage; flag gaps.
bashpython3 project-management/execution/test-scenarios/scripts/test_scenario_generator.py \ --input feature_spec.json --format markdown
| Feature type | Happy | Edge | Error | Empty | Concur | A11y | Security | |--------------|-------|------|-------|-------|--------|------|----------| | Form / submission | 1-3 | 4-8 | 4-6 | 2 | 1-2 | 4 | 3-5 | | Browse / list | 2-3 | 3-5 | 2-3 | 2-3 | 1 | 3 | 2 | | Real-time / collab | 3 | 4-6 | 4-6 | 2 | 4-6 (essential) | 3 | 3 | | File upload | 2 | 6-10 (sizes/types) | 4-6 | 1 | 1-2 | 2 | 5+ (file abuse) | | Payment / financial | 3 | 6-10 | 8+ (critical) | 2 | 4-6 (idempotency!) | 3 | 8+ | | Bulk operation | 2 | 4-6 (sizes) | 4-6 | 1 | 2-4 (partial fail) | 2 | 3 |
Adjust for risk profile of the specific feature.
Not all scenarios need full QA coverage. Apply:
| Scenario type | Default | |----------------|---------| | Happy path | Automated (E2E or integration) | | Edge cases (input validation) | Unit tests | | Error handling | Mix (mocked errors in unit; real in integration) | | Empty state | Visual regression + manual | | Concurrent | Hard — usually manual + targeted integration | | Accessibility | Automated (axe-core) + manual screen-reader | | Security | SAST + DAST + manual review for critical paths | | Performance | Automated load tests | | Localization | Pseudo-localization + manual spot-check |
references/scenario-categories.md — deep on the 7+ categories with examplesreferences/coverage-anti-patterns.md — common gaps + fixesproject-management/execution/create-prd — upstream specproject-management/execution/wwas — acceptance criteriaengineering/senior-qa — implementationengineering/code-reviewer — review coverageproduct-team/spec-to-repo — translating spec to tickets| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-19 | fail→pass | 16,300 | 13,418 | -18% | 1 | 1 | 0% | 2,336 | 3,905 | +67% | 0 | 0 | — |
case-01 | fail→pass | 19,861 | 17,651 | -11% | 1 | 1 | 0% | 3,015 | 4,375 | +45% | 0 | 0 | — |
case-02 | fail→fail | 17,613 | 18,590 | +6% | 1 | 1 | 0% | 2,723 | 4,909 | +80% | 0 | 0 | — |
case-03 | pass→pass | 14,998 | 18,755 | +25% | 1 | 1 | 0% | 2,364 | 4,725 | +100% | 0 | 0 | — |
case-04 | pass→pass | 15,313 | 17,175 | +12% | 1 | 1 | 0% | 2,400 | 4,535 | +89% | 0 | 0 | — |
case-05 | fail→fail | 15,173 | 16,853 | +11% | 1 | 1 | 0% | 2,504 | 4,555 | +82% | 0 | 0 | — |
case-06 | fail→pass | 5,599 | 3,426 | -39% | 1 | 1 | 0% | 947 | 2,531 | +167% | 0 | 0 | — |
case-07 | pass→pass | 11,571 | 7,375 | -36% | 1 | 1 | 0% | 1,783 | 2,990 | +68% | 0 | 0 | — |
case-08 | pass→pass | 17,521 | 14,549 | -17% | 1 | 1 | 0% | 2,702 | 4,106 | +52% | 0 | 0 | — |
case-09 | pass→pass | 18,715 | 17,084 | -9% | 1 | 1 | 0% | 2,888 | 4,366 | +51% | 0 | 0 | — |
case-18 | pass→pass | 14,367 | 11,263 | -22% | 1 | 1 | 0% | 2,137 | 3,656 | +71% | 0 | 0 | — |
case-10 | pass→pass | 15,972 | 14,353 | -10% | 1 | 1 | 0% | 2,555 | 3,981 | +56% | 0 | 0 | — |
case-11 | fail→pass | 14,368 | 7,955 | -45% | 1 | 1 | 0% | 2,275 | 3,072 | +35% | 0 | 0 | — |
case-12 | fail→pass | 17,009 | 25,542 | +50% | 1 | 1 | 0% | 2,773 | 6,081 | +119% | 0 | 0 | — |
case-13 | fail→pass | 19,730 | 18,969 | -4% | 1 | 1 | 0% | 3,039 | 4,847 | +59% | 0 | 0 | — |
case-14 | fail→fail | 14,843 | 11,852 | -20% | 1 | 1 | 0% | 2,287 | 3,634 | +59% | 0 | 0 | — |
case-15 | fail→fail | 13,092 | 14,852 | +13% | 1 | 1 | 0% | 2,026 | 4,170 | +106% | 0 | 0 | — |
case-16 | fail→fail | 10,637 | 14,906 | +40% | 1 | 1 | 0% | 1,629 | 4,018 | +147% | 0 | 0 | — |
case-17 | pass→pass | 16,645 | 9,367 | -44% | 1 | 1 | 0% | 2,411 | 3,166 | +31% | 0 | 0 | — |
case-20 | pass→pass | 13,315 | 15,731 | +18% | 1 | 1 | 0% | 2,632 | 4,948 | +88% | 0 | 0 | — |
case-21 | pass→fail | 22,607 | 39,383 | +74% | 1 | 1 | 0% | 3,599 | 8,088 | +125% | 0 | 0 | — |
case-22 | pass→pass | 10,593 | 15,337 | +45% | 1 | 1 | 0% | 2,090 | 4,893 | +134% | 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. The headline lift of +23 percentage points is the difference between those two pass rates over the 22 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.