api-smoke-testing について
api-smoke-testingは、コードベースの分析とHTTPリクエストでAPIエンドポイントを検証する開発者向けスキルです。ルートの特定、応答の分類、結果報告、エラー調査を行います。
主な機能
- 01コードベースからAPIルートを特定
- 02開発サーバーの稼働状況を確認
- 03エンドポイントへHTTPリクエストを送信
- 04ステータスコード別に応答を分類
- 05テスト結果を集約
- 06サーバーやルーティングの問題を調査
活用シーン
- 01開発環境のAPIエンドポイントを検証
- 02未登録または提供されないルートを発見
- 03認証要求とサーバーエラーを区別
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ spencerpauly/ awesome-cursor-skills --skill api-smoke-testingインストール後、Claude Code で/api-smoke-testingを入力して読み込まれたか確認します。
詳細
API スモークテスト
コードベースの分析と HTTP リクエストを組み合わせて、すべての API エンドポイントが正常なレスポンスを返すことを確認します。
ワークフロー
1. ルートを検出する
コードベースを検索して、API ルートの定義を見つけます。
Next.js(App Router): app/api/**/route.ts
Next.js(Pages Router): pages/api/**/*.ts
Express: app.get(、app.post(、router.get( などを探します
Django: urls.py 内の urlpatterns を探します
FastAPI: @app.get(、@app.post( などのデコレーターを探します
Rails: routes.rb を探します
HTTP メソッドとともに、エンドポイントの一覧を作成します。
2. サーバーが起動していることを確認する
ターミナルのファイルを確認して、開発サーバーが起動中か調べます。見つからない場合は、起動します。
3. すべてのエンドポイントにリクエストを送信する
各ルートに対して、次の操作を行います。
curl -s -o /dev/null -w "%{http_code}" -X <METHOD> http://localhost:<PORT><PATH>
リクエストボディが必要なエンドポイント(POST/PUT/PATCH)には、最小限の有効な JSON を送信します。
curl -s -o /dev/null -w "%{http_code}" -X POST http://localhost:<PORT><PATH> \
-H "Content-Type: application/json" \
-d '{}'
4. 結果を分類する
| ステータス | 意味 |
|---|---|
| 200-299 | OK |
| 301/302 | リダイレクト(OK) |
| 400 | 不正なリクエスト(空の POST ボディの場合は想定どおり) |
| 401/403 | 認証が必要(保護されたルートの場合は想定どおり) |
| 404 | ルートが見つかりません(BUG — ルートはコード内に存在しますが、提供されていません) |
| 500 | サーバーエラー(BUG) |
| 000/タイムアウト | サーバーが応答していません(BUG) |
5. レポートする
API Smoke Test Results:
Tested: 15 endpoints
Passed: 12
Auth required: 2 (GET /api/user, POST /api/settings)
Errors:
500 — POST /api/webhooks/stripe (TypeError: Cannot read property 'id' of undefined)
404 — GET /api/v2/health (route defined but not mounted)
6. エラーを修正する
500 エラーの場合は、ターミナル出力でスタックトレースを確認し、根本原因を修正します。404 の場合は、ルートファイルが正しい場所にあり、適切にエクスポートされていることを確認します。