Agent Expert
専門的なClaude Codeエージェントの設計・最適化を行うスキルです。
目的
このスキルは以下の場合に使用します:
- •新規エージェントの作成: 特定のドメインや目的に特化したエージェントを設計
- •既存エージェントの改善: パフォーマンス、明確性、エラー処理の最適化
- •エージェントのレビュー: 品質保証とベストプラクティスへの準拠確認
いつ使用するか
プロアクティブ使用(自動で使用を検討)
以下の状況では、ユーザーが明示的に要求しなくても使用を検討してください:
- •
エージェント設計の議論
- •「〜エージェントを作りたい」
- •「〜を自動化するエージェントはどう?」
- •新しい専門領域のエージェントの必要性が明らか
- •
エージェント品質の問題
- •エージェントが期待通りに動作しない
- •エージェントの出力が不安定
- •エージェント間の責任範囲が曖昧
- •
エージェントシステムの拡張
- •新しいワークフローへのエージェント統合
- •エージェント間の調整が必要
- •既存エージェントの機能拡張
明示的な使用(ユーザー要求)
- •
/agent-expertコマンド - •「エージェントを作って」「エージェントを改善して」などの直接的な要求
プロセス
1. 要件の分析
エージェント作成前に以下を明確化します:
bash
# 既存のエージェントを確認 ls -la .claude/agents/ # 類似エージェントの内容を確認 cat .claude/agents/similar-agent.md
- •ドメイン境界: エージェントの専門領域と責任範囲
- •入力/出力: 受け取る情報と提供する成果物
- •トリガー条件: いつ、どのような状況で使用されるか
- •制約: セキュリティ、パフォーマンス、倫理的な制限
2. エージェント設計
AskUserQuestion ツールを使用して、以下を確認:
- •エージェントの名前(kebab-case)
- •主要な責任と専門性
- •利用可能なツール
- •想定される使用シナリオ
3. エージェントの実装
標準的なエージェント構造:
markdown
--- name: agent-name category: category-name description: Short description for the Task tool color: green --- # Agent Purpose and Context ## When to Use This Agent [Specific trigger conditions] ## Process 1. Step one 2. Step two ... ## Examples [3-4 realistic usage examples with context and expected outcomes] ## Guidelines - Guideline 1 - Guideline 2 ...
4. テストとバリデーション
作成後の確認項目:
- • フロントマターが正しく設定されている(詳細は
./frontmatter-review.mdを参照) - •
colorが設定されている(必須) - • トリガー条件が明確
- • 実用的な例が3-4個含まれている
- • ツールの使用方法が明記されている
- • 制約事項とセキュリティ考慮が含まれている
フロントマター検証の詳細:
./frontmatter-review.md に基づいて以下を確認:
- •
name: kebab-case、ファイル名と一致 - •
description: 具体的でトリガーキーワードを含む - •
color: 必須(green, blue, purple, orange, cyan, yellow, red, pink, magenta, indigo, gray) - •
skills: 参照先スキルが存在するか(設定時) - •
allowed-tools: 有効なツール名のみ(設定時)
5. 既存エージェントのブラッシュアップ
既存エージェントを改善する際は、AskUserQuestion ツールを使用した徹底的な情報収集が必須です。
5.1 事前分析
まず、対象エージェントの現状を把握します:
bash
# 対象エージェントを読み込み cat .claude/agents/target-agent.md # 関連エージェントを確認(カテゴリ、類似機能) grep -l "category: same-category" .claude/agents/*.md
5.2 AskUserQuestion による情報洗い出し(必須)
以下の項目について必ずユーザーに確認してください:
A. 現状の問題点
code
AskUserQuestion: "このエージェントの現在の問題点は何ですか?" options: - 期待通りに動作しない - 出力の品質が不安定 - トリガー条件が不明確 - ツールの使用が非効率 - Other (自由記述)
B. 使用頻度と重要度
code
AskUserQuestion: "このエージェントの使用頻度と重要度は?" options: - 高頻度・高重要度(毎日使用、コアワークフロー) - 高頻度・低重要度(よく使うが補助的) - 低頻度・高重要度(特定状況で必須) - 低頻度・低重要度(あまり使わない)
C. 期待する改善点
code
AskUserQuestion: "具体的にどのような改善を期待しますか?" multiSelect: true options: - プロンプトの明確化 - 例の追加・改善 - エラー処理の強化 - 他エージェントとの連携改善
D. 具体的なユースケース
code
AskUserQuestion: "最近このエージェントを使った具体的なケースを教えてください" (自由記述を促す)
E. 成功基準
code
AskUserQuestion: "ブラッシュアップ後、どうなれば成功と言えますか?" (具体的な達成条件を収集)
5.3 改善計画の策定
収集した情報をもとに改善計画を立てます:
- •優先順位付け: 問題点の影響度と改善コストを評価
- •スコープ定義: 今回の改善範囲を明確化
- •段階的実施: 大きな変更は段階的に実施
5.4 改善の実施
改善は以下の順序で行います:
- •
フロントマターの最適化
- •description の改善(トリガーキーワードの調整)
- •category の再評価
- •
コンテキストの明確化
- •When to Use セクションの具体化
- •境界条件の明示
- •
プロセスの改善
- •ステップの詳細化
- •ツール使用方法の明確化
- •
例の充実
- •ユーザーから収集したユースケースを反映
- •成功パターンと失敗パターンの追加
- •
ガイドラインの強化
- •エッジケースへの対応
- •セキュリティ考慮の追加
5.5 ブラッシュアップ後の確認
改善後、以下を確認します:
- • 収集した問題点が解決されている
- • ユーザーの期待する改善が反映されている
- • 具体的なユースケースが例として追加されている
- • 成功基準を満たしている
- • 既存の機能が損なわれていない
リソース
このスキルには以下のリソースが含まれています:
./guide.md
エージェント設計の詳細ガイド:
- •エージェント設計原則
- •カテゴリ分類
- •プロンプトエンジニアリング
- •品質保証基準
- •トラブルシューティング
./template.md
標準的なエージェントテンプレート:
- •フロントマター構造
- •セクション構成
- •例の書き方
- •コメント付きガイド
./frontmatter-review.md
エージェントフロントマターの検証ガイド:
- •検証対象フィールド(name, description, color【必須】, category, skills, allowed-tools, model)
- •フィールド別検証ルール
- •
skills:フィールドの存在確認方法 - •
allowed-toolsの有効なツール一覧 - •検証チェックリスト
- •自動検証スクリプト例
使用例
新規エージェント作成
bash
# 1. 要件を明確化(AskUserQuestion使用) # 2. 既存エージェントを調査 # 3. テンプレートを使用して作成 # 4. バリデーション実行
既存エージェントのブラッシュアップ
bash
# 1. 対象エージェントを読み込み # 2. AskUserQuestion で徹底的に情報収集(必須) # - 問題点、使用頻度、期待する改善、ユースケース、成功基準 # 3. 改善計画を策定 # 4. ガイドラインに基づいて修正 # 5. ブラッシュアップ後の確認チェックリストを実行
ベストプラクティス
- •明確な境界: エージェントの責任範囲を明確に定義
- •実践的な例: 現実的な使用シナリオを含める
- •セキュリティ: 適切な制約と検証を実装
- •テスト可能性: エージェントの動作を検証可能に設計
- •ドキュメント: 使用方法と制限を明確に文書化
- •徹底的なヒアリング: ブラッシュアップ時は AskUserQuestion で情報を洗い出す
注意事項
- •エージェントは
.claude/agents/ディレクトリに配置 - •ファイル名はエージェント名と一致(kebab-case.md)
- •フロントマターのnameとファイル名を一致させる
- •カテゴリは既存のものから選択、または新規作成
- •descriptionはTask toolに表示されるため簡潔に
- •ブラッシュアップ時は AskUserQuestion による情報収集を省略しない
トラブルシューティング
エージェントが呼び出されない
- •description に適切なトリガーキーワードが含まれているか確認
- •カテゴリが適切に設定されているか確認
エージェントが期待通りに動作しない
- •プロンプトが具体的で明確か確認
- •例が実用的で理解しやすいか確認
- •ツールの使用方法が正しく説明されているか確認
エージェント間の責任が重複
- •各エージェントの境界を明確に定義
- •より特化したエージェントを優先
- •必要に応じてエージェントを統合または分割
ブラッシュアップが効果的でない
- •AskUserQuestion で十分な情報を収集したか確認
- •ユーザーの実際のユースケースを反映しているか確認
- •成功基準を明確に定義したか確認