msw

pproenca/dot-skills · updated Apr 8, 2026

$npx skills add https://github.com/pproenca/dot-skills --skill msw
0 commentsdiscussion
summary

Comprehensive API mocking guide for MSW v2 applications, designed for AI agents and LLMs. Contains 45 rules across 8 categories, prioritized by impact to guide automated refactoring and code generation.

skill.md

MSW Best Practices

Comprehensive API mocking guide for MSW v2 applications, designed for AI agents and LLMs. Contains 45 rules across 8 categories, prioritized by impact to guide automated refactoring and code generation.

When to Apply

Reference these guidelines when:

  • Setting up MSW for testing or development
  • Writing or organizing request handlers
  • Configuring test environments with MSW
  • Mocking REST or GraphQL APIs
  • Debugging handler matching issues
  • Testing error states and edge cases

Rule Categories by Priority

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-

Quick Reference

1. Setup & Initialization (CRITICAL)

  • setup-server-node-entrypoint - Use correct entrypoint for Node.js (msw/node)
  • setup-lifecycle-hooks - Configure server lifecycle in test setup
  • setup-worker-script-commit - Commit worker script to version control
  • setup-node-version - Require Node.js 18+ for MSW v2
  • setup-unhandled-requests - Configure unhandled request behavior
  • setup-typescript-config - Configure TypeScript for MSW v2

2. Handler Architecture (CRITICAL)

  • handler-happy-path-first - Define happy path handlers as baseline
  • handler-domain-grouping - Group handlers by domain
  • handler-absolute-urls - Use absolute URLs in handlers
  • handler-shared-resolvers - Extract shared response logic into resolvers
  • handler-v2-response-syntax - Use MSW v2 response syntax
  • handler-request-body-parsing - Explicitly parse request bodies
  • handler-resolver-argument - Destructure resolver arguments correctly
  • handler-reusability-environments - Share handlers across environments

3. Test Integration (HIGH)

  • test-reset-handlers - Reset handlers after each test
  • test-avoid-request-assertions - Avoid direct request assertions
  • test-concurrent-boundary - Use server.boundary() for concurrent tests
  • test-fake-timers-config - Configure fake timers to preserve queueMicrotask
  • test-async-utilities - Use async testing utilities for mock responses
  • test-clear-request-cache - Clear request library caches between tests
  • test-jsdom-environment - Use correct JSDOM environment for Jest

4. Response Patterns (HIGH)

  • response-http-response-helpers - Use HttpResponse static methods
  • response-delay-realistic - Add realistic response delays
  • response-error-simulation - Simulate error responses correctly
  • response-one-time-handlers - Use one-time handlers for sequential scenarios
  • response-custom-headers - Set response headers correctly
  • response-streaming - Mock streaming responses with ReadableStream

5. Request Matching (MEDIUM-HIGH)

  • match-url-patterns - Use URL path parameters correctly
  • match-query-params - Access query parameters from request URL
  • match-custom-predicate - Use custom predicates for complex matching
  • match-http-methods - Match HTTP methods explicitly
  • match-handler-order - Order handlers from specific to general

6. GraphQL Mocking (MEDIUM)

  • graphql-operation-handlers - Use operation name for GraphQL matching
  • graphql-error-responses - Return GraphQL errors in correct format
  • graphql-batched-queries - Handle batched GraphQL queries
  • graphql-variables-access - Access GraphQL variables correctly

7. Advanced Patterns (MEDIUM)

  • advanced-bypass-requests - Use bypass() for passthrough requests
  • advanced-cookies-auth - Handle cookies and authentication
  • advanced-dynamic-scenarios - Implement dynamic mock scenarios
  • advanced-vitest-browser - Configure MSW for Vitest browser mode
  • advanced-file-uploads - Mock file upload endpoints

8. Debugging & Performance (LOW)

  • debug-lifecycle-events - Use lifecycle events for debugging
  • debug-verify-interception - Verify request interception is working
  • debug-common-issues - Know common MSW issues and fixes
  • debug-request-logging - Log request details for debugging

How to Use

Read individual reference files for detailed explanations and code examples:

Related Skills

  • For generating MSW mocks from OpenAPI, see orval skill
  • For consuming mocked APIs, see tanstack-query skill
  • For test methodology, see test-vitest or test-tdd skills

Full Compiled Document

For the complete guide with all rules expanded: AGENTS.md

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
general reviews

Ratings

4.672 reviews
  • Jin Torres· Dec 28, 2024

    Registry listing for msw matched our evaluation — installs cleanly and behaves as described in the markdown.

  • Hana Farah· Dec 24, 2024

    Keeps context tight: msw is the kind of skill you can hand to a new teammate without a long onboarding doc.

  • Chinedu Taylor· Dec 20, 2024

    msw has been reliable in day-to-day use. Documentation quality is above average for community skills.

  • Chaitanya Patil· Dec 12, 2024

    Keeps context tight: msw is the kind of skill you can hand to a new teammate without a long onboarding doc.

  • Soo Yang· Dec 8, 2024

    msw fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • Luis Agarwal· Dec 8, 2024

    Useful defaults in msw — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Camila Ndlovu· Nov 27, 2024

    Registry listing for msw matched our evaluation — installs cleanly and behaves as described in the markdown.

  • Min Rahman· Nov 19, 2024

    Useful defaults in msw — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Aanya Tandon· Nov 15, 2024

    msw has been reliable in day-to-day use. Documentation quality is above average for community skills.

  • Ren Tandon· Nov 11, 2024

    Keeps context tight: msw is the kind of skill you can hand to a new teammate without a long onboarding doc.

showing 1-10 of 72

1 / 8