---
name: agent-generator
description: ユーザーの責任範囲定義から、Agentのマークダウンファイルを生成する。エージェント作成時、プラグイン要素生成時、またはユーザーがエージェント定義、責任範囲、Agent生成、エージェントドキュメントに言及した際に使用する。
enabled: false
source: github:diegosouzapw/awesome-omni-skill
imported-from: github:diegosouzapw/awesome-omni-skill
---

# 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検証に合格している
- [ ] ユーザーの承認を得ている
