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