mcpField
S
spawn

spawn

github.com/0xdarkmatterエージェントワークフロー7858 回インストール2 週間前に更新
リポジトリ

spawn について

spawnは、Claude Code向けのエージェントプロンプトを生成するスキルです。技術名、技術のリスト、アーキテクチャの説明をもとに、ファイル形式や保存範囲、詳細な構成を定めます。

主な機能

  1. 01単一または複数のエージェントプロンプト生成
  2. 02アーキテクチャ説明からエージェントを提案
  3. 03YAML frontmatter付きMarkdownファイルの作成
  4. 04プロジェクト単位またはグローバルの保存範囲
  5. 0510部構成テンプレートによるプロンプト整理

活用シーン

  1. 01分野別のClaude Codeエージェント作成
  2. 02技術スタック向けプロンプトの一括生成
  3. 03プロジェクトまたはユーザー単位のエージェントファイル準備

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/0xdarkmatter/claude-mods --skill spawn

インストール後、Claude Code で/spawnを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

assets/
.gitkeep
references/
.gitkeep
scripts/
.gitkeep

詳細

Spawn - エキスパートエージェント生成ツール

Claude Code 向けに、最高水準で包括的なエキスパートエージェントのプロンプトを生成します。各エージェントは、その分野の決定版リファレンスとなるべきものです。博士号レベルの実務者が作成するようなガイドを目指します。

目標品質: エージェントあたり500〜1000行。実用的なコード例、完全な設定、詳細なパターンを含めます。

ベンチマークとなるエージェント: firecrawl-expert.md(1026行)、project-organizer.md(610行)

使用モード

モード1:単一エージェントの生成

特定のテクノロジープラットフォーム向けに、エキスパートエージェントのプロンプトを1つ生成します。

指定項目:

  • テクノロジープラットフォームまたはフレームワークの名前
  • スコープ(プロジェクト単位またはグローバル/ユーザー単位)
  • 重点領域(任意:特定の機能、パターン、ユースケース)
  • 出力形式(Markdown ファイルまたはクリップボードに貼り付け可能なテキスト)
モード2:エージェントの一括生成

テクノロジープラットフォームのリストから、複数のエージェントプロンプトを作成します。

指定項目:

  • テクノロジープラットフォームの複数行リスト
  • スコープ(プロジェクト単位またはグローバル/ユーザー単位)
  • 共通の重点領域(任意)
  • 出力形式(個別の .md ファイルまたは統合テキスト)
モード3:アーキテクチャ分析

技術スタックまたはアーキテクチャの説明を分析し、関連するエージェントを提案します。

手順:

  1. アーキテクチャの説明を読み取ります(ユーザーの入力またはファイルから)
  2. すべてのテクノロジープラットフォーム/サービスを特定します
  3. スコープ(プロジェクト単位またはグローバル)を尋ねます
  4. エージェント作成用のチェックボックス選択欄を表示します
  5. 選択されたエージェントを生成します

エージェントのファイル形式

すべてのエージェントは、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 エージェントのドキュメント

必読資料:

ドキュメントの主な概念:

  • サブエージェントは、カスタマイズされたシステムプロンプトを使用し、それぞれ独立したコンテキストウィンドウで動作します
  • サブエージェントごとにツールへのアクセスを制限し、特定の機能に集中させることができます
  • 複数のサブエージェントを並行して実行し、処理を並列化できます
  • ユーザーレベルのエージェント(~/.claude/agents/)は、すべてのプロジェクトで利用できます
  • プロジェクトレベルのエージェント(.claude/agents/)はプロジェクトごとに設定でき、共有可能です
  • エージェントの管理には、推奨される UI として /agents コマンドを使用します
  • まず Claude が生成したエージェントを使用し、最良の結果が得られるようにカスタマイズします
  • チームでの共同作業に備え、プロジェクトレベルのサブエージェントをバージョン管理します

生成要件

各エージェントについて、包括的で専門性の高いプロンプトを作成してください。

エージェントのコンテンツ構成(10 部構成のテンプレート):

生成するすべてのエージェントは、この包括的な 10 部構成に従う必要があります。

  1. パート 1:基本概念 - 基本原則、メンタルモデル、アーキテクチャの概要
  2. パート 2:必須パターン(5~10 個のパターン)- 各パターンに、使用する場面、完全な実装(20~50 行)、バリエーション、よくある間違いを含めます
  3. パート 3:高度なテクニック(3~5 個のテクニック)- 完全な例を用いて詳しく解説します
  4. パート 4:設定 - 開発環境用の完全な設定、本番環境用の完全な設定、環境変数の表
  5. パート 5:統合パターン - よく使われる 2~3 種類のテクノロジーとの統合コード
  6. パート 6:テスト戦略 - モックを使ったユニットテスト、統合テスト、テスト設定
  7. パート 7:エラー処理 - カスタム例外階層、リトライ/サーキットブレーカーパターン、構造化ログ
  8. パート 8:パフォーマンス最適化 - プロファイリング手法、最適化の表、キャッシュ戦略
  9. パート 9:セキュリティ上の考慮事項 - よくある脆弱性、セキュリティ強化チェックリスト
  10. パート 10:クイックリファレンス - よく使う操作のチートシート(20~30 個のスニペット)、CLI コマンド、トラブルシューティングの表

