spawn について
spawnは、Claude Code向けのエージェントプロンプトを生成するスキルです。技術名、技術のリスト、アーキテクチャの説明をもとに、ファイル形式や保存範囲、詳細な構成を定めます。
主な機能
- 01単一または複数のエージェントプロンプト生成
- 02アーキテクチャ説明からエージェントを提案
- 03YAML frontmatter付きMarkdownファイルの作成
- 04プロジェクト単位またはグローバルの保存範囲
- 0510部構成テンプレートによるプロンプト整理
活用シーン
- 01分野別のClaude Codeエージェント作成
- 02技術スタック向けプロンプトの一括生成
- 03プロジェクトまたはユーザー単位のエージェントファイル準備
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ 0xdarkmatter/ claude-mods --skill spawnインストール後、Claude Code で/spawnを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/.gitkeepreferences/.gitkeepscripts/.gitkeep詳細
Spawn - エキスパートエージェント生成ツール
Claude Code 向けに、最高水準で包括的なエキスパートエージェントのプロンプトを生成します。各エージェントは、その分野の決定版リファレンスとなるべきものです。博士号レベルの実務者が作成するようなガイドを目指します。
目標品質: エージェントあたり500〜1000行。実用的なコード例、完全な設定、詳細なパターンを含めます。
ベンチマークとなるエージェント: firecrawl-expert.md(1026行)、project-organizer.md(610行)
使用モード
モード1:単一エージェントの生成
特定のテクノロジープラットフォーム向けに、エキスパートエージェントのプロンプトを1つ生成します。
指定項目:
- テクノロジープラットフォームまたはフレームワークの名前
- スコープ(プロジェクト単位またはグローバル/ユーザー単位)
- 重点領域(任意:特定の機能、パターン、ユースケース)
- 出力形式(Markdown ファイルまたはクリップボードに貼り付け可能なテキスト)
モード2:エージェントの一括生成
テクノロジープラットフォームのリストから、複数のエージェントプロンプトを作成します。
指定項目:
- テクノロジープラットフォームの複数行リスト
- スコープ(プロジェクト単位またはグローバル/ユーザー単位)
- 共通の重点領域(任意)
- 出力形式(個別の .md ファイルまたは統合テキスト)
モード3:アーキテクチャ分析
技術スタックまたはアーキテクチャの説明を分析し、関連するエージェントを提案します。
手順:
- アーキテクチャの説明を読み取ります(ユーザーの入力またはファイルから)
- すべてのテクノロジープラットフォーム/サービスを特定します
- スコープ(プロジェクト単位またはグローバル)を尋ねます
- エージェント作成用のチェックボックス選択欄を表示します
- 選択されたエージェントを生成します
エージェントのファイル形式
すべてのエージェントは、YAML フロントマターを含む Markdown ファイルとして作成する必要があります。
- プロジェクト単位:
.claude/agents/(現在のプロジェクトのみ) - グローバル/ユーザー単位:
~/.claude/agents/またはC:\Users\[username]\.claude\agents\(すべてのプロジェクト)
ファイル構造:
---
name: technology-name-expert
description: When this agent should be used. Can include examples and use cases. No strict length limit - be clear and specific. Include "use PROACTIVELY" for automatic invocation.
model: inherit
color: blue
---
[Agent system prompt content here]
YAML フロントマターのフィールド:
name(必須):一意の識別子。小文字とハイフンを使用します(例:「redis-expert」)description(必須):このエージェントを使用する場面を明確かつ具体的に説明します- 厳密な長さ制限はありません。簡潔さより明確さを優先してください
- 例、ユースケース、背景情報を含めることができます
- 自動的な呼び出しを促すには、「use PROACTIVELY」または「MUST BE USED」を使用します
- 長い説明には、複数行の YAML 文字列形式を使用できます
tools(任意):使用を許可するツールのカンマ区切りリスト(例:「Read, Grep, Glob, Bash」)- 省略した場合、エージェントはメインセッションのすべてのツールを引き継ぎます
- ベストプラクティス: エージェントの目的に必要なツールだけを許可します(セキュリティと集中力が向上します)
model(任意):モデルを指定します(「sonnet」、「opus」、「haiku」、またはメインセッションのモデルを使用する「inherit」)color(任意):UI での視覚的な識別子(「blue」、「green」、「purple」など)
ファイルの作成: エージェントは Write ツールを使用してプログラムから作成できます。
Project-level: .claude/agents/[platform]-expert.md
Global/User-level: ~/.claude/agents/[platform]-expert.md (or C:\Users\[username]\.claude\agents\ on Windows)
スコープの選択:
- プロジェクトエージェント(
.claude/agents/):現在のプロジェクト専用です。バージョン管理して、チームと共有できます - グローバルエージェント(
~/.claude/agents/):このマシン上のすべてのプロジェクトで利用できます
作成後、Claude Code は数秒以内にファイルを認識し、Agent ツールからエージェントを利用できるようになります(Claude Code 2.1.63 より前は Task という名前でした。エイリアスとして Task(...) も引き続き使用できます)。例外は、セッション開始時に存在していなかった agents/ ディレクトリ内の最初のエージェントです。このエージェントを読み込むには、セッションを再起動する必要があります。
Claude Code エージェントのドキュメント
必読資料:
- サブエージェントの概要: https://docs.claude.com/en/docs/claude-code/sub-agents
- SDK でのサブエージェント: https://docs.claude.com/en/api/agent-sdk/subagents
- Agent SDK の概要: https://docs.claude.com/en/api/agent-sdk/overview
- エージェントスキルガイド: https://docs.claude.com/en/docs/claude-code/skills
- SDK でのエージェントスキル: https://docs.claude.com/en/api/agent-sdk/skills
- エージェントスキル作成のベストプラクティス: https://docs.claude.com/en/docs/agents-and-tools/agent-skills/best-practices
- API でのエージェントスキルの使用: https://docs.claude.com/en/api/skills-guide
- エージェントスキルクイックスタート: https://docs.claude.com/en/docs/agents-and-tools/agent-skills/quickstart
- Claude Code の設定: https://docs.claude.com/en/docs/claude-code/settings
- 一般的なワークフロー: https://docs.claude.com/en/docs/claude-code/common-workflows
- Claude Code の概要: https://docs.claude.com/en/docs/claude-code/overview
- プラグインリファレンス: https://docs.claude.com/en/docs/claude-code/plugins-reference
ドキュメントの主な概念:
- サブエージェントは、カスタマイズされたシステムプロンプトを使用し、それぞれ独立したコンテキストウィンドウで動作します
- サブエージェントごとにツールへのアクセスを制限し、特定の機能に集中させることができます
- 複数のサブエージェントを並行して実行し、処理を並列化できます
- ユーザーレベルのエージェント(
~/.claude/agents/)は、すべてのプロジェクトで利用できます - プロジェクトレベルのエージェント(
.claude/agents/)はプロジェクトごとに設定でき、共有可能です - エージェントの管理には、推奨される UI として
/agentsコマンドを使用します - まず Claude が生成したエージェントを使用し、最良の結果が得られるようにカスタマイズします
- チームでの共同作業に備え、プロジェクトレベルのサブエージェントをバージョン管理します
生成要件
各エージェントについて、包括的で専門性の高いプロンプトを作成してください。
エージェントのコンテンツ構成(10 部構成のテンプレート):
生成するすべてのエージェントは、この包括的な 10 部構成に従う必要があります。
- パート 1:基本概念 - 基本原則、メンタルモデル、アーキテクチャの概要
- パート 2:必須パターン(5~10 個のパターン)- 各パターンに、使用する場面、完全な実装(20~50 行)、バリエーション、よくある間違いを含めます
- パート 3:高度なテクニック(3~5 個のテクニック)- 完全な例を用いて詳しく解説します
- パート 4:設定 - 開発環境用の完全な設定、本番環境用の完全な設定、環境変数の表
- パート 5:統合パターン - よく使われる 2~3 種類のテクノロジーとの統合コード
- パート 6:テスト戦略 - モックを使ったユニットテスト、統合テスト、テスト設定
- パート 7:エラー処理 - カスタム例外階層、リトライ/サーキットブレーカーパターン、構造化ログ
- パート 8:パフォーマンス最適化 - プロファイリング手法、最適化の表、キャッシュ戦略
- パート 9:セキュリティ上の考慮事項 - よくある脆弱性、セキュリティ強化チェックリスト
- パート 10:クイックリファレンス - よく使う操作のチートシート(20~30 個のスニペット)、CLI コマンド、トラブルシューティングの表
さらに、品質チェックリスト、アンチパターン(5~10 個。悪いコードと良いコードを記載)、基本リソース(URL を 10~15 件)も含めます。
実装例については、agents/ にある firecrawl-expert.md と project-organizer.md を参照してください。
要件:
- 必須フィールド(name、description)を含む YAML フロントマターを先頭に記載する
- 簡潔で実行可能なシステムプロンプトにする(冗長にしない)
- 公式または信頼できる情報源の URL を最低 10 件含める
- 実用的ですぐに本番環境で使えるコード例を含める(コードブロック 10 個以上)
- 完全な設定ファイルを含める(開発環境用と本番環境用)
- 実際のテストコードを用いたテストパターンを含める
- パターン、ベストプラクティス、アーキテクチャに焦点を当てる
- さらに詳しく調べるための基本的な参考資料を含める
- そのまま使用できるように Markdown 形式にする
- 明確さのために必要であれば、description フィールドを例とともに長くしてもかまいません
出力オプション
スコープの選択をユーザーに求めます:
- プロジェクトエージェント -
.claude/agents/に保存します(プロジェクト固有、バージョン管理対象) - グローバルエージェント -
~/.claude/agents/またはC:\Users\[username]\.claude\agents\に保存します(すべてのプロジェクトで使用)
形式の選択をユーザーに求めます:
- クリップボード用 - 完全な Markdown(YAML フロントマターを含む)をコードブロックで出力します
- ファイルを作成 - Write ツールを使い、スコープに応じた適切な agents ディレクトリに保存します
- 両方 - Write ツールでファイルを作成し、レビュー用に完全な内容をチャットにも表示します
ファイル作成の手順: プログラムからファイルを作成する場合:
- YAML フロントマターを含む完全なエージェントの内容を生成します
- スコープの選択に応じてパスを決定します:
- プロジェクト:
.claude/agents/[platform-name]-expert.md - グローバル:
~/.claude/agents/[platform-name]-expert.md(または Windows の同等のパス)
- プロジェクト:
- 適切なパスで Write ツールを使用します
- ファイルが正常に作成されたことを確認します
- エージェントはすぐに使用できます
例
例 1:単一エージェント
User: /spawn
Agent: [Shows multi-tab AskUserQuestion with 5 tabs]
Tab 1 (Mode): Single Agent / Batch Generation / Architecture Analysis
Tab 2 (Scope): Project Agent / Global Agent
Tab 3 (Output): Create File / Show in Chat / Both
Tab 4 (Platform): Custom Platform / [or popular options]
Tab 5 (Focus): [Multi-select] General Coverage / Caching Patterns / Pub/Sub / etc.
User: [Selects all answers and submits once]
Mode: Single Agent
Scope: Global Agent
Output: Both
Platform: Redis (via Other field)
Focus: General Coverage, Caching Patterns, Pub/Sub
Agent: [Generates Redis expert prompt and saves to ~/.claude/agents/redis-expert.md]
例 2:一括生成
User: /spawn
Agent: [Shows multi-tab AskUserQuestion with 3 tabs]
Tab 1 (Mode): Single Agent / Batch Generation / Architecture Analysis
Tab 2 (Scope): Project Agent / Global Agent
Tab 3 (Output): Create Files / Show in Chat / Both
User: [Submits]
Mode: Batch Generation
Scope: Project Agent
Output: Create Files
Agent: Please provide platforms (one per line):
User: PostgreSQL
Redis
RabbitMQ
Agent: [Creates 3 .md files in .claude/agents/ (project directory)]
例 3:アーキテクチャ分析
User: /spawn
Agent: [Shows multi-tab AskUserQuestion with 3 tabs]
Tab 1 (Mode): Single Agent / Batch Generation / Architecture Analysis
Tab 2 (Scope): Project Agent / Global Agent
Tab 3 (Output): Create Files / Show in Chat / Both
User: [Submits]
Mode: Architecture Analysis
Scope: Global Agent
Output: Both
Agent: Describe your architecture or provide file path:
User: E-commerce platform: Next.js frontend, Node.js API, PostgreSQL, Redis cache, Stripe payments, AWS S3 storage, SendGrid emails
Agent: Found platforms: Next.js, Node.js, PostgreSQL, Redis, Stripe, AWS S3, SendGrid
[Shows multi-select AskUserQuestion]
User: [Selects: nextjs-expert, redis-expert, stripe-expert, sendgrid-expert]
Agent: [Generates 4 selected agents in ~/.claude/agents/]
実装手順
-
すべての質問をまとめて尋ねる:複数の質問を含む AskUserQuestion 呼び出しを 1 回だけ使用します:
- 質問 1(ヘッダー:「モード」):単一エージェント/一括生成/アーキテクチャ分析
- 質問 2(ヘッダー:「スコープ」):プロジェクトエージェント(このプロジェクトのみ)/グローバルエージェント(すべてのプロジェクト)
- 質問 3(ヘッダー:「出力」):ファイルを作成/チャットに表示/両方
単一モードの場合は、同じ呼び出しで以下も尋ねます:
- 質問 4(ヘッダー:「プラットフォーム」):ユーザーが「その他」欄に入力できる「カスタムプラットフォーム」オプションを提示します
- 質問 5(ヘッダー:「重点分野」、multiSelect: true):全般的な網羅/その技術で一般的な重点分野を 2~3 個
-
単一モードの場合:
- ユーザーが「カスタムプラットフォーム」を選択した場合は、チャットでプラットフォーム名を尋ねます
- 回答に基づいて包括的なプロンプトを生成します
- 出力の設定に応じて、ファイルを作成するか、内容を表示します
-
一括モードの場合:
- チャットで複数行のプラットフォーム一覧を提示するようユーザーに求めます
- 各プラットフォームについて:
- エキスパートプロンプトを生成します
.claude/agents/[platform]-expert.mdに保存します
- ファイルパスを添えて完了を報告します
-
アーキテクチャ分析の場合:
- チャットでアーキテクチャの説明を求めます
- 技術を解析して特定します
- AskUserQuestion を使ってチェックボックス形式の選択肢を提示します(multiSelect: true)
- 選択されたエージェントを生成します
- 出力の設定に応じてファイルに保存します
-
各エージェントプロンプトの生成:
- 公式ドキュメントを調査します(WebSearch または WebFetch)
- 信頼できる URL を 10 件以上見つけます
- 上記のテンプレートに沿って構成します
- パターンとベストプラクティスに重点を置きます
- 包括的なパターンを含む 500~1000 行を目標にします
- Markdown 形式にします
-
出力:
- スコープの選択に応じてファイルパスを決定します:
- プロジェクトエージェント:
.claude/agents/[platform]-expert.md - グローバルエージェント:
~/.claude/agents/[platform]-expert.md(Unix/Mac)またはC:\Users\[username]\.claude\agents\[platform]-expert.md(Windows)
- プロジェクトエージェント:
- 「ファイルを作成」または「両方」の場合:適切なパスと完全な YAML フロントマターおよびシステムプロンプトを指定して Write ツールを使用します
- 「チャットに表示」または「両方」の場合:フロントマターを含む完全な Markdown をコードブロックで表示します
- 完全なファイルパスを示して作成を確認します
- エージェントは数秒以内に Agent ツールから使用できることをユーザーに伝えます(
agents/ディレクトリを今回作成した場合は、先に再起動してください)
- スコープの選択に応じてファイルパスを決定します:
重要:複数タブのインターフェースを作成するため、複数の質問(2~4 個)を含む AskUserQuestion 呼び出しを必ず 1 回だけ使用してください。質問を 1 つずつ順番に尋ねてはいけません。
品質チェックリスト
各エージェントプロンプトを出力する前に、次の点を確認してください。
- 必須フィールド(name、description)を含む YAML フロントマターがある
- 名前が小文字とハイフンを使った形式になっている
- 説明が明確で具体的である(長さは問いません)
- アクセスを制限する場合は Tools フィールドが指定されている(ベストプラクティス:必要なツールに限定する)
- システムプロンプトに信頼性の高い URL が 10 件以上含まれている
- 本番環境で使用できるコード例が 10 件以上含まれている
- 開発環境と本番環境の設定ファイルが完備されている
- 実際のテストコードを使ったテストパターンがある
- エラー処理パターンと例外階層がある
- アンチパターンが 5 件以上あり、悪いコードと良いコードを比較している
- システムプロンプトが簡潔で要点を把握しやすい
- ユースケースが明確に定義されている
- 連携ポイントが特定されている
- 一般的なパターンが参照されている
- アンチパターンが列挙されている
- 全体を通して適切な Markdown 形式になっている
- ファイル名が name フィールドと一致している:[name].md
- Claude Code のサブエージェントのベストプラクティスに従っている(上記のドキュメントリンクを参照)
生成後
エージェントを作成した後、ユーザーに次のことを伝えてください。
- 生成されたプロンプトを確認する
- サンプルの質問でエージェントをテストする
- 実際の使用状況に基づいて調整する
- 問題がなければバージョン管理に追加する
- 高度な機能やベストプラクティスについては、上記の Claude Code ドキュメントリンクを参照する
追加リソース:
/agentsコマンドを使って、利用可能なすべてのエージェントを表示・管理する- サブエージェントの詳細なドキュメントについては、https://docs.claude.com/en/docs/claude-code/sub-agents を参照する
- 作成ガイドラインについては、https://docs.claude.com/en/docs/agents-and-tools/agent-skills/best-practices を確認する