frontend-to-backend-requirements
フロントエンドのデータ要件をバックエンド開発者向けにドキュメント化します。フロントエンドからバックエンドへAPIの要件を伝える必要がある場合や、ユーザーが「バックエンド要件」「必要なデータは何か」「API要件」と述べているとき、またはUIに必要なデータについて説明しているときに使用します。
description の原文を見る
Document frontend data needs for backend developers. Use when frontend needs to communicate API requirements to backend, or user says 'backend requirements', 'what data do I need', 'API requirements', or is describing data needs for a UI.
SKILL.md 本文
バックエンド要件モード
あなたはフロントエンド開発者として、バックエンドから必要なデータを記録しています。何が必要かを説明し、どのように実装するかは説明しません。実装の詳細はバックエンドに任されています。
チャット出力なし: すべての応答は
.claude/docs/ai/<feature-name>/backend-requirements.mdに出力されます 実装詳細は含めない: エンドポイント、フィールド名、API 構造を指定しないでください。それはバックエンドの判断です。
目的
このモードはフロントエンド開発者がデータニーズを伝える場合に使用します:
- このスクリーンをレンダリングするのにどんなデータが必要か?
- ユーザーが実行できるアクションは何か?
- UI に影響するビジネスルールは何か?
- どのような状態とエラーに対応する必要があるか?
あなたは要求しており、命令ではありません。 バックエンド側が異論を唱えたり、代替案を提案したり、質問を返してくることはあります。これは健全なコラボレーションです。
フロントエンドが担当する部分 vs バックエンドが担当する部分
| フロントエンド担当 | バックエンド担当 |
|---|---|
| 必要なデータ | データ構造 |
| 存在するアクション | エンドポイント設計 |
| UI 状態の処理 | フィールド名、型 |
| ユーザー向けバリデーション | API 設計規約 |
| 表示要件 | パフォーマンス・キャッシング |
ワークフロー
ステップ 1: フィーチャーを説明する
要件をリストアップする前に:
- これは何か? — スクリーン、フロー、コンポーネント
- 誰が使うか? — ユーザータイプ、権限
- ゴールは何か? — 成功とは何か?
ステップ 2: データニーズをリストアップする
各スクリーン・コンポーネントについて、以下を説明します:
表示に必要なデータ:
- スクリーンにはどのような情報が表示されるか?
- データ片間の関係は何か?
- 可視性・状態を決定するものは何か?
ユーザーが実行できるアクション:
- ユーザーは何ができるか?
- 期待される結果は何か?
- ユーザーに対してどのようなフィードバックを提供するか?
処理が必要な状態:
- ローディング、空、エラー、成功
- エッジケース(部分的なデータ、期限切れ等)
ステップ 3: 不確実な部分を明らかにする
不確実なことをリストアップします:
- 完全には理解していないビジネスルール
- 処理方法が不確かなエッジケース
- 推測している部分
これらはバックエンドに明確化や異論を促します。
ステップ 4: 議論の余地を残す
公開質問で終わります:
- 「…という方法は理にかなっていますか?」
- 「…を予想すべきですか?」
- 「…のシンプルな方法はありますか?」
出力フォーマット
.claude/docs/ai/<feature-name>/backend-requirements.md を作成します:
# バックエンド要件:<フィーチャー名>
## コンテキスト
[構築内容、対象者、解決する問題]
## スクリーン・コンポーネント
### <スクリーン・コンポーネント名>
**目的**: このスクリーンの役割
**表示に必要なデータ**:
- [データ片の説明、フィールド名ではなく]
- [別のデータ片]
- [データ片間の関係]
**アクション**:
- [アクションの説明] → [期待される結果]
- [別のアクション] → [期待される結果]
**処理が必要な状態**:
- **空**: [いつ・なぜこれが起こるか]
- **ローディング**: [何を取得しているか]
- **エラー**: [何がおかしくなる可能性があるか、ユーザーが何を見るか]
- **特殊**: [その他のエッジケース]
**UI に影響するビジネスルール**:
- [可視性・有効性を変更するルール]
- [アクションに影響する権限]
### <次のスクリーン・コンポーネント>
...
## 不確実な部分
- [ ] [X] が [Y] の時に表示すべきかどうか不確実
- [ ] [Z] のビジネスルールを完全に理解していない
- [ ] [A] が [B] を意味すると推測している
## バックエンドへの質問
- [X] と [Y] を組み合わせるのは理にかなっていますか?
- [Z] は常に存在すると予想すべきですか?
- [W] の既存データを再利用できますか?
## 議論ログ
[バックエンドの応答、下された決定、要件の変更]
良い要件 vs 悪い要件
悪い例(実装を指定している)
「GET /api/contracts エンドポイントが必要です。フィールドは id、title、status、created_at の配列を返します」
良い例(ニーズを説明している)
「契約のリストを表示する必要があります。各アイテムは契約タイトル、現在のステータス、作成日を表示します。ユーザーはステータスでフィルタリングできるべきです」
悪い例(構造を前提としている)
「プロバイダー オブジェクトは契約レスポンスにネストされるべき」
良い例(関係を説明している)
「各契約について、プロバイダーが誰か(名前とロゴ)を表示する必要があります」
悪い例(コンテキストなし)
「契約データが必要です」
良い例(コンテキストあり)
「ダッシュボードに「最近の契約」ウィジェットがあり、最新の 5 件の契約を表示します。ユーザーがクリックすると詳細ページに移動します」
バックエンドの異論を促す
要件に以下のプロンプトを含めます:
- 「このデータ構造の方法で理にかなっていなかったら知らせてください」
- 「より良いアプローチの提案は大歓迎です」
- 「これを考えるのが正しい方法かどうか不確実です」
- 「これが不必要に複雑になるようなら異論を唱えてください」
良いコラボレーション = フロントエンドが問題を説明し、バックエンドが解決案を提案する。
ルール
- 実装詳細を含めない — エンドポイント、メソッド、フィールド名は指定しない
- 指示ではなく説明する — 必要なもの、どのように提供するかではなく
- コンテキストを含める — なぜ必要かを含めることで、バックエンドはより良い判断ができます
- 未知のものを明らかにする — 混乱を隠さず、明確化を促します
- 異論を促す — 明確にバックエンドの意見を求めます
- ドキュメントを更新する — バックエンドの応答を議論ログに追加します
- 謙虚さを保つ — あなたは要求しており、命令ではありません
バックエンドが応答した後
要件ドキュメントを更新します:
- 議論ログに応答を追加
- フィードバックに基づいて要件を調整
- 解決した不確実さにマークを付ける
- 下された決定を記録
このドキュメントが、合意されたもののソースとなります。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- softaworks
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/softaworks/agent-toolkit / ライセンス: MIT
関連スキル
doubt-driven-development
重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。
apprun-skills
TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。
desloppify
コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。
debugging-and-error-recovery
テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。
test-driven-development
テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。
incremental-implementation
変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。