Aller au contenu principal

Skill: api-mocking

Fork

API mock configuration for tests. Trigger when the user wants to mock APIs, use MSW, or test without a backend.

Configuration

PropertyValue
Contextfork
Allowed toolsRead, Write, Edit, Glob, Grep, Bash
Keywordsapi, mocking

Detailed description

API Mocking (pointer)

MSW handler API, browser/node setup, install commands and request-interception internals are canonical at vendor docs and drift on each release:

Tool selection (version-agnostic)

Need to mock HTTP for tests/dev?
├── Browser AND Node from one handler set → MSW
├── Node-only unit tests, low ceremony → nock
├── Need a stateful REST fake server (CRUD) → json-server
└── Browser-only with relational fixtures (factories) → Mirage JS

Foundation discipline (keep across releases)

  • Type-safe mocks: derive mock payloads from the same TypeScript types as the real API (e.g. shared types/api.ts). A mock that compiles against stale types is the #1 source of mock-prod divergence.
  • Reset between tests: always resetHandlers() (MSW) or cleanAll() (nock) in afterEach — leaked state across tests is a debugging tax.
  • Realistic failure modes: simulate 5xx/timeouts/auth errors, not just happy paths. The mock is only useful if it exercises the same edge cases as prod.
  • Unhandled = error: in tests use onUnhandledRequest: 'error' (MSW) so a typo'd URL fails loudly instead of silently passing.

See also

  • dev-tdd — mocks live in test setup; this skill activates from TDD work
  • qa-e2e — Playwright/Cypress tests often layer MSW for deterministic stubs
  • dev-testing-setup — wires the global setupServer into vitest/jest config

Automatic triggering

This skill is automatically activated when:

  • The matching keywords are detected in the conversation
  • The task context matches the skill's domain

Triggering examples

  • "I want to api..."
  • "I want to mocking..."

Context fork

Fork means the skill runs in an isolated context:

  • Does not pollute the main conversation
  • Results are returned cleanly
  • Ideal for autonomous tasks

See also