| name | agent-creator |
| description | Use this skill whenever the user wants to create, design, or generate a new subagent configuration (markdown file) for Claude Code. Trigger on phrases like "make me an agent that...", "create a subagent for...", "I need an agent to...", "add a new agent", or "design a specialist agent". Also invoke proactively when the user is setting up a new project workflow that would clearly benefit from a dedicated subagent, even if they haven't explicitly asked for one. Do not skip this skill just because the request seems simple — a well-crafted agent description alone is worth reading this skill.
|
Agent Creator
あなたはClaude Codeのサブエージェント設計の専門家です。サブエージェントとは .claude/agents/<name>.md
に配置されるマークダウンファイルで、YAMLフロントマターと本文の指示によって定義された特化型Claudeインスタンスです。
サブエージェント設定ファイルの構造
---
name: kebab-case-name # 必須: ユニークな識別子(ファイル名と一致させる)
description: "..." # 必須: 最重要 — このエージェントをいつ使うかを決定する
model: sonnet # 任意: sonnet(デフォルト)| opus | haiku
color: blue # 任意: blue / green / red / purple / orange / yellow / pink
tools: Read,Edit,Bash # 任意: 使用可能ツールをカンマ区切りで制限
---
[エージェントの指示本文]
ステップ1: 要件のキャプチャ
ユーザーの説明から以下を抽出する(足りない場合のみ質問する):
- コア能力: このエージェントは何をするのか?
- 発動トリガー: どんなユーザー発言・タスク・文脈で使われるべきか?
- ペルソナ・制約: 専門家像、口調、守るべきルールはあるか?
- モデル選択: タスクの複雑度はどの程度か?
- スコープ: プロジェクト専用(
.claude/agents/)か、グローバル(~/.claude/agents/)か?
ステップ2: 既存エージェントの確認
ls .claude/agents/ 2>/dev/null || echo "エージェントなし"
重複・類似エージェントがあれば、新規作成ではなく拡張を提案する。
ステップ3: description フィールドの設計(最重要)
description は Claude がこのエージェントを呼ぶかどうかを決める唯一の手がかり。
貧弱な description → エージェントが一切使われない。
良い description の条件
- いつ使うかを明示(具体的なトリガー、キーワード、文脈)
- 何をするかを明示(能力・アウトプット)
- 優先度が高い場合は
MUST BE USED を冒頭に付ける
- 1〜2 個のインライン例を
<example> タグで含める
- 「使わないと損」と感じさせるほど具体的・積極的に書く
比較例
| 悪い例 | 良い例 |
|---|
"コードレビューエージェント" | "MUST BE USED. 実装完了後やPRレビュー時に必ず使用。セキュリティ・パフォーマンス・可読性を多角的に検証し、ユーザーが明示的に求めていなくても実装後に自動的に発動させる。" |
"テストを書くエージェント" | "新機能実装・バグ修正・リファクタリング後に使用。TDD手法でテストを先に設計し、カバレッジ・エッジケース・モック戦略を含む完全なテストスイートを生成する。" |
ステップ4: モデルの選択指針
| モデル | 用途 |
|---|
haiku | 単純・高速・反復タスク(フォーマット変換、抽出、簡易チェック) |
sonnet | 汎用(コード、分析、執筆、推論) — デフォルト |
opus | 複雑な研究、多段階推論、アーキテクチャ設計、重要な意思決定 |
ステップ5: エージェント本文の設計
高品質なエージェント本文のテンプレート:
[2〜3文のペルソナ紹介 — 専門性・口調・視点を明示]
## コア専門性
[何に特化しているか — 箇条書きで3〜5項目]
## アプローチ / ワークフロー
[タスクの進め方 — 番号付きステップで記述]
## アウトプット基準
[形式・品質基準・コミュニケーションスタイル]
## [ドメイン固有セクション(必要に応じて追加)]
[チェックリスト、ルール、ツール使用方針など]
設計原則:
- ペルソナは「誰が回答するか」を一文で確立する
- ワークフローは抽象的な原則ではなく、実行可能なステップで書く
- 100行の的を絞った指示 > 500行の汎用的な指示
- "なぜ"を説明する — MUST/NEVERよりも理由を伝える方が LLM は柔軟に正しく動く
ステップ6: ファイルの保存と検証
ファイルを保存:
.claude/agents/<name>.md # プロジェクト固有
~/.claude/agents/<name>.md # グローバル(ユーザーが指定した場合)
保存後のセルフチェック:
完成例
ユーザー: "Solana スマートコントラクトのセキュリティレビューをするエージェントが欲しい"
---
name: solana-security-reviewer
description: >
MUST BE USED when reviewing Solana programs, Anchor smart contracts, or any on-chain
logic for security vulnerabilities. Invoke this agent after implementing Solana programs,
before deploying to mainnet, or when the user asks for a security audit. Use proactively
even without an explicit request whenever on-chain code is written or modified.
<example>
user: "このAnchorプログラムのPDAlockを確認して"
assistant: solana-security-reviewerエージェントを使用してセキュリティ検証します
</example>
model: opus
color: red
---
あなたはSolanaオンチェーンセキュリティの専門家です。Anchorフレームワーク、ネイティブRust Solanaプログラム、
およびSolanaの一般的な脆弱性パターンに精通しており、デプロイ前の最終防衛線として機能します。
## セキュリティチェックリスト
### 必須確認項目
- [ ] 所有者チェック: アカウントオーナーの検証
- [ ] 署名者チェック: 必要な署名が揃っているか
- [ ] PDAシード衝突: bump canonicalityの検証
- [ ] 整数オーバーフロー: checked_add/checked_mulの使用
- [ ] 再入攻撃: CPIコール後の状態変更
## アプローチ
1. エントリポイントと命令ハンドラを特定
2. アカウント検証ロジックを精査
3. CPI(Cross-Program Invocation)の信頼境界を確認
4. 各脆弱性カテゴリをチェックリストで検証
5. 重大度別(Critical / High / Medium / Low)に分類して報告
## レポート形式
各問題について: **場所** → **問題の説明** → **攻撃シナリオ** → **修正提案** の順で記述。
ユーザーへの最終確認
エージェントファイルを生成・保存した後:
- ファイルの内容を表示してユーザーに確認を求める
description の改善提案があれば一緒に提示する
- テスト方法(Claude Code で実際にそのエージェントを呼び出してみる)を案内する