Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Guidelines for testing the application with Vitest, including unit tests, integration tests (emulator), AI tests, and eval suites for LLM features
.claude/skills/elie222-testing/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -44% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -37% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -40% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -56% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -34% | 0% |
All testing guidance lives in this directory. Read the relevant file for your task:
| Type | File | When to use | |------|------|-------------| | Unit tests | unit.md | Framework setup, mocks, colocated tests | | Writing tests | write-tests.md | What to test, what to skip, workflow | | LLM tests | llm.md | Tests that call real LLMs (pnpm test-ai) | | Eval suite | eval.md | Cross-model comparison, LLM-as-judge | | Integration | integration.md | Emulator-backed tests (pnpm test-integration) | | Database | apps/web/__tests__/db/README.md | Real Postgres, for unique constraints and updateMany count guards (pnpm test-db) | | E2E tests | e2e.md | Real email workflow tests from inbox-zero-e2e repo |
Prefer behavior-focused assertions; avoid freezing prompt copy or internal call shapes unless those exact values are the contract under test.
bashpnpm test path/to/file.test.ts # Single unit test pnpm test # All unit tests pnpm test-integration # Integration tests (emulator) pnpm test-db # Database tests (needs DATABASE_URL on a throwaway db) pnpm test-ai ai-regression/your-feature # Live AI regression test EVAL_MODELS=all pnpm test-ai eval/your-feature # Eval across models
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-22 | pass→pass | 15,781 | 11,777 | -25% | 1 | 1 | 0% | 2,257 | 2,164 | -4% | 0 | 0 | — |
case-01 | fail→pass | 8,590 | 5,619 | -35% | 1 | 1 | 0% | 1,398 | 778 | -44% | 0 | 0 | — |
case-02 | fail→pass | 6,561 | 2,231 | -66% | 1 | 1 | 0% | 1,195 | 750 | -37% | 0 | 0 | — |
case-03 | fail→pass | 9,608 | 2,809 | -71% | 1 | 1 | 0% | 1,544 | 929 | -40% | 0 | 0 | — |
case-04 | fail→pass | 11,522 | 2,630 | -77% | 1 | 1 | 0% | 2,025 | 882 | -56% | 0 | 0 | — |
case-05 | fail→pass | 6,730 | 2,271 | -66% | 1 | 1 | 0% | 1,154 | 758 | -34% | 0 | 0 | — |
case-16 | fail→pass | 8,998 | 4,134 | -54% | 1 | 1 | 0% | 1,496 | 1,183 | -21% | 0 | 0 | — |
case-06 | fail→pass | 10,510 | 2,019 | -81% | 1 | 1 | 0% | 1,647 | 738 | -55% | 0 | 0 | — |
case-07 | fail→pass | 13,806 | 2,421 | -82% | 1 | 1 | 0% | 2,454 | 814 | -67% | 0 | 0 | — |
case-08 | fail→pass | 13,606 | 5,470 | -60% | 1 | 1 | 0% | 2,059 | 1,255 | -39% | 0 | 0 | — |
case-09 | pass→pass | 15,509 | 11,288 | -27% | 1 | 1 | 0% | 2,315 | 2,098 | -9% | 0 | 0 | — |
case-10 | fail→pass | 13,904 | 2,515 | -82% | 1 | 1 | 0% | 2,306 | 818 | -65% | 0 | 0 | — |
case-11 | pass→pass | 9,513 | 2,064 | -78% | 1 | 1 | 0% | 1,613 | 706 | -56% | 0 | 0 | — |
case-12 | fail→pass | 14,035 | 2,690 | -81% | 1 | 1 | 0% | 2,191 | 812 | -63% | 0 | 0 | — |
case-13 | fail→fail | 9,428 | 3,732 | -60% | 1 | 1 | 0% | 1,463 | 1,075 | -27% | 0 | 0 | — |
case-14 | fail→pass | 9,442 | 4,232 | -55% | 1 | 1 | 0% | 1,567 | 965 | -38% | 0 | 0 | — |
case-15 | fail→pass | 8,266 | 1,598 | -81% | 1 | 1 | 0% | 1,150 | 619 | -46% | 0 | 0 | — |
case-17 | fail→pass | 10,681 | 6,631 | -38% | 1 | 1 | 0% | 1,917 | 1,604 | -16% | 0 | 0 | — |
case-18 | fail→fail | 5,998 | 2,193 | -63% | 1 | 1 | 0% | 1,059 | 808 | -24% | 0 | 0 | — |
case-19 | pass→pass | 12,395 | 4,402 | -64% | 1 | 1 | 0% | 1,856 | 1,245 | -33% | 0 | 0 | — |
case-20 | fail→pass | 15,018 | 4,161 | -72% | 1 | 1 | 0% | 2,182 | 1,024 | -53% | 0 | 0 | — |
case-21 | fail→pass | 4,295 | 2,555 | -41% | 1 | 1 | 0% | 663 | 784 | +18% | 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 +73 percentage points is the difference between those two pass rates over the 22 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.