Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Generate API test suites from route definitions across frameworks: auth, input validation, contract, k6 load testing, mocking, and OpenAPI-driven generation. Use when adding new APIs, auditing test coverage, or building regression suites.
.claude/skills/borghei-api-test-suite-builder/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 19% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -29% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -21% | 0% |
| case-09 | ✗→✓ | ▲ Improved | -15% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 124% | 0% |
Scan API route definitions across frameworks (Next.js App Router, Express, FastAPI, Django REST, Go net/http), analyze request/response schemas, and generate comprehensive test suites covering authentication, authorization, input validation, error handling, pagination, file uploads, rate limiting, contract testing, and load testing. Outputs ready-to-run test files for Vitest+Supertest (Node), Pytest+httpx (Python), or k6 (load testing).
Before generating the suite, confirm these inputs. If any is unknown or vague, ASK — do not assume:
--framework)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.
| Tool | Purpose | Command | |------|---------|---------| | test_generator.py | Generate API test skeletons from an OpenAPI/Swagger spec | python scripts/test_generator.py spec.json --framework vitest --output tests/ | | coverage_analyzer.py | Compare spec endpoints vs existing test files to find gaps | python scripts/coverage_analyzer.py spec.json tests/ --threshold 95 | | contract_validator.py | Validate response samples against OpenAPI schema contracts | python scripts/contract_validator.py spec.json samples/ --strict |
Load the reference that matches the task — keep this file lean and pull detail on demand:
This skill covers:
This skill does NOT cover:
engineering/api-design-reviewer for schema review patterns)engineering/playwright-pro)engineering/database-schema-designer)engineering/skill-security-auditor)| Skill | Integration | Data Flow | |-------|------------|-----------| | engineering/api-design-reviewer | Validate API design before generating tests | Design review output defines the endpoint contracts that this skill generates tests for | | engineering/ci-cd-pipeline-builder | Embed generated tests into CI/CD pipelines | Generated test files and k6 scripts are added as pipeline stages with pass/fail gates | | engineering/playwright-pro | Complement API tests with E2E browser tests | API test suite validates backend behavior; Playwright tests validate the frontend consuming those APIs | | engineering/database-schema-designer | Align test fixtures with database schema | Schema definitions inform factory functions and seed data used in generated test helpers | | engineering/observability-designer | Monitor test-covered endpoints in production | Load test thresholds (P95, P99) feed into alerting rules for the same endpoints in production dashboards | | engineering/performance-profiler | Investigate endpoints that fail load test thresholds | k6 results identify slow endpoints; the profiler skill traces root causes at the code level |
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 19,451 | 18,838 | -3% | 1 | 1 | 0% | 3,872 | 5,164 | +33% | 0 | 0 | — |
case-02 | fail→fail | 24,914 | 14,945 | -40% | 1 | 1 | 0% | 4,965 | 4,402 | -11% | 0 | 0 | — |
case-03 | fail→fail | 20,797 | 18,912 | -9% | 1 | 1 | 0% | 4,490 | 5,132 | +14% | 0 | 0 | — |
case-04 | fail→pass | 12,463 | 8,786 | -30% | 1 | 1 | 0% | 2,222 | 2,649 | +19% | 0 | 0 | — |
case-05 | fail→fail | 18,769 | 18,084 | -4% | 1 | 1 | 0% | 3,354 | 5,041 | +50% | 0 | 0 | — |
case-06 | pass→pass | 7,910 | 7,475 | -5% | 1 | 1 | 0% | 699 | 2,006 | +187% | 0 | 0 | — |
case-07 | fail→pass | 14,784 | 2,744 | -81% | 1 | 1 | 0% | 2,475 | 1,768 | -29% | 0 | 0 | — |
case-08 | fail→pass | 13,270 | 2,723 | -79% | 1 | 1 | 0% | 2,229 | 1,757 | -21% | 0 | 0 | — |
case-09 | fail→pass | 10,919 | 2,119 | -81% | 1 | 1 | 0% | 1,898 | 1,606 | -15% | 0 | 0 | — |
case-10 | fail→pass | 7,965 | 10,591 | +33% | 1 | 1 | 0% | 1,527 | 3,418 | +124% | 0 | 0 | — |
case-11 | fail→pass | 9,630 | 5,469 | -43% | 1 | 1 | 0% | 1,665 | 2,309 | +39% | 0 | 0 | — |
case-12 | pass→pass | 7,566 | 13,585 | +80% | 1 | 1 | 0% | 1,411 | 4,154 | +194% | 0 | 0 | — |
case-13 | pass→pass | 13,538 | 9,886 | -27% | 1 | 1 | 0% | 2,548 | 3,012 | +18% | 0 | 0 | — |
case-14 | pass→pass | 18,831 | 16,754 | -11% | 1 | 1 | 0% | 3,197 | 4,372 | +37% | 0 | 0 | — |
case-15 | pass→pass | 15,970 | 10,252 | -36% | 1 | 1 | 0% | 2,496 | 2,899 | +16% | 0 | 0 | — |
case-16 | pass→pass | 13,705 | 7,742 | -44% | 1 | 1 | 0% | 2,293 | 2,497 | +9% | 0 | 0 | — |
case-17 | pass→pass | 14,444 | 12,561 | -13% | 1 | 1 | 0% | 2,305 | 3,712 | +61% | 0 | 0 | — |
case-18 | pass→pass | 15,831 | 3,961 | -75% | 1 | 1 | 0% | 2,964 | 1,969 | -34% | 0 | 0 | — |
case-19 | pass→pass | 7,441 | 7,525 | +1% | 1 | 1 | 0% | 1,139 | 2,528 | +122% | 0 | 0 | — |
case-20 | fail→fail | 13,639 | 12,980 | -5% | 1 | 1 | 0% | 2,298 | 3,667 | +60% | 0 | 0 | — |
case-21 | pass→pass | 15,437 | 12,847 | -17% | 1 | 1 | 0% | 2,436 | 3,622 | +49% | 0 | 0 | — |
case-22 | pass→pass | 16,013 | 11,207 | -30% | 1 | 1 | 0% | 2,517 | 3,230 | +28% | 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 +27 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.