さらに、品質チェックリスト、アンチパターン(5~10 個。悪いコードと良いコードを記載)、基本リソース(URL を 10~15 件)も含めます。

実装例については、agents/ にある firecrawl-expert.md と project-organizer.md を参照してください。

要件:

  • 必須フィールド(name、description)を含む YAML フロントマターを先頭に記載する
  • 簡潔で実行可能なシステムプロンプトにする(冗長にしない)
  • 公式または信頼できる情報源の URL を最低 10 件含める
  • 実用的ですぐに本番環境で使えるコード例を含める(コードブロック 10 個以上)
  • 完全な設定ファイルを含める(開発環境用と本番環境用)
  • 実際のテストコードを用いたテストパターンを含める
  • パターン、ベストプラクティス、アーキテクチャに焦点を当てる
  • さらに詳しく調べるための基本的な参考資料を含める
  • そのまま使用できるように Markdown 形式にする
  • 明確さのために必要であれば、description フィールドを例とともに長くしてもかまいません

出力オプション

スコープの選択をユーザーに求めます:

  1. プロジェクトエージェント - .claude/agents/ に保存します(プロジェクト固有、バージョン管理対象)
  2. グローバルエージェント - ~/.claude/agents/ または C:\Users\[username]\.claude\agents\ に保存します(すべてのプロジェクトで使用)

形式の選択をユーザーに求めます:

  1. クリップボード用 - 完全な Markdown(YAML フロントマターを含む)をコードブロックで出力します
  2. ファイルを作成 - Write ツールを使い、スコープに応じた適切な agents ディレクトリに保存します
  3. 両方 - Write ツールでファイルを作成し、レビュー用に完全な内容をチャットにも表示します

ファイル作成の手順: プログラムからファイルを作成する場合:

  1. YAML フロントマターを含む完全なエージェントの内容を生成します
  2. スコープの選択に応じてパスを決定します:
    • プロジェクト:.claude/agents/[platform-name]-expert.md
    • グローバル:~/.claude/agents/[platform-name]-expert.md(または Windows の同等のパス)
  3. 適切なパスで Write ツールを使用します
  4. ファイルが正常に作成されたことを確認します
  5. エージェントはすぐに使用できます

例

例 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/]

実装手順

  1. すべての質問をまとめて尋ねる:複数の質問を含む AskUserQuestion 呼び出しを 1 回だけ使用します:

    • 質問 1(ヘッダー:「モード」):単一エージェント/一括生成/アーキテクチャ分析
    • 質問 2(ヘッダー:「スコープ」):プロジェクトエージェント(このプロジェクトのみ)/グローバルエージェント(すべてのプロジェクト)
    • 質問 3(ヘッダー:「出力」):ファイルを作成/チャットに表示/両方

    単一モードの場合は、同じ呼び出しで以下も尋ねます:

    • 質問 4(ヘッダー:「プラットフォーム」):ユーザーが「その他」欄に入力できる「カスタムプラットフォーム」オプションを提示します
    • 質問 5(ヘッダー:「重点分野」、multiSelect: true):全般的な網羅/その技術で一般的な重点分野を 2~3 個
  2. 単一モードの場合:

    • ユーザーが「カスタムプラットフォーム」を選択した場合は、チャットでプラットフォーム名を尋ねます
    • 回答に基づいて包括的なプロンプトを生成します
    • 出力の設定に応じて、ファイルを作成するか、内容を表示します
  3. 一括モードの場合:

    • チャットで複数行のプラットフォーム一覧を提示するようユーザーに求めます
    • 各プラットフォームについて:
      • エキスパートプロンプトを生成します
      • .claude/agents/[platform]-expert.md に保存します
    • ファイルパスを添えて完了を報告します
  4. アーキテクチャ分析の場合:

    • チャットでアーキテクチャの説明を求めます
    • 技術を解析して特定します
    • AskUserQuestion を使ってチェックボックス形式の選択肢を提示します(multiSelect: true)
    • 選択されたエージェントを生成します
    • 出力の設定に応じてファイルに保存します
  5. 各エージェントプロンプトの生成:

    • 公式ドキュメントを調査します(WebSearch または WebFetch)
    • 信頼できる URL を 10 件以上見つけます
    • 上記のテンプレートに沿って構成します
    • パターンとベストプラクティスに重点を置きます
    • 包括的なパターンを含む 500~1000 行を目標にします
    • Markdown 形式にします
  6. 出力:

    • スコープの選択に応じてファイルパスを決定します:
      • プロジェクトエージェント:.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 のサブエージェントのベストプラクティスに従っている(上記のドキュメントリンクを参照)

生成後

エージェントを作成した後、ユーザーに次のことを伝えてください。

  1. 生成されたプロンプトを確認する
  2. サンプルの質問でエージェントをテストする
  3. 実際の使用状況に基づいて調整する
  4. 問題がなければバージョン管理に追加する
  5. 高度な機能やベストプラクティスについては、上記の Claude Code ドキュメントリンクを参照する

追加リソース:

コメント