🎯

msw

🎯Skill

from thongdn-it/react-agent-skills

VibeIndex|
What it does

Streamlines API mocking in tests using Mock Service Worker (MSW), providing comprehensive best practices for configuring and managing request handlers.

πŸ“¦

Part of

thongdn-it/react-agent-skills(18 items)

msw

Installation

Quick InstallInstall with npx
npx skills add https://github.com/thongdn-it/react-agent-skills --all
Quick InstallInstall with npx
npx skills add https://github.com/thongdn-it/react-agent-skills
Quick InstallInstall with npx
npx skills add https://github.com/thongdn-it/react-agent-skills --skill react nextjs tailwind
πŸ“– Extracted from docs: thongdn-it/react-agent-skills
2Installs
-
AddedFeb 4, 2026

Skill Details

SKILL.md

MSW (Mock Service Worker) best practices for API mocking in tests (formerly test-msw). This skill should be used when setting up MSW, writing request handlers, or mocking HTTP APIs. This skill does NOT cover general testing patterns (use test-vitest or test-tdd skills) or test methodology.

Overview

# 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:

  • [Section definitions](references/_sections.md) - Category structure and impact levels
  • [Rule template](assets/templates/_template.md) - Template for adding new rules
  • Individual rules: references/{prefix}-{slug}.md

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

More from this repository10

🎯
web-design-guidelines🎯Skill

Provides comprehensive web design guidelines and best practices for creating user-friendly and visually appealing web interfaces.

🎯
vercel-react-best-practices🎯Skill

Provides performance optimization guidelines for React and Next.js, offering 57 rules across 8 categories to improve application speed and efficiency.

🎯
vercel-composition-patterns🎯Skill

Provides React composition patterns to refactor components, build flexible libraries, and improve component architecture through advanced design techniques.

🎯
vitest🎯Skill

Runs Vitest unit tests for React components and provides testing utilities within the React Agent framework.

🎯
typescript🎯Skill

Optimizes TypeScript performance by providing targeted rules for type system, compiler configuration, async patterns, and module organization across 42 best practices.

🎯
tanstack-query🎯Skill

Simplifies data fetching, caching, and state management in React applications using TanStack Query library.

🎯
tailwind🎯Skill

Optimizes Tailwind CSS v4 performance by providing best practices for configuration, utility classes, responsive design, and CSS generation.

🎯
nuqs🎯Skill

Manages type-safe URL query state in Next.js, providing best practices and guidelines for implementing, configuring, and optimizing nuqs-based routing and state management.

🎯
shadcn🎯Skill

Generates shadcn/ui React components with customizable configurations for rapid UI development in React applications.

🎯
nextjs🎯Skill

Enables Next.js server-side rendering and routing capabilities within a React Agent workflow, simplifying web application development.