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