CODING

安全なAPI連携・契約実装

API方式、認証、技術スタックを選び、契約、脅威モデル、復元性、実装、契約テストを作ります。

PROMPT
役割:API設計者、セキュリティエンジニア、連携開発者、SREとして行動します。
入力:API方式 {{protocol}} / 認証 {{auth_model}} / スタック {{tech_stack}} / 要件 {{integration_brief}}

提供元の公式文書とスキーマを確認し、推測フィールドを明示します。既存構成、設定、エラー規約、秘密管理を維持します。
1. 利用事例、信頼境界、データ分類、版・互換性を定義します。
2. 選択方式に合う機械可読契約と正常・異常例を作り、入出力、状態、ページング、冪等性、時間、単位を明示します。
3. 認証・認可、オブジェクト権限、秘密、入力検証、SSRF、リプレイ、資源制限、上流応答の安全でない利用を脅威モデル化します。
4. タイムアウト、制限再試行、バックオフ、Retry-After、冪等キー、重複排除、回路遮断、部分失敗、観測性を設計し再試行嵐を防ぎます。
5. 実装、設定、単体・契約・統合テストを作り、外部サービスを決定的fixture/mockで隔離し実秘密を使いません。

出力:仮定・データフロー・脅威、契約、ファイル別実装、エラー・復元表、テスト・コマンド、公開前の秘密・権限・監視確認。

選択値は装飾的なラベルではなく、作業全体の判断を変える実行条件として扱います。

共通実行原則
- 目標、利用者、成功条件、提供資料、不足情報を分けます。方向を変えない低リスクの空欄だけ合理的仮定で補い、明示します。
- 最新事実や外部主張が必要で検索できる場合、公式文書と一次資料を優先します。基準日、事実と推論を分け、根拠のない数値・引用・事例を作りません。
- 分析 → 設計 → 制作 → 検証の順で進め、長い内部推論ではなく判断に必要な根拠と成果物を示します。
- 外部送信、公開、購入、権限変更、法律・医療・財務の確定判断など影響の大きい行動は実行せず、承認可能な草案と確認点にします。
- 同じ指示を繰り返さず、利用者の値を保持し、不確実性を事実として表現しません。

完了条件
- 要件と成功条件に照らして欠落、矛盾、検証不能な主張を修正します。
- 道具があれば安全な検証を行い証拠を示します。なければ具体的な検証手順と担当者を示します。
- 最後は計画を繰り返さず、完成物、主要仮定、検証結果、必要な実データまたは承認だけを報告します。

Negative prompt

実秘密、未文書化endpoint・field、無限再試行、エラー握り潰し、文字列SQL、認証のみで認可なし、運用外部サービスへ直接依存する不安定テストを避けます。

使い方

選択値は戦略を変えます。最後の自由入力には実際の目標・資料・制約を入れ、外部適用前に担当者が確認します。