api-design-principles
RESTおよびGraphQL APIを自信を持って設計する
API設計の判断はしばしば一貫性を欠き、維持が困難になります。このスキルは、明確なパターン、テンプレート、チェックリストを提供し、あなたの選択をガイドします。
スキルZIPをダウンロード
Claudeでアップロード
設定 → 機能 → スキル → スキルをアップロードへ移動
オンにして利用開始
テストする
「api-design-principles」を使用しています。 私のユーザーと注文のエンドポイントをRESTのベストプラクティスに基づいてレビューしてください。
期待される結果:
- 名詞の複数形を使用してください:/api/users と /api/orders
- /api/createUser のようなアクションパスを POST /api/users に置き換えてください
- page と page_size を使用してリストエンドポイントにページネーションを追加してください
- 成功したPOSTでは201 Createdを、DELETEでは204を返してください
「api-design-principles」を使用しています。 ユーザー、投稿、コメントを持つブログのGraphQLスキーマをどのように構成すべきですか?
期待される結果:
- 適切なリレーションシップを持つUser、Post、Commentタイプを定義してください
- コレクションにはRelayスタイルのカーソルページネーションを使用してください
- エラーペイロードを持つミューテーションの入力タイプを作成してください
- リレーションシップでN+1クエリを防ぐためにDataLoaderを追加してください
「api-design-principles」を使用しています。 バリデーションエラーに対してAPIはどのようなステータスコードを返す必要がありますか?
期待される結果:
- 不正なリクエスト構文には400 Bad Requestを返してください
- バリデーション失敗には422 Unprocessable Entityを返してください
- レスポンスボディにフィールドレベルのエラーの詳細を含めてください
- すべてのエンドポイントで一貫したエラー形式を使用してください
セキュリティ監査
安全This skill contains only educational documentation, code templates, and best practices for API design. All 233 static findings are false positives: 'weak cryptographic algorithm' flags educational password hashing examples; 'backtick execution' misinterprets markdown code formatting; 'system reconnaissance' triggers on legitimate programming terms like fetch/decode; hardcoded URLs/IPs are documentation examples, not actual network calls. No executable code, network calls, or data access patterns pose security risks.
リスク要因
🌐 ネットワークアクセス (7)
⚙️ 外部コマンド (134)
品質スコア
作れるもの
新しいAPI標準を定義する
実装前にチーム向けのRESTおよびGraphQLの一貫したルールを作成します。
API仕様書をレビューする
命名、バージョン管理、エラーハンドリングの問題について仕様を監査します。
APIの使いやすさを向上させる
エンドポイントとスキーマを洗練させて、客户端の混乱と手戻りを削減します。
これらのプロンプトを試す
このREST APIの概要をレビューし、命名、メソッド、ステータスコードの修正をリストアップしてください。短い修正例を提示してください。
このGraphQLスキーマをページネーション、入力タイプ、エラーパターンについて評価してください。短い例を伴って改善案を提案してください。
このAPIのバージョン管理アプローチを推奨し、トレードオフを説明してください。マイグレーションのチェックリストを提供してください。
この仕様にAPI設計チェックリストを適用し、各失敗したアイテムの修正とともに合格または不合格を返してください。
ベストプラクティス
- 起動前にバージョン管理と非推奨化のルールを文書化してください
- 安定したエラーコードを持つ一貫したエラー形式を使用してください
- 明確な制限ですべてのコレクションエンドポイントにページネーションしてください
回避
- 読み取り専用操作にPOSTを使用する
- 2レベルを超える深くネストされたリソースパス
- エンドポイント間で一貫しないエラーの形状を返す