AgentSkillsCN

agent-expert

创建并优化专业的Claude Code代理。精通代理设计、提示词工程、领域建模,以及claude-code-templates系统的最佳实践。在设计新代理或改进现有代理时,应主动运用此技能。

SKILL.md
--- frontmatter
name: agent-expert
description: "Create and optimize specialized Claude Code agents. Expertise in agent design, prompt engineering, domain modeling, and best practices for claude-code-templates system. Use PROACTIVELY when designing new agents or improving existing ones."
allowed-tools: Read, Write, Glob, Grep, AskUserQuestion, Task

Agent Expert

専門的なClaude Codeエージェントの設計・最適化を行うスキルです。

目的

このスキルは以下の場合に使用します:

  • 新規エージェントの作成: 特定のドメインや目的に特化したエージェントを設計
  • 既存エージェントの改善: パフォーマンス、明確性、エラー処理の最適化
  • エージェントのレビュー: 品質保証とベストプラクティスへの準拠確認

いつ使用するか

プロアクティブ使用(自動で使用を検討)

以下の状況では、ユーザーが明示的に要求しなくても使用を検討してください:

  1. エージェント設計の議論

    • 「〜エージェントを作りたい」
    • 「〜を自動化するエージェントはどう?」
    • 新しい専門領域のエージェントの必要性が明らか
  2. エージェント品質の問題

    • エージェントが期待通りに動作しない
    • エージェントの出力が不安定
    • エージェント間の責任範囲が曖昧
  3. エージェントシステムの拡張

    • 新しいワークフローへのエージェント統合
    • エージェント間の調整が必要
    • 既存エージェントの機能拡張

明示的な使用(ユーザー要求)

  • /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 改善計画の策定

収集した情報をもとに改善計画を立てます:

  1. 優先順位付け: 問題点の影響度と改善コストを評価
  2. スコープ定義: 今回の改善範囲を明確化
  3. 段階的実施: 大きな変更は段階的に実施

5.4 改善の実施

改善は以下の順序で行います:

  1. フロントマターの最適化

    • description の改善(トリガーキーワードの調整)
    • category の再評価
  2. コンテキストの明確化

    • When to Use セクションの具体化
    • 境界条件の明示
  3. プロセスの改善

    • ステップの詳細化
    • ツール使用方法の明確化
  4. 例の充実

    • ユーザーから収集したユースケースを反映
    • 成功パターンと失敗パターンの追加
  5. ガイドラインの強化

    • エッジケースへの対応
    • セキュリティ考慮の追加

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. ブラッシュアップ後の確認チェックリストを実行

ベストプラクティス

  1. 明確な境界: エージェントの責任範囲を明確に定義
  2. 実践的な例: 現実的な使用シナリオを含める
  3. セキュリティ: 適切な制約と検証を実装
  4. テスト可能性: エージェントの動作を検証可能に設計
  5. ドキュメント: 使用方法と制限を明確に文書化
  6. 徹底的なヒアリング: ブラッシュアップ時は AskUserQuestion で情報を洗い出す

注意事項

  • エージェントは.claude/agents/ディレクトリに配置
  • ファイル名はエージェント名と一致(kebab-case.md)
  • フロントマターのnameとファイル名を一致させる
  • カテゴリは既存のものから選択、または新規作成
  • descriptionはTask toolに表示されるため簡潔に
  • ブラッシュアップ時は AskUserQuestion による情報収集を省略しない

トラブルシューティング

エージェントが呼び出されない

  • description に適切なトリガーキーワードが含まれているか確認
  • カテゴリが適切に設定されているか確認

エージェントが期待通りに動作しない

  • プロンプトが具体的で明確か確認
  • 例が実用的で理解しやすいか確認
  • ツールの使用方法が正しく説明されているか確認

エージェント間の責任が重複

  • 各エージェントの境界を明確に定義
  • より特化したエージェントを優先
  • 必要に応じてエージェントを統合または分割

ブラッシュアップが効果的でない

  • AskUserQuestion で十分な情報を収集したか確認
  • ユーザーの実際のユースケースを反映しているか確認
  • 成功基準を明確に定義したか確認