Team Builder 團隊建構器 是做什麼的?
用於按需瀏覽與組建代理團隊的互動式選單。支援扁平或領域子目錄的代理集合。
使用時機
- 您擁有多個代理角色(Markdown 檔案),並希望挑選哪些代理來執行任務
- 您希望從不同領域(例如:安全 + SEO + 架構)組建一個臨時團隊
- 您希望在決定前先瀏覽有哪些代理可用
先決條件
代理檔案必須是包含角色提示(身分、規則、工作流程、交付物)的 Markdown 檔案。第一個 # 標題 用作代理名稱,第一個段落用作描述。
支援扁平佈局與子目錄佈局:
子目錄佈局 — 領域從資料夾名稱推斷:
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
設定
代理透過兩種方法發現,並按代理名稱合併與去重:
claude agents命令(主要)— 執行claude agents以取得 CLI 已知的所有代理,包括使用者代理、外掛代理(例如ecc:architect)以及內建代理。這會自動涵蓋 ECC 市集安裝的代理,無需任何路徑設定。- 檔案 Glob(備用,用於讀取代理內容)— 從以下位置讀取代理 Markdown 檔案:
./agents/**/*.md+./agents/*.md— 專案本地代理~/.claude/agents/**/*.md+~/.claude/agents/*.md— 全域使用者代理
當名稱衝突時,優先順序為:使用者代理 > 外掛代理 > 內建代理。如果使用者指定了自訂路徑,則可改用該路徑。
運作方式
步驟 1:發現可用代理
執行 claude agents 以取得完整的代理清單。解析每一行:
- 外掛代理 前綴為
plugin-name:(例如ecc:security-reviewer)。使用:之後的部分作為代理名稱,並以外掛名稱作為領域。 - 使用者代理 沒有前綴。從
~/.claude/agents/或./agents/讀取對應的 Markdown 檔案以擷取名稱與描述。 - 內建代理(例如
Explore、Plan)會被跳過,除非使用者明確要求包含它們。
對於從 Markdown 檔案載入的使用者代理:
- 子目錄佈局: 從父資料夾名稱擷取領域
- 扁平佈局: 收集所有檔名前綴(第一個
-之前的文字)。一個前綴僅在 2 個以上檔案中出現時才視為領域(例如engineering-security-engineer.md和engineering-software-architect.md都以engineering開頭 → Engineering 領域)。具有唯一前綴的檔案(例如code-reviewer.md、tdd-guide.md)歸入「General」 - 從第一個
# 標題擷取代理名稱。如果找不到標題,則從檔名衍生名稱(移除.md,以空格取代連字號,並轉為標題大小寫) - 從標題後的第一個段落擷取一行摘要
如果在執行 claude agents 並探測檔案位置後仍找不到任何代理,請通知使用者:「找不到任何代理。請執行 claude agents 以確認您的設定。」然後停止。
步驟 2:呈現領域選單
可用的代理領域:
1. Engineering — Software Architect, Security Engineer
2. Marketing — SEO Specialist
3. Sales — Discovery Coach, Outbound Strategist
請選擇領域或指定特定代理(例如「1,3」或「security + seo」):
- 跳過包含零個代理的領域(空目錄)
- 顯示每個領域的代理數量
步驟 3:處理選擇
接受靈活的輸入:
- 數字:「1,3」選取 Engineering 和 Sales 的所有代理
- 名稱:「security + seo」對發現的代理進行模糊比對
- 「all from engineering」選取該領域中的每個代理
如果選取了超過 5 個代理,則按字母順序列出它們,並要求使用者縮小範圍:「您選取了 N 個代理(最多 5 個)。請選擇保留哪些,或輸入 'first 5' 以使用字母順序的前五個。」
確認選擇:
已選取:Security Engineer + SEO Specialist
他們應該處理什麼任務?(請描述任務):
步驟 4:平行啟動代理
- 讀取每個選取代理的 Markdown 檔案
- 如果尚未提供任務描述,則提示使用者輸入
- 使用 Agent 工具平行啟動所有代理:
subagent_type: "general-purpose"prompt: "{agent file content}\n\nTask: {task description}"- 每個代理獨立運作 — 無需代理間通訊
- 如果某個代理失敗(錯誤、超時或輸出為空),則在行內註明失敗(例如「Security Engineer:失敗 — [原因]」),並繼續處理成功代理的結果
步驟 5:綜合結果
收集所有輸出並呈現統一的報告:
- 按代理分組的結果
- 綜合區段,重點標註:
- 各代理之間的共識
- 建議之間的衝突或矛盾
- 建議的後續步驟
如果只選取了 1 個代理,則跳過綜合部分,直接呈現輸出。
規則
- 僅限動態發現。 絕不硬編碼代理清單。目錄中的新檔案會自動出現在選單中。
- 每團隊最多 5 個代理。 超過 5 個會產生邊際效益遞減與過多的 Token 消耗。請在選擇時強制執行。
- 平行派遣。 所有代理同時執行 — 使用 Agent 工具的平行呼叫模式。
- 平行 Agent 呼叫,而非 TeamCreate。 此技能使用平行 Agent 工具呼叫進行獨立工作。TeamCreate(Claude Code 中用於多代理對話的工具)僅在代理需要辯論或互相回應時才需要。
範例
使用者:team builder
Claude:
可用的代理領域:
1. Engineering (2) — Software Architect, Security Engineer
2. Marketing (1) — SEO Specialist
3. Sales (4) — Discovery Coach, Outbound Strategist, Proposal Strategist, Sales Engineer
4. Support (1) — Executive Summary
請選擇領域或指定特定代理:
使用者:security + seo
Claude:
已選取:Security Engineer + SEO Specialist
他們應該處理什麼任務?
使用者:Review my Next.js e-commerce site before launch
[兩個代理平行啟動,各自將其專業應用於程式碼庫]
Claude:
## Security Engineer 發現
- [發現...]
## SEO Specialist 發現
- [發現...]
## 綜合
兩個代理一致同意:[...]
衝突點:Security 建議 CSP 封鎖內聯樣式,SEO 需要內聯結構化標記。解決方案:[...]
後續步驟:[...]