OverviewHistoryStatsSecurity
npx skills add ...
Documentation
SKILL.md
npx skills add pymodel/react-frontend-skills --skill msw
MSW 2 API mocking for tests.
npx skills add pymodel/react-frontend-skills --skill msw
Comprehensive API mocking guide for MSW v2 applications (current: MSW 2.15), designed for AI agents and LLMs. Contains 48 rules across 8 categories, prioritized by impact to guide automated refactoring and code generation.
Reference these guidelines when:
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Setup & Initialization | CRITICAL | setup- |
| 2 | Handler Architecture | CRITICAL | handler- |
| 3 | Test Integration | HIGH | test- |
| 4 | Response Patterns | HIGH | response- |
| 5 | Request Matching | MEDIUM-HIGH | match- |
| 6 | GraphQL Mocking | MEDIUM | graphql- |
| 7 | Advanced Patterns | MEDIUM | advanced- |
| 8 | Debugging & Performance | LOW | debug- |
setup-server-node-entrypoint - Use correct entrypoint for Node.js (msw/node)setup-lifecycle-hooks - Configure server lifecycle in test setupsetup-worker-script-commit - Commit worker script to version controlsetup-node-version - Require Node.js 18+ for MSW v2setup-unhandled-requests - Configure unhandled request behaviorsetup-typescript-config - Configure TypeScript for MSW v2handler-happy-path-first - Define happy path handlers as baselinehandler-domain-grouping - Group handlers by domainhandler-absolute-urls - Use absolute URLs in handlershandler-shared-resolvers - Extract shared response logic into resolvershandler-v2-response-syntax - Use MSW v2 response syntaxhandler-request-body-parsing - Explicitly parse request bodieshandler-resolver-argument - Destructure resolver arguments correctlyhandler-reusability-environments - Share handlers across environmentstest-reset-handlers - Reset handlers after each testtest-avoid-request-assertions - Avoid direct request assertionstest-concurrent-boundary - Use server.boundary() for concurrent teststest-fake-timers-config - Configure fake timers to preserve queueMicrotasktest-async-utilities - Use async testing utilities for mock responsestest-clear-request-cache - Clear request library caches between teststest-jsdom-environment - Use correct JSDOM environment for Jestresponse-http-response-helpers - Use HttpResponse static methodsresponse-delay-realistic - Add delays only for timing behavior under testresponse-error-simulation - Simulate error responses correctlyresponse-one-time-handlers - Use one-time handlers for sequential scenariosresponse-custom-headers - Set response headers correctlyresponse-streaming - Mock streaming responses with ReadableStreammatch-url-patterns - Use URL path parameters correctlymatch-query-params - Access query parameters from request URLmatch-custom-predicate - Use custom predicates for complex matchingmatch-http-methods - Match HTTP methods explicitlymatch-handler-order - Order handlers from specific to generalgraphql-operation-handlers - Use operation name for GraphQL matchinggraphql-error-responses - Return GraphQL errors in correct formatgraphql-batched-queries - Handle batched GraphQL queriesgraphql-variables-access - Access GraphQL variables correctlygraphql-schema-first - Resolve operations against a GraphQL schemaadvanced-bypass-requests - Use bypass() for passthrough requestsadvanced-cookies-auth - Handle cookies and authenticationadvanced-dynamic-scenarios - Implement dynamic mock scenariosadvanced-vitest-browser - Configure MSW for Vitest browser modeadvanced-file-uploads - Mock file upload endpointsadvanced-websocket-mocking - Mock WebSocket connections with ws.linkadvanced-playwright-integration - Use defineNetworkFixture from @msw/playwrightdebug-lifecycle-events - Use lifecycle events for debuggingdebug-verify-interception - Verify request interception is workingdebug-common-issues - Know common MSW issues and fixesdebug-request-logging - Log request details for debuggingRun in the project root first:
Read references/<rule-id>.md for each rule above that matches the task and for each scan hit: why it matters, then incorrect vs. correct code.
tanstack-query skillvitest; for methodology, see tdd