團隊建置器 是做什麼的?
用於按需瀏覽與組建代理團隊的互動式選單。支援平展或領域子目錄代理集合。
使用時機
- 您有多個代理角色(Markdown 檔案),並希望挑選哪些角色來執行某項任務
- 您想從不同領域(例如:安全 + SEO + 架構)組成臨時團隊
- 您希望在決定前瀏覽有哪些可用代理
先決條件
代理檔案必須是包含角色提示詞(身份、規則、工作流程、交付物)的 Markdown 檔案。第一個 # 標題 用作代理名稱,第一個段落用作描述。
支援平展與子目錄兩種佈局:
子目錄佈局 — 領域從資料夾名稱推斷而得:
agents/
├── engineering/
│ ├── security-engineer.md
│ └── software-architect.md
├── marketing/
│ └── seo-specialist.md
└── sales/
└── discovery-coach.md
平展佈局 — 領域從共用的檔案名稱前綴推斷。當 2 個(含)以上檔案共用相同前綴時,該前綴即被視為一個領域。具有唯一前綴的檔案歸入「一般」領域。注意:演算法在第一個 - 處拆分,因此多字組成的領域名稱(例如 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 marketplace 的安裝項目,無需任何路徑設定。- 檔案 Glob(備用方式,用於讀取代理內容)— 從以下位置讀取代理 Markdown 檔案:
./agents/**/*.md+./agents/*.md— 專案本地代理~/.claude/agents/**/*.md+~/.claude/agents/*.md— 全域使用者代理
名稱衝突時,較早的來源優先:使用者代理 > 外掛代理 > 內建代理。若使用者指定自訂路徑,則使用該路徑替代。
運作方式
步驟 1:發現可用代理
執行 claude agents 取得完整代理清單。解析每一行:
- 外掛代理 以
外掛名稱:為前綴(例如ecc:security-reviewer)。使用冒號後的部分作為代理名稱,外掛名稱作為領域。 - 使用者代理 沒有前綴。從
~/.claude/agents/或./agents/讀取對應的 Markdown 檔案,以擷取名稱與描述。 - 內建代理(例如
Explore、Plan)除非使用者明確要求包含,否則予以跳過。
對於從 Markdown 檔案載入的使用者代理:
- 子目錄佈局: 從父資料夾名稱擷取領域
- 平展佈局: 收集所有檔案名稱前綴(第一個
-之前的文字)。只有當 2 個(含)以上檔案名稱共用該前綴時,該前綴才被視為領域(例如engineering-security-engineer.md和engineering-software-architect.md都以此engineering開頭 → 工程領域)。具有唯一前綴的檔案(例如code-reviewer.md、tdd-guide.md)歸入「一般」 - 從第一個
# 標題擷取代理名稱。如果沒有標題,則從檔案名稱衍生名稱(移除.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: "{代理檔案內容}\n\n任務:{任務描述}"- 每個代理獨立執行 — 無需代理間通訊
- 如果某個代理失敗(錯誤、超時或空輸出),內聯記錄失敗原因(例如「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
他們應該處理什麼任務?
使用者:上線前審查我的 Next.js 電子商務網站
[兩個代理平行生成,各自將專業應用於程式碼庫]
Claude:
## Security Engineer 發現
- [發現...]
## SEO Specialist 發現
- [發現...]
## 綜合摘要
兩個代理在以下方面達成共識:[...]
矛盾點:Security 建議使用 CSP 封鎖內聯樣式,但 SEO 需要內聯 Schema 標記。解決方案:[...]
後續步驟:[...]