Agent Skills by ALSEL
Anthropic Claudeソフトウェア開発⭐ リポ 0品質スコア 50/100

msw

MSW(Mock Service Worker)を使ったAPIモックのベストプラクティスを提供するスキルです。MSWのセットアップ、リクエストハンドラーの記述、HTTP APIのモック化を行う際に使用してください。一般的なテストパターン(test-vitest や test-tdd スキルを使用)やテスト手法については対象外です。

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.

SKILL.md 本文

MSW ベストプラクティス

MSW v2 アプリケーション向けの包括的な API モッキングガイドであり、AI エージェントと LLM 向けに設計されています。8 つのカテゴリにわたって 45 のルールを含み、自動リファクタリングとコード生成をガイドするため、影響度でプライオリティ付けされています。

適用時期

以下の場面でこのガイドラインを参照してください:

  • テストまたは開発用に MSW をセットアップする場合
  • リクエストハンドラーを作成または整理する場合
  • MSW でテスト環境を構成する場合
  • REST または GraphQL API をモックする場合
  • ハンドラーマッチングの問題をデバッグする場合
  • エラー状態とエッジケースをテストする場合

ルールカテゴリプライオリティ順

プライオリティカテゴリインパクトプレフィックス
1セットアップ・初期化CRITICALsetup-
2ハンドラーアーキテクチャCRITICALhandler-
3テスト統合HIGHtest-
4レスポンスパターンHIGHresponse-
5リクエストマッチングMEDIUM-HIGHmatch-
6GraphQL モッキングMEDIUMgraphql-
7高度なパターンMEDIUMadvanced-
8デバッグ・パフォーマンスLOWdebug-

クイックリファレンス

1. セットアップ・初期化 (CRITICAL)

  • setup-server-node-entrypoint - Node.js の正しいエントリポイントを使用する (msw/node)
  • setup-lifecycle-hooks - テストセットアップでサーバーライフサイクルを構成する
  • setup-worker-script-commit - ワーカースクリプトをバージョン管理にコミットする
  • setup-node-version - MSW v2 には Node.js 18 以上が必要
  • setup-unhandled-requests - 未処理リクエストの動作を構成する
  • setup-typescript-config - MSW v2 向けに TypeScript を構成する

2. ハンドラーアーキテクチャ (CRITICAL)

  • handler-happy-path-first - ハッピーパスハンドラーをベースラインとして定義する
  • handler-domain-grouping - ハンドラーをドメインでグループ化する
  • handler-absolute-urls - ハンドラーで絶対 URL を使用する
  • handler-shared-resolvers - 共有レスポンスロジックをリゾルバーに抽出する
  • handler-v2-response-syntax - MSW v2 レスポンス構文を使用する
  • handler-request-body-parsing - リクエストボディを明示的にパースする
  • handler-resolver-argument - リゾルバー引数を正しく分割代入する
  • handler-reusability-environments - 環境間でハンドラーを共有する

3. テスト統合 (HIGH)

  • test-reset-handlers - 各テスト後にハンドラーをリセットする
  • test-avoid-request-assertions - リクエストの直接的なアサーションを避ける
  • test-concurrent-boundary - 並行テストに server.boundary() を使用する
  • test-fake-timers-config - queueMicrotask を保持するようフェイクタイマーを構成する
  • test-async-utilities - モックレスポンスに非同期テストユーティリティを使用する
  • test-clear-request-cache - テスト間でリクエストライブラリキャッシュをクリアする
  • test-jsdom-environment - Jest に正しい JSDOM 環境を使用する

4. レスポンスパターン (HIGH)

  • response-http-response-helpers - HttpResponse 静的メソッドを使用する
  • response-delay-realistic - 現実的なレスポンス遅延を追加する
  • response-error-simulation - エラーレスポンスを正しくシミュレートする
  • response-one-time-handlers - 段階的シナリオに一度限りのハンドラーを使用する
  • response-custom-headers - レスポンスヘッダーを正しく設定する
  • response-streaming - ReadableStream でストリーミングレスポンスをモックする

5. リクエストマッチング (MEDIUM-HIGH)

  • match-url-patterns - URL パスパラメーターを正しく使用する
  • match-query-params - リクエスト URL からクエリパラメーターにアクセスする
  • match-custom-predicate - 複雑なマッチングにカスタムプレディケートを使用する
  • match-http-methods - HTTP メソッドを明示的にマッチさせる
  • match-handler-order - ハンドラーを具体的なものから一般的なものへと順序付ける

6. GraphQL モッキング (MEDIUM)

  • graphql-operation-handlers - GraphQL マッチングに操作名を使用する
  • graphql-error-responses - GraphQL エラーを正しい形式で返す
  • graphql-batched-queries - バッチ処理された GraphQL クエリを処理する
  • graphql-variables-access - GraphQL 変数に正しくアクセスする

7. 高度なパターン (MEDIUM)

  • advanced-bypass-requests - パススルーリクエストに bypass() を使用する
  • advanced-cookies-auth - クッキーと認証を処理する
  • advanced-dynamic-scenarios - 動的モックシナリオを実装する
  • advanced-vitest-browser - Vitest ブラウザーモード用に MSW を構成する
  • advanced-file-uploads - ファイルアップロードエンドポイントをモックする

8. デバッグ・パフォーマンス (LOW)

  • debug-lifecycle-events - デバッグにライフサイクルイベントを使用する
  • debug-verify-interception - リクエストインターセプトが機能しているか検証する
  • debug-common-issues - MSW の一般的な問題と修正を知る
  • debug-request-logging - デバッグ用にリクエスト詳細をログする

使用方法

詳細な説明とコード例については、個別のリファレンスファイルをご覧ください:

  • セクション定義 - カテゴリ構造とインパクトレベル
  • ルールテンプレート - 新しいルール追加用テンプレート
  • 個別ルール: references/{prefix}-{slug}.md

関連スキル

  • OpenAPI から MSW モックを生成する場合は、orval スキルを参照
  • モック API を利用する場合は、tanstack-query スキルを参照
  • テスト方法論については、test-vitest または test-tdd スキルを参照

完全なコンパイルドキュメント

すべてのルール拡張版の完全ガイド: AGENTS.md

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
pproenca
リポジトリ
pproenca/dot-skills
ライセンス
MIT
最終更新
不明

Source: https://github.com/pproenca/dot-skills / ライセンス: MIT

関連スキル

汎用ソフトウェア開発⭐ リポ 39,967

doubt-driven-development

重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 1,175

apprun-skills

TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。

by yysun
OpenAIソフトウェア開発⭐ リポ 797

desloppify

コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。

by Git-on-my-level
汎用ソフトウェア開発⭐ リポ 39,967

debugging-and-error-recovery

テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 39,967

test-driven-development

テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 39,967

incremental-implementation

変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。

by addyosmani
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: pproenca · pproenca/dot-skills · ライセンス: MIT