---
name: team-builder
description: 並列チームを構成して派遣するためのインタラクティブなエージェント選択ツール
origin: community
---

# チームビルダー

オンデマンドでエージェントチームを閲覧・構成するためのインタラクティブメニュー。フラット構成またはドメインサブディレクトリで整理されたエージェントコレクションに対応する。

## 使用場面

* 複数のエージェントロール（markdownファイル）があり、あるタスクにどのエージェントを使うか選択したい場合
* 異なるドメインから（例えば、セキュリティ + SEO + アーキテクチャ）臨時チームを結成したい場合
* 決定する前に利用可能なエージェントを閲覧したい場合

## 前提条件

エージェントファイルはロール、プロンプト（アイデンティティ、ルール、ワークフロー、成果物）を含むmarkdownファイルである必要がある。最初の `# Heading` がエージェント名として使用され、最初の段落が説明として使用される。

フラット構成とサブディレクトリの両方のレイアウトをサポートする：

**サブディレクトリレイアウト** —— ドメインはフォルダー名から推論される：

```
agents/
├── engineering/
│   ├── security-engineer.md
│   └── software-architect.md
├── marketing/
│   └── seo-specialist.md
└── sales/
    └── discovery-coach.md
```

**フラットレイアウト** —— ドメインは共有のファイル名プレフィックスから推論される。2つ以上のファイルが同じプレフィックスを共有する場合、そのプレフィックスはドメインとみなされる。ユニークなプレフィックスを持つファイルは「General」カテゴリーに分類される。注意：アルゴリズムは最初の `-` で分割するため、複数単語のドメイン（例：`product-management`）にはサブディレクトリレイアウトを使用する：

```
agents/
├── engineering-security-engineer.md
├── engineering-software-architect.md
├── marketing-seo-specialist.md
├── marketing-content-strategist.md
├── sales-discovery-coach.md
└── sales-outbound-strategist.md
```

## 設定

エージェントディレクトリは順番に探索され、結果がマージされる：

1. `./agents/**/*.md` + `./agents/*.md` —— プロジェクトローカルのエージェント（両方の深さ）
2. `~/.claude/agents/**/*.md` + `~/.claude/agents/*.md` —— グローバルエージェント（両方の深さ）

すべての場所の結果がマージされ、エージェント名で重複排除される。同名の場合、プロジェクトローカルのエージェントがグローバルエージェントより優先される。ユーザーがカスタムパスを指定した場合、そのパスを代わりに使用する。

## 動作原理

### ステップ 1：利用可能なエージェントを発見する

上記の探索順序を使用してエージェントディレクトリでグローバル検索を実行する。READMEファイルを除外する。見つかった各ファイルに対して：

* **サブディレクトリレイアウト：** 親フォルダー名からドメインを抽出する
* **フラットレイアウト：** すべてのファイル名プレフィックス（最初の `-` より前のテキスト）を収集する。プレフィックスが2つ以上のファイル名に現れる場合のみドメインとして適格（例：`engineering-security-engineer.md` と `engineering-software-architect.md` はどちらも `engineering` で始まる → Engineeringドメイン）。ユニークなプレフィックスを持つファイル（例：`code-reviewer.md`、`tdd-guide.md`）は「General」カテゴリーに分類される
* 最初の `# Heading` からエージェント名を抽出する。見出しが見つからない場合は、ファイル名から名前を導出する（`.md` を除去し、ハイフンをスペースに置換し、タイトルケースに変換）
* 見出しの後の最初の段落から一行のサマリーを抽出する

すべての場所を探索した後にエージェントファイルが見つからない場合、ユーザーに通知する：「エージェントファイルが見つかりませんでした。確認済み：\[探索済みパスのリスト]。期待されるもの：これらのディレクトリ内のmarkdownファイル。」そして停止する。

### ステップ 2：ドメインメニューを表示する

```
利用可能なエージェントドメイン：
1. エンジニアリング — ソフトウェアアーキテクト、セキュリティエンジニア
2. マーケティング — SEOスペシャリスト
3. セールス — ディスカバリーコーチ、アウトバウンドストラテジスト

ドメインを選択するか、特定のエージェントを指定してください（例：「1,3」または「security + seo」）：
```

* エージェント数がゼロのドメインはスキップする（空ディレクトリ）
* 各ドメインのエージェント数を表示する

### ステップ 3：選択を処理する

柔軟な入力を受け付ける：

* 数字：「1,3」でEngineeringとSalesのすべてのエージェントを選択
* 名前：「security + seo」で発見されたエージェントに対してファジーマッチング
* 「all from engineering」でそのドメインのすべてのエージェントを選択

5つ以上のエージェントが選択された場合、アルファベット順にリストアップして絞り込みを求める：「Nつのエージェントを選択しました（最大5つ）。どれを保持するか選択するか、アルファベット順の最初の5つを使用する場合は 'first 5' と言ってください。」

選択を確認する：

```
選択済み：セキュリティエンジニア + SEOスペシャリスト
どのようなタスクに取り組む予定ですか？（タスクを説明してください）
```

### ステップ 4：エージェントを並列で起動する

1. 選択された各エージェントのmarkdownファイルを読み取る
2. まだ提供されていない場合は、タスクの説明を求める
3. Agentツールを使用してすべてのエージェントを並列で起動する：
   * `subagent_type: "general-purpose"`
   * `prompt: "{agent file content}\n\nTask: {task description}"`
   * 各エージェントは独立して実行する——エージェント間の通信は不要
4. エージェントが失敗した場合（エラー、タイムアウト、または空の出力）、インラインで失敗を記録し（例：「Security Engineer: failed — \[理由]」）、成功したエージェントの結果の処理を続ける

### ステップ 5：結果を統合する

すべての出力を収集して統一されたレポートを提示する：

* エージェント別にグループ化された結果
* 統合セクションで強調：
  * エージェント間のコンセンサス
  * 提案間の衝突または矛盾
  * 推奨される次のステップ

1つのエージェントのみが選択された場合は、統合セクションをスキップして直接出力を提示する。

## ルール

* **動的発見のみ。** エージェントリストをハードコードしない。ディレクトリの新しいファイルはメニューに自動的に表示される。
* **チームあたり最大5つのエージェント。** 5つを超えると収益逓減とトークン使用量が多くなる。選択時に強制する。
* **並列分散。** すべてのエージェントが同時に実行される——Agentツールの並列呼び出しパターンを使用する。
* **並列Agent呼び出し（TeamCreateではない）。** このスキルは独立した作業の処理に並列Agentツール呼び出しを使用する。エージェントが議論したり互いに回答する必要がある場合のみ、TeamCreate（マルチエージェント会話のためのClaude Codeツール）が必要になる。

## 例

```
ユーザー: team builder

Claude:
利用可能なエージェントドメイン：
1. エンジニアリング (2) — ソフトウェアアーキテクト、セキュリティエンジニア
2. マーケティング (1) — SEOスペシャリスト
3. セールス (4) — ディスカバリーコーチ、アウトバウンドストラテジスト、プロポーザルストラテジスト、セールスエンジニア
4. サポート (1) — エグゼクティブサマリー

ドメインを選択するか、特定のエージェントを指定してください：

ユーザー: security + seo

Claude:
選択済み：セキュリティエンジニア + SEOスペシャリスト
どのようなタスクに取り組む予定ですか？

ユーザー: リリース前に私のNext.jsのeコマースサイトをレビューしてほしい

[2つのエージェントが並列で起動され、それぞれがコードベースに専門知識を適用する]

Claude:
## セキュリティエンジニアの発見事項
- [発見内容...]

## SEOスペシャリストの発見事項
- [発見内容...]

## 統合分析
両エージェントが同意：[...]
衝突点：セキュリティが推奨するCSPがインラインスタイルをブロックし、SEOはインラインのschemaマークアップを必要とする。解決策：[...]
次のステップ：[...]
```
