jpskill.com
🛠️ 開発・MCP コミュニティ

api-audit

APIの定義と実装が共通の型定義と一致しているかをチェックし、変更を加えることなく不整合を検出することで、PR前やルート追加後などにAPIの品質を検証するSkill。

📜 元の英語説明(参考)

Audit API routes against shared types — scan routes, plugins, and types for mismatches. Read-only, no changes. Use before PRs, after adding routes, or for periodic API contract validation.

🇯🇵 日本人クリエイター向け解説

一言でいうと

APIの定義と実装が共通の型定義と一致しているかをチェックし、変更を加えることなく不整合を検出することで、PR前やルート追加後などにAPIの品質を検証するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o api-audit.zip https://jpskill.com/download/9152.zip && unzip -o api-audit.zip && rm api-audit.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/9152.zip -OutFile "$d\api-audit.zip"; Expand-Archive "$d\api-audit.zip" -DestinationPath $d -Force; ri "$d\api-audit.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して api-audit.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → api-audit フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

APIルートと型監査スキル

APIルートとプラグインをスキャンし、すべてのエンドポイントをカタログ化し、型定義と照合して不一致を見つけます。読み取り専用 — いかなるファイルも変更しないでください。

手順

1. ルートファイルをスキャンする

ルートディレクトリを再帰的にスキャンします。各ルート登録について、以下を抽出します。

  • HTTPメソッド (GET, POST, PUT, PATCH, DELETE)
  • パス (例: /api/users, /api/admin/settings)
  • 認証要件 (public, session-required, RBAC permissions)
  • リクエストスキーマ (Zod/validation スキーマ名、定義されている場合)
  • レスポンススキーマ (Zod/validation スキーマ名、定義されている場合)

フレームワーク固有のパターンを探します (例: Fastify のスキーマオブジェクト、Express のミドルウェアチェーン、Next.js のルートハンドラー)。

2. プラグイン/ミドルウェアファイルをスキャンする

ミドルウェアまたはプラグインディレクトリをスキャンして、以下を探します。

  • 認証ミドルウェアの登録 (どのルートが認証保護を受けるか)
  • 権限マッピング
  • ルートごとのレート制限構成
  • ルートレベルのデコレーターまたはフック

3. 共有型をカタログ化する

型定義ディレクトリをスキャンして、以下を探します。

  • リクエスト/レスポンスバリデーターとして使用される Validation スキーマ
  • APIペイロードに対応する TypeScript インターフェース/型
  • エクスポートされたスキーマ名とその形状

4. 相互参照して不一致を検出する

カテゴリ チェックする内容
スキーマの欠落 リクエスト/レスポンスのバリデーションがないルート
型のずれ 共有スキーマと異なる型を使用しているルートハンドラー
孤立した型 どのルートからも参照されていない types パッケージ内のスキーマ
認証のギャップ 本来認証フックが必要なルートに認証フックがない (例: /admin/*)

5. 調査結果を報告する

重要度別にグループ化された Markdown テーブルを出力します。

  1. 重大: 認証のギャップ、変更エンドポイントでのバリデーションの欠落
  2. 警告: 型のずれ、レスポンススキーマの欠落
  3. 情報: 孤立した型、共有スキーマを使用できるインラインスキーマを持つルート

合計ルート数、完全なカバレッジ、部分的なカバレッジ、バリデーションなし、不一致などの要約カウントを含めます。

引数

  • $ARGUMENTS: オプションのスコープフィルター
    • 例: /api-audit admin — admin ルートのみを監査する
    • 空の場合、すべてのルートを監査する

実行戦略

速度向上のために 2つの並列 Explore エージェント を使用します。

  1. エージェント A: ルート + プラグインをスキャン — すべてのエンドポイントをカタログ化する
  2. エージェント B: 型ディレクトリをスキャン — すべての共有スキーマをカタログ化する

次に、それらの調査結果を統合して相互参照テーブルを作成します。

主要なルール

  1. 読み取り専用 — いかなるファイルも作成、変更、または削除しないでください
  2. 具体的に — 正確なファイルパスと行番号を報告してください
  3. 偽陽性なし — 真の不一致のみを報告してください
  4. コンテキストを含める — 各不一致に関連する型/スキーマのスニペットを表示してください
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

API Route & Type Audit Skill

Scan API routes and plugins, catalog every endpoint, and cross-reference against type definitions to find mismatches. Read-only — do not modify any files.

Steps

1. Scan Route Files

Scan your routes directory recursively. For each route registration, extract:

  • HTTP method (GET, POST, PUT, PATCH, DELETE)
  • Path (e.g., /api/users, /api/admin/settings)
  • Auth requirements (public, session-required, RBAC permissions)
  • Request schema (Zod/validation schema name, if defined)
  • Response schema (Zod/validation schema name, if defined)

Look for framework-specific patterns (e.g., Fastify schema objects, Express middleware chains, Next.js route handlers).

2. Scan Plugin/Middleware Files

Scan middleware or plugin directories for:

  • Auth middleware registration (which routes get auth protection)
  • Permission mappings
  • Rate limiting configurations per route
  • Any route-level decorators or hooks

3. Catalog Shared Types

Scan type definition directories for:

  • Validation schemas used as request/response validators
  • TypeScript interfaces/types that correspond to API payloads
  • Exported schema names and their shapes

4. Cross-Reference and Detect Mismatches

Category What to check
Missing schemas Routes without request/response validation
Type drift Route handler using a type that differs from the shared schema
Orphan types Schemas in types package not referenced by any route
Auth gaps Routes missing auth hooks that should have them (e.g., /admin/*)

5. Report Findings

Output a markdown table grouped by severity:

  1. Critical: Auth gaps, missing validation on mutation endpoints
  2. Warning: Type drift, missing response schemas
  3. Info: Orphan types, routes with inline schemas that could use shared ones

Include summary counts: total routes, full coverage, partial coverage, no validation, mismatches.

Arguments

  • $ARGUMENTS: Optional scope filter
    • Example: /api-audit admin — only audit admin routes
    • If empty, audit all routes

Execution Strategy

Use two parallel Explore agents for speed:

  1. Agent A: Scan routes + plugins — catalog all endpoints
  2. Agent B: Scan types directories — catalog all shared schemas

Then synthesize their findings into the cross-reference table.

Key Rules

  1. Read-only — do not create, modify, or delete any files
  2. Be specific — report exact file paths and line numbers
  3. No false positives — only report genuine mismatches
  4. Include context — show the relevant type/schema snippet for each mismatch