--- name: responsibility-mapper description: 作業の責任範囲を整理し、エージェント定義に必要な情報を抽出する。エージェント設計時、責任範囲整理時、またはユーザーが責任範囲、役割分担、責任境界、エージェント構成に言及した際に使用する。 --- # Responsibility Mapper ## 概要 このSkillは、ユーザーが提供する作業や業務の情報を基に、責任範囲を整理し、エージェント定義に必要な情報を抽出する。ユーザーとの対話を通じて責任の境界を明確にし、適切なエージェント構成を提案する。 ## 責任範囲 このSkillは以下の範囲をカバーする: - 作業や業務の責任範囲の収集 - 責任範囲の分類と整理 - 責任範囲内・責任範囲外の明確化 - エージェント候補の特定と分類 - 推奨エージェント構成の提案 - エージェント定義情報の作成 ## ワークフロー ### フェーズ1: 責任収集 ユーザーとの対話を通じて、作業や業務の責任範囲に関する情報を収集する。 **実施内容:** 1. 対象となる作業や業務を確認する 2. 作業の目的と範囲を把握する 3. 担当者や役割を特定する 4. 責任の境界を確認する 5. 関連する作業やシステムを把握する **質問例:** ```markdown 【責任範囲の確認】 エージェントに担当させたい責任範囲を教えてください。 1. フェーズ全体(例: 要件定義フェーズ全体、設計フェーズ全体) 2. 領域全体(例: セキュリティ領域全体、品質管理領域全体) 3. 特定の役割(例: レビュー担当、ドキュメント作成担当) 4. その他(具体的に教えてください) ``` **良い例:** ```markdown 責任範囲: データベース設計フェーズ全体 目的: データベーススキーマの設計、正規化、ドキュメント作成を一貫して管理する 担当者: データベースエンジニア、バックエンド開発者 境界: - 開始: 要件定義が完了し、エンティティの候補が特定された時点 - 終了: テーブル定義書とDDLスクリプトが作成され、レビューが完了した時点 関連: - 前工程: 要件定義(エンティティ候補の提供) - 後工程: データベース構築(DDLスクリプトの実行) ``` **悪い例:** ```markdown 責任範囲: データベース 目的: いろいろやる 担当者: 誰か 境界: よくわからない ``` ### フェーズ2: 責任分類 収集した責任範囲を、カテゴリ別に分類し整理する。 **実施内容:** 1. 責任範囲をフェーズ別、領域別、役割別に分類する 2. 責任の粒度を評価する(大きすぎる、適切、小さすぎる) 3. 責任の重複を確認する 4. 責任のギャップを特定する 5. 責任の優先順位を付ける **分類基準:** - **フェーズ別**: 開発プロセスの特定フェーズに対する責任(要件定義、設計、実装など) - **領域別**: 特定の技術領域や品質領域に対する責任(セキュリティ、パフォーマンス、テストなど) - **役割別**: 特定の役割や作業に対する責任(レビュー、ドキュメント作成、検証など) **良い例:** ```markdown 【責任分類結果】 フェーズ別責任: - データベース設計フェーズ全体 - エンティティ定義 - 正規化 - ER図作成 - テーブル定義書作成 - DDLスクリプト生成 粒度評価: 適切 - 1つのフェーズとして明確な範囲がある - 作業の開始と終了が明確 - 成果物が定義されている 重複確認: - 要件定義フェーズとの境界: エンティティ候補の特定は要件定義の責任 - データベース構築フェーズとの境界: DDLスクリプトの実行は構築の責任 優先順位: 1. エンティティ定義(最も重要、後続作業の基礎) 2. 正規化(品質の要) 3. テーブル定義書作成(ドキュメント) 4. ER図作成(可視化) 5. DDLスクリプト生成(自動化) ``` **悪い例:** ```markdown 【責任分類結果】 フェーズ: いろいろ 粒度: たぶん良い 重複: 知らない ``` ### フェーズ3: 範囲定義 責任範囲内と責任範囲外を明確に定義する。 **実施内容:** 1. 責任範囲内の項目を列挙する 2. 責任範囲外の項目を列挙する 3. 境界が曖昧な項目を明確にする 4. 注意事項を整理する 5. 制約条件を確認する **定義基準:** - **責任範囲内**: エージェントが明確に担当する範囲 - 具体的で検証可能 - 開始と終了が明確 - 成果物が定義されている - **責任範囲外**: エージェントが担当しない範囲 - 混同しやすい範囲 - 他のエージェントや人間の責任 - 明示的に除外すべき範囲 **良い例:** ```markdown 【責任範囲定義】 責任範囲内: **エンティティ定義:** エンティティの特定、属性の定義、関連の整理を行う **正規化:** 第1正規形〜第3正規形への変換、正規化ルールの検証を行う **ER図作成:** エンティティ関連図の生成、レイアウト最適化を行う **テーブル定義書作成:** テーブル定義、カラム定義、制約定義をドキュメント化する **DDLスクリプト生成:** データベース製品別のCREATE TABLE文、制約定義を生成する 責任範囲外: **エンティティ候補の特定:** 要件定義フェーズの責任であり、このエージェントは候補を受け取る側 **DDLスクリプトの実行:** データベース構築フェーズの責任であり、このエージェントはスクリプトを提供する側 **パフォーマンスチューニング:** データベース運用の責任であり、設計フェーズでは考慮するが実施しない 注意事項: - エンティティ定義は要件定義からの引き継ぎを明確にする - 正規化は必ずルールに基づいて実施する - ER図は自動生成を基本とし、手動調整は最小限にする - テーブル定義書はMarkdown形式で作成する - DDLスクリプトは対象データベース製品を明示する ``` **悪い例:** ```markdown 【責任範囲定義】 責任範囲内: データベースのこと 責任範囲外: データベース以外のこと ``` ### フェーズ4: エージェント分類 定義した責任範囲を基に、エージェント候補を特定し分類する。 **実施内容:** 1. 責任範囲からエージェント候補を特定する 2. エージェントの役割を定義する 3. エージェントの使用可能なツールを確認する 4. エージェントの表示色を決定する 5. エージェント間の依存関係を整理する **分類基準:** - 1エージェントは1つの明確な責任範囲を持つ - エージェントの粒度は適切である(大きすぎず、小さすぎず) - エージェント間の境界が明確である - エージェントの役割が重複していない **良い例:** ```markdown 【エージェント分類結果】 エージェント候補: 1. database-design-agent - 役割: データベース設計フェーズ全体に対する責任を持つ - 責任範囲: エンティティ定義、正規化、ER図作成、テーブル定義書作成、DDLスクリプト生成 - 使用可能なツール: All tools (Read, Write, Bash, Grep, Glob など) - 表示色: blue(設計フェーズを示す色) - モデル: inherit(デフォルトモデルを使用) 責任範囲内: - エンティティ定義: エンティティの特定、属性の定義、関連の整理を行う - 正規化: 第1正規形〜第3正規形への変換、正規化ルールの検証を行う - ER図作成: エンティティ関連図の生成、レイアウト最適化を行う - テーブル定義書作成: テーブル定義、カラム定義、制約定義をドキュメント化する - DDLスクリプト生成: データベース製品別のCREATE TABLE文、制約定義を生成する 責任範囲外: - エンティティ候補の特定: 要件定義フェーズの責任 - DDLスクリプトの実行: データベース構築フェーズの責任 - パフォーマンスチューニング: データベース運用の責任 注意事項: - エンティティ定義は要件定義からの引き継ぎを明確にする - 正規化は必ずルールに基づいて実施する - ER図は自動生成を基本とし、手動調整は最小限にする - テーブル定義書はMarkdown形式で作成する - DDLスクリプトは対象データベース製品を明示する 依存関係: - 前工程: 要件定義エージェント(エンティティ候補の提供を受ける) - 後工程: データベース構築エージェント(DDLスクリプトを提供する) - 使用するスキル: entity-definition-collector, normalization-processor, er-diagram-generator など ``` **悪い例:** ```markdown エージェント: データベース担当 役割: データベースのことをやる ``` ### フェーズ5: 推奨提示 分類結果を基に、推奨されるエージェント構成をユーザーに提示する。 **実施内容:** 1. 推奨されるエージェント構成を提示する 2. 各エージェントの定義情報をまとめる 3. エージェント間の関係を図示する 4. 実装の優先順位を提案する 5. 次のステップ(エージェントの詳細設計)を案内する **提示形式:** ```markdown 【推奨エージェント構成】 エージェント数: 1個 エージェント1: database-design-agent - 説明: データベース設計フェーズ全体に対する責任を持つ - 責任範囲: エンティティ定義、正規化、ER図作成、テーブル定義書作成、DDLスクリプト生成 - 表示色: blue - 使用可能なツール: All tools 【責任範囲マップ】 database-design-agent の責任範囲: 責任範囲内: - エンティティ定義 - 正規化 - ER図作成 - テーブル定義書作成 - DDLスクリプト生成 責任範囲外: - エンティティ候補の特定(要件定義の責任) - DDLスクリプトの実行(データベース構築の責任) - パフォーマンスチューニング(データベース運用の責任) 【エージェント定義情報】 database-design-agent 用のエージェント定義ファイル情報: フロントマター: - name: database-design-agent - description: データベース設計フェーズ全体に対する責任を持つ - tools: "*" - model: inherit - color: blue 役割: データベース設計フェーズ全体に対する責任を持ち、エンティティ定義から DDL スクリプト生成までを一貫して管理する。要件定義フェーズから引き継いだエンティティ候補を基に、正規化されたテーブル定義を作成し、ER 図とテーブル定義書、DDL スクリプトを生成する。 責任範囲: (上記の責任範囲内・外をそのまま使用) 注意事項: - エンティティ定義は要件定義からの引き継ぎを明確にする - 正規化は必ずルールに基づいて実施する - ER図は自動生成を基本とし、手動調整は最小限にする - テーブル定義書はMarkdown形式で作成する - DDLスクリプトは対象データベース製品を明示する 【実装優先順位】 優先度1(必須): - database-design-agent の作成 【次のステップ】 1. database-design-agent の詳細設計(agent-generator スキルを使用) 2. 関連するスキルの設計(workflow-analyzer スキルを使用) 3. コマンドの設計(command-generator スキルを使用) ``` **良い例:** 推奨構成が明確で、エージェント定義情報が詳細に記述されており、次のステップが案内されている。 **悪い例:** ```markdown エージェントを作る ``` ## アウトプット このスキルは以下を生成する: - **責任範囲マップ**: 作業と責任範囲の対応関係を整理したマッピング - **推奨エージェント構成**: 責任範囲を実現するために必要なエージェントの推奨案 - **エージェント定義情報**: 各エージェントの責任範囲内・外、注意事項などの詳細情報 ## 想定されるエラーと対処法 ### エラー1: 責任範囲が曖昧 **検出例:** ```markdown 責任範囲: データベース全般 ``` **対処法:** - 具体的な作業や成果物を明示する - 開始条件と終了条件を明確にする - 責任の境界を明示する ### エラー2: 責任範囲が大きすぎる **検出例:** ```markdown 責任範囲: システム開発全体 ``` **対処法:** - 責任範囲をフェーズ別、領域別、役割別に分割する - 1エージェントは1つの明確な責任範囲を持つようにする - 複数のエージェントに分割することを検討する ### エラー3: 責任範囲内・外が不明確 **検出例:** ```markdown 責任範囲内: いろいろ 責任範囲外: その他 ``` **対処法:** - 具体的な作業や成果物を列挙する - 「〜を行う」という動詞で表現する - 混同しやすい範囲を明示的に除外する ## ベストプラクティス - 責任範囲は具体的で検証可能にする - 責任の境界を明確にする(開始条件、終了条件) - 責任範囲内・外を明示的に定義する - エージェントの粒度は適切にする(1エージェント1責任) - 推奨構成は実装の優先順位を明示する - エージェント定義情報は詳細に記述する ## チェックリスト ### 責任収集完了時 - [ ] 対象となる作業や業務が確認されている - [ ] 作業の目的と範囲が把握されている - [ ] 担当者や役割が特定されている - [ ] 責任の境界が確認されている - [ ] 関連する作業やシステムが把握されている ### 責任分類完了時 - [ ] 責任範囲がフェーズ別、領域別、役割別に分類されている - [ ] 責任の粒度が評価されている - [ ] 責任の重複が確認されている - [ ] 責任のギャップが特定されている - [ ] 責任の優先順位が付けられている ### 範囲定義完了時 - [ ] 責任範囲内の項目が列挙されている - [ ] 責任範囲外の項目が列挙されている - [ ] 境界が曖昧な項目が明確になっている - [ ] 注意事項が整理されている - [ ] 制約条件が確認されている ### エージェント分類完了時 - [ ] エージェント候補が特定されている - [ ] エージェントの役割が定義されている - [ ] エージェントの使用可能なツールが確認されている - [ ] エージェントの表示色が決定されている - [ ] エージェント間の依存関係が整理されている - [ ] エージェントの粒度が適切である ### 推奨提示完了時 - [ ] 推奨エージェント構成が明確に提示されている - [ ] 各エージェントの定義情報がまとめられている - [ ] エージェント間の関係が図示されている - [ ] 実装の優先順位が提案されている - [ ] 次のステップが案内されている - [ ] ユーザーの承認を得ている ### 最終確認 - [ ] 責任範囲マップが作成されている - [ ] 推奨エージェント構成が提示されている - [ ] エージェント定義情報が作成されている - [ ] すべてのアウトプットが明確で理解しやすい - [ ] ユーザーが次のステップに進める状態になっている