К основному содержанию
скилл CX Codex

msw — скилл для Claude Code: правила мокинга API в тестах

Скилл с 45 правилами по MSW v2: настройка, хендлеры, интеграция с тестами, GraphQL. Пригодится, когда агент пишет или правит моки HTTP-запросов.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add pproenca/dot-skills --skill msw -a claude-code
Открыть на GitHub

Что делает msw

Скилл описывает работу с Mock Service Worker версии 2 и разбит на 8 категорий по приоритету: от инициализации и архитектуры хендлеров до отладки. Внутри 45 правил с префиксами setup-, handler-, test-, response-, match-, graphql-, advanced- и debug-. Агент читает нужный файл из references/ и применяет правило к вашему коду.

Правила покрывают конкретные вещи: правильную точку входа msw/node, жизненный цикл сервера в тестовом сетапе, сброс хендлеров после каждого теста, синтаксис ответов MSW v2, сопоставление URL и методов, моки GraphQL-операций. Отдельно разобраны server.boundary() для параллельных тестов и настройка фейковых таймеров, чтобы не сломать queueMicrotask.

Для MSW v2 нужен Node.js 18+. Скилл не трогает общую методологию тестирования — за этим отправляет к test-vitest и test-tdd, а генерацию моков из OpenAPI оставляет скиллу orval. Если ваш проект ещё на MSW v1, часть правил про синтаксис ответов не подойдёт: сначала обновите библиотеку.

Какие задачи решает

  • настроить MSW v2 в тестовом окружении с нуля
  • разложить хендлеры по доменам вместо одной свалки
  • сбросить хендлеры между тестами, чтобы они не протекали
  • смокать ошибки и задержки ответа, а не только успешный путь
  • подключить моки GraphQL-операций с переменными

Примеры запросов агенту

  • Настрой MSW v2 для этого проекта и добавь хендлеры для /api/users
  • Почему мой хендлер не срабатывает? Проверь сопоставление URL по правилам msw
  • Перепиши эти тесты так, чтобы хендлеры сбрасывались после каждого кейса

Как установить msw

1Через Skills CLI (Vercel)

npx skills add pproenca/dot-skills --skill msw -a claude-code

2Вручную: положить файлы

~/.claude/skills/msw/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/msw/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о msw

Как установить msw в Claude?

Выполните npx skills add pproenca/dot-skills --skill msw -a claude-code. Скилл окажется в ~/.claude/skills/msw/SKILL.md.

Что делает скилл msw?

Даёт агенту 45 правил по Mock Service Worker v2: инициализация, архитектура хендлеров, интеграция с тестами, ответы, сопоставление запросов, GraphQL и отладка. Агент применяет их, когда пишет или правит моки API.

Покрывает ли скилл общие подходы к тестированию?

Нет. Он про MSW, а за методологией тестов отправляет к скиллам test-vitest и test-tdd.

Исходный текст

SKILL.md · MIT
---
name: msw
description: 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.
---

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

© pproenca · MIT · pproenca/dot-skills

Похожие скиллы

Всё по теме «Тесты и QA» →
msw-ui-system MSW-Git Направляет агента при сборке интерфейсов для MapleStory Worlds: создаёт разметку .ui, настраивает компоненты и генерирует привязки для скриптов .mlua. CX Codex +1 9 700установок api-testing kindlmann Скилл для автотестов REST и GraphQL: проверяет формат ответов, коды статусов, заголовки, авторизацию и время отклика. Пригодится, когда фронтенд ломается от незаметного изменения схемы. CX Codex +1 1 300установок msw-scripting MSW-Git Скилл помогает писать скрипты .mlua для MapleStory Worlds, соблюдая архитектуру компонентов и пространств выполнения. Пригодится при разработке игровой логики и отладке в MSW. CX Codex +1 9 900установок emulate vercel-labs Локальный эмулятор API для Vercel, GitHub, Slack, AWS и других сервисов. Помогает прогонять тесты и поднимать службы без доступа к внешней сети. CX Codex +1 540установок react-testing affaan-m Скилл для написания тестов React-компонентов, хуков и страниц: React Testing Library, Vitest или Jest, MSW для моков сети и проверки доступности через axe. CX Codex +1 4 800установок conducting-api-security-testing mahipal Скилл проверяет REST, GraphQL и gRPC API на ошибки доступа, аутентификации, валидации и бизнес-логики. Нужен для авторизованных проверок API. CX Codex +1 643установок

Из того же набора45

clean-architecture Скилл с 42 правилами из книги Роберта Мартина: подсказывает агенту, куда направлять зависимости и где проводить границы слоёв. CX Codex +1 2 000установок code-simplifier Скилл для ИИ-агентов: чистит недавно изменённый код, снижает вложенность и дублирование, сохраняя поведение программы. CX Codex +1 1 600установок expo-react-native-performance Набор из 42 правил оптимизации приложений на Expo и React Native. Помогает настроить запуск, списки на FlashList, анимации и рендеринг без ручного поиска узких мест. CX Codex +1 1 500установок framer-motion Скилл оптимизирует анимации Framer Motion в React: предотвращает лишние ререндеры, уменьшает размер бандла и настраивает переходы жестов или скролла. CX Codex +1 1 100установок clean-code Скилл для ревью и рефакторинга: 48 правил из книги Роберта Мартина с современными поправками. Пригодится, когда агент пишет или разбирает код. CX Codex +1 842установок terminal-ui Скилл с 42 правилами для терминальных интерфейсов на TypeScript: рендеринг, ввод с клавиатуры, промпты. Пригодится, когда пишете CLI на Ink или Clack. CX Codex +1 836установок typescript-refactor Скилл с 47 правилами по рефакторингу TypeScript и React/TSX: типы, сужение, дженерики, современные фичи TS 6.0 и React 19. CX Codex +1 788установок react-refactor Скилл с 40 правилами архитектурного рефакторинга React-проектов. Помогает декомпозировать крупные компоненты, выносить хуки и наводить порядок в модулях. CX Codex +1 776установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой