Use when you need to review API tests, contract coverage, fixtures, error cases, and integration isolation.
How this skill is triggered — by the user, by Claude, or both
Slash command
/skillry-testing-and-qa:55-api-test-suite-reviewThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Evaluate the quality and completeness of an API test suite: happy-path coverage, error-path coverage, authentication and authorization test cases, contract adherence, fixture isolation, idempotency verification, and status code correctness. Identify gaps and anti-patterns that produce false confidence. Produce actionable findings with example test stubs for the most critical gaps.
Evaluate the quality and completeness of an API test suite: happy-path coverage, error-path coverage, authentication and authorization test cases, contract adherence, fixture isolation, idempotency verification, and status code correctness. Identify gaps and anti-patterns that produce false confidence. Produce actionable findings with example test stubs for the most critical gaps.
Inventory the test files. Find all API test files: *.test.ts, *.spec.ts, **/__tests__/**, Postman collections, Bruno files, *.http files, Pact consumer contracts. Note the framework (Jest, Vitest, Supertest, pytest, RSpec, etc.).
Map test files to routes. For each API route defined in the router/controller layer, check whether a corresponding test exists. Flag any route with zero tests.
Evaluate happy-path coverage. For each tested route, confirm: correct request structure is sent, expected response body shape is asserted (not just status code), and expected status code is asserted (201 for creation, 200 for read, 204 for delete, not just 2xx).
Evaluate error-path coverage. Check for tests covering:
Audit authentication and authorization tests. Confirm there is at least one test per protected route that sends a request without a token (expect 401) and one that sends a valid token for a user who does not own the resource (expect 403).
Check fixture isolation. Confirm each test creates its own data (using factories or seed helpers) and cleans up after itself. Look for tests that rely on the order of other tests, global fixture state, or a shared user account with pre-existing records.
Verify contract assertions. For consumer-driven contract testing (Pact, OpenAPI validation): confirm the provider test runs the contract on every CI build, not just manually. For REST APIs, check that response shape is validated against the schema, not just that a field exists.
Assess idempotency testing. For PUT, PATCH, and DELETE endpoints, check for tests that call the same endpoint twice with the same input and assert consistent behavior (second PUT returns same result; second DELETE returns 404 or 204, not 500).
Check test isolation from external services. Confirm third-party calls (email, payment, SMS, external APIs) are mocked or intercepted. A test suite that makes real network calls is fragile and slow; look for nock, msw, httpretty, responses, or equivalent.
Review assertion quality. Weak assertions: expect(response.status).toBe(200) only. Strong assertions: status code + response body shape + at least one meaningful field value. Flag tests that only assert the request did not throw.
2xx ranges.catch to swallow errors and mark the test as passed.expect(res.status).toBe(200) passes even if the response body is empty or malformed.jest.mock('../service') in a test for the same service — the test proves nothing about the real service behavior.--updateSnapshot) and silently accept breaking contract changes as "expected."## API Test Suite Review
### Coverage summary
- Routes defined: N
- Routes with tests: M (X%)
- Routes with zero tests: list
### Error-path coverage
| Route | 400 | 401 | 403 | 404 | 409 | Notes |
|-------|-----|-----|-----|-----|-----|-------|
### Auth/authz test status
- 401 tests present: yes/no — missing routes: list
- 403 tests present: yes/no — missing routes: list
### Fixture isolation
- Isolation method: per-test factory / shared seed / global fixture
- Order-dependent tests found: yes/no — details
### External call mocking
- Mocking library: nock / msw / none
- Unmocked external calls found: list
### Top 5 gaps (with example stub)
1. Gap description + minimal test skeleton.
...
### Anti-patterns found
- List with file:line references.
npx claudepluginhub fluxonlab/skillry --plugin skillry-testing-and-qaProvides a checklist for code reviews covering functionality, security, performance, maintainability, tests, and quality. Use for pull requests, audits, team standards, and developer training.