api-patterns について
api-patterns は、API 設計者向けの判断ガイドです。API の方式、レスポンス構造、セキュリティ、変更管理を扱い、エンドポイント検証スクリプトも含みます。
主な機能
- 01REST、GraphQL、tRPC の選択
- 02リソース命名と HTTP ステータスの指針
- 03レスポンス形式とページネーション
- 04バージョン管理と認証方式
- 05レート制限、セキュリティテスト、文書化
- 06API エンドポイント検証スクリプト
活用シーン
- 01プロジェクトに適した API 方式の選択
- 02一貫したレスポンスとバージョン戦略の策定
- 03認証、レート制限、セキュリティテストの検討
- 04スクリプトによる API エンドポイントの検証
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ vudovn/ ag-kit --skill api-patternsインストール後、Claude Code で/api-patternsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
api-style.mdauth.mddocumentation.mdgraphql.mdrate-limiting.mdresponse.mdrest.mdsecurity-testing.mdtrpc.mdversioning.mdscripts/api_validator.py詳細
API パターン
API 設計の原則と意思決定。 決まったパターンをコピーするのではなく、考え方を身につけましょう。
🎯 必要なファイルだけ読むルール
リクエストに関連するファイルだけを読んでください! コンテンツマップを確認し、必要な情報を探します。
📑 コンテンツマップ
| ファイル | 説明 | 読むタイミング |
|---|---|---|
api-style.md | REST、GraphQL、tRPC の選択フローチャート | API の種類を選ぶとき |
rest.md | リソースの命名、HTTP メソッド、ステータスコード | REST API を設計するとき |
response.md | エンベロープパターン、エラー形式、ページネーション | レスポンス構造を決めるとき |
graphql.md | スキーマ設計、利用する場面、セキュリティ | GraphQL を検討するとき |
trpc.md | TypeScript モノレポ、型安全性 | TS フルスタックプロジェクト |
versioning.md | URI/Header/Query によるバージョニング | API の進化を計画するとき |
auth.md | JWT、OAuth、Passkey、API キー | 認証パターンを選ぶとき |
rate-limiting.md | トークンバケット、スライディングウィンドウ | API を保護するとき |
documentation.md | OpenAPI/Swagger のベストプラクティス | ドキュメント作成 |
security-testing.md | OWASP API Top 10、認証/認可のテスト | セキュリティ監査 |
🔗 関連スキル
| 必要なもの | スキル |
|---|---|
| API の実装 | @[skills/nodejs-best-practices] |
| データ構造 | @[skills/database-design] |
| セキュリティの詳細 | @[skills/vulnerability-scanner] |
✅ 意思決定チェックリスト
API を設計する前に、以下を確認してください。
- API の利用者についてユーザーに確認しましたか?
- この状況に適した API スタイルを選びましたか? (REST/GraphQL/tRPC)
- 一貫性のあるレスポンス形式を定義しましたか?
- バージョニング戦略を計画しましたか?
- 認証の要件を検討しましたか?
- レート制限を計画しましたか?
- ドキュメントの作成方針を定義しましたか?
❌ アンチパターン
避けること:
- 何にでも REST を使う
- REST エンドポイントで動詞を使う(/getUsers)
- 一貫性のないレスポンス形式を返す
- 内部エラーをクライアントに公開する
- レート制限を省略する
実施すること:
- 状況に応じて API スタイルを選ぶ
- クライアントの要件を確認する
- ドキュメントを徹底的に作成する
- 適切なステータスコードを使用する
スクリプト
| スクリプト | 目的 | コマンド |
|---|---|---|
scripts/api_validator.py | API エンドポイントの検証 | python scripts/api_validator.py <project_path> |
コメント
Markdown 対応