Files
2025-11-30 08:51:41 +08:00

295 lines
11 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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検証に合格している
- [ ] ユーザーの承認を得ている