11 KiB
11 KiB
name, description
| name | description |
|---|---|
| agent-generator | ユーザーの責任範囲定義から、Agentのマークダウンファイルを生成する。エージェント作成時、プラグイン要素生成時、またはユーザーがエージェント定義、責任範囲、Agent生成、エージェントドキュメントに言及した際に使用する。 |
Agent Generator
概要
このSkillは、ユーザーが提供する責任範囲や対象フェーズの情報を基に、Agentのマークダウンファイルを生成する。ユーザーとの対話を通じて必要な情報を収集し、標準化されたエージェントのドキュメントを作成する。
責任範囲
このSkillは以下の範囲をカバーする:
- 既存エージェントの確認と重複チェック
- ユーザーとの対話による責任範囲情報の収集
- 対象フェーズや役割の明確化
- エージェントファイルの生成
- プラグインアーキテクチャ規約の遵守確認
- markdownlint検証の実施
- ユーザーフィードバックの収集と反映
ワークフロー
フェーズ1: 既存エージェント確認
エージェント生成前に、既存のエージェントを確認し、重複を避ける。
実施内容:
- プラグインディレクトリ内の既存エージェントを確認する
- 作成予定のエージェントと同じ責任範囲のエージェントが存在しないか確認する
- 作成予定のエージェント内容と重複する記述が他のエージェントに含まれていないか確認する
- 既存エージェントで代用できる場合はユーザーに提案する
- 重複が避けられない場合は、どの内容を削除すべきかユーザーと確認する
確認対象:
- プラグインディレクトリ内のagentsディレクトリ内のドキュメント
質問例:
【既存エージェント確認】
プラグインディレクトリ内の既存エージェントを確認しました。
以下のエージェントと責任範囲が重複する可能性があります:
- [既存エージェント名]: [既存エージェントの説明]
作成予定のエージェントから、これらの重複内容を除外してよろしいですか?
既存エージェントで代用可能な場合:
【確認】
作成予定のエージェントと同じ責任範囲のエージェントが既に存在します:
- [既存エージェント名]: [既存エージェントの説明]
既存エージェントで十分な場合は、新規作成は不要です。
それでも新規作成が必要ですか?必要な場合は、既存エージェントとの違いを教えてください。
フェーズ2: 情報収集
ユーザーとの対話を通じて、エージェントに必要な情報を収集する。
実施内容:
- エージェントの目的と役割を確認する
- 責任範囲内の項目を把握する
- 責任範囲外の項目を把握する
- 対象フェーズや役割を明確にする
- 注意事項として記述すべき内容を確認する
- 使用可能なツール(tools)を確認する
- 表示色(color)の希望を確認する
- ユーザーとの対話時は、明確なタイトル付き質問、複数選択肢の提示、推奨オプションの明示を行う
質問例:
【責任範囲の確認】
このエージェントが担当する責任範囲を確認します。以下のどの範囲ですか?
1. 特定フェーズ全体(要件定義、設計、実装など)【推奨】
2. 特定領域全体(セキュリティ、パフォーマンス、品質管理など)
3. 複数フェーズにまたがる横断的な役割
フェーズ3: コンテンツ生成
収集した情報を基に、エージェントファイルのコンテンツを生成する。
実施内容:
- フロントマター(name, description, tools, model, color)を作成する
- 役割セクションを記述する
- 責任範囲を定義する(責任範囲内と責任範囲外に分けて記述)
- 注意事項を記述する
フロントマターの作成:
---
name: エージェント名(ケバブケース、例: requirements-agent)
description: エージェントの簡潔な説明(1行、50文字以内)
tools: 使用可能な外部ツール(例: "*", "Read", "Write", "Bash"など)
model: inherit(通常はinherit、特定のモデルを指定する場合のみ変更)
color: 表示色(例: blue, green, redなど)
---
役割の記述:
- エージェントの目的と役割を明確に記述する
- 担当する責任範囲の概要を説明する
- 簡潔に1〜2段落で記述する
責任範囲の定義:
責任範囲は「責任範囲内」と「責任範囲外」の2つのサブセクションに分けて記述する。
責任範囲内:
- 太字の見出しと説明を組み合わせた形式で記述する
- 「[項目名]: [説明]」の形式を使用する
- 3〜5項目程度を記述する
- エージェントが担当する具体的な範囲を明確にする
責任範囲外:
- 同様に太字の見出しと説明を組み合わせた形式で記述する
- エージェントが担当しない範囲を明確にする
- 混同しやすい範囲や誤解されやすい点を記述する
- 2〜3項目程度を記述する
注意事項の記述:
- エージェントを使用する際の注意点を箇条書きで記述する
- 制約事項、前提条件、重要な指針などを含める
- 3〜5項目程度を記述する
プラグインアーキテクチャ規約の遵守:
生成するエージェントは、プラグインアーキテクチャ規約に従う必要がある(独立性の原則、汎用性の原則など)。
重要な制約:
- 他のエージェント、スキル、コマンドを参照しない
- 固有名詞を含めない
- 具体的なワークフローは記述しない(それはスキルの役割)
- 責任範囲の定義に集中する
重複最小化の確認:
既存エージェントと重複する内容が含まれていないかを確認し、エージェント固有の内容のみを記述する。
フェーズ4: 検証
生成したコンテンツを検証し、品質を確保する。
実施内容:
- 設計原則の遵守を確認する
- markdownlint検証を実施する
- テンプレート構造の整合性を確認する
- ユーザーにプレビューを提示する
- フィードバックを収集する
- 必要に応じて修正する
プラグインアーキテクチャ規約の確認:
- プラグインアーキテクチャ規約に従っている
- 既存エージェントと重複する内容が含まれていない
- 他の要素(エージェント、スキル、コマンド)を参照していない
- 固有名詞が使用されていない
- 具体的なワークフローが含まれていない
アウトプット
このスキルは以下を生成する:
- エージェントファイル: エージェントの定義ファイル(ファイル名=エージェント名(ケバブケース))
- フロントマター(name, description, tools, model, color)
- 役割
- 責任範囲(責任範囲内、責任範囲外)
- 注意事項
想定されるエラーと対処法
エラー1: 責任範囲が曖昧
検出例:
このエージェントは、いろいろな作業を担当する
対処法:
- 具体的な表現を使用する(要件定義フェーズ全体、セキュリティ領域全体など)
- 責任範囲を明確に列挙する
- 「〜に対する責任を持つ」という表現を使用する
エラー2: 具体的なワークフローが含まれている
検出例:
## ワークフロー
1. ユーザーから要件をヒアリングする
2. 要件を整理する
3. 要件定義書を作成する
対処法:
- ワークフローは削除する(それはスキルの役割)
- 責任範囲の定義に集中する
- 「要件定義フェーズ全体に対する責任を持つ」という表現に置き換える
エラー3: 他の要素を参照している
検出例:
このエージェントは、requirements-structurer スキルを使用して要件を整理する
対処法:
- 他の要素への参照を削除する
- 汎用的な表現に置き換える(「要件を整理する責任を持つ」など)
ベストプラクティス
- 責任範囲は3〜5項目に抑える(多すぎると複雑になる)
- 具体的なワークフローは記述しない(それはスキルの役割)
- 他の要素(エージェント、スキル、コマンド)を参照しない
- 固有名詞を使用しない
- markdownlint検証は必ず実施する
- ユーザーフィードバックを反映して改善する
チェックリスト
既存エージェント確認完了時
- プラグインディレクトリ内の既存エージェントを確認した
- 同じ責任範囲のエージェントが存在しないことを確認した
- 重複する内容が他のエージェントに含まれていないことを確認した
- 既存エージェントで代用できない理由が明確である
- 重複する内容を除外する方針を決定した
情報収集完了時
- エージェントの目的と役割が明確になっている
- 責任範囲内の項目を把握している
- 責任範囲外の項目を把握している
- 対象フェーズや役割が明確になっている
- 注意事項として記述すべき内容が確認されている
- 使用可能なツール(tools)が確認されている
コンテンツ生成完了時
- フロントマター(name, description, tools, model, color)が記述されている
- 役割が簡潔に記述されている
- 責任範囲内が明確に定義されている(3〜5項目)
- 責任範囲外が明確に定義されている(2〜3項目)
- 注意事項が記述されている(3〜5項目)
- 太字の見出しと説明の形式が正しく使用されている
- プラグインアーキテクチャ規約に従っている
- 既存エージェントと重複する内容が含まれていない
- 他の要素(エージェント、スキル、コマンド)を参照していない
- 固有名詞が使用されていない
- 具体的なワークフローが含まれていない
検証完了時
- プラグインアーキテクチャ規約の遵守を確認した
- markdownlint検証を実施した(エラーなし)
- テンプレート構造の整合性を確認した
- ユーザーにプレビューを提示した
- フィードバックを収集した
- 必要な修正を完了した
最終確認
- エージェントファイルが生成されている
- すべてのセクションが適切に記述されている
- プラグインアーキテクチャ規約が遵守されている
- markdownlint検証に合格している
- ユーザーの承認を得ている