From feature-workflow
Generates backend, frontend, API, and test code from .spec/ design files (spec.md, db.md, arch.md required) using Agent Teams leader-delegate mode (up to 5 agents). Supports --backend-only, --dry-run; triggers on /plan-build or keywords.
How this skill is triggered — by the user, by Claude, or both
Slash command
/feature-workflow:plan-buildThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
從 `.spec/{slug}/` 讀取設計文件(spec.md、db.md、arch.md),以 **Agent Teams** leader-delegate 模式產生程式碼。Leader 只負責協調,不直接寫程式碼。
從 .spec/{slug}/ 讀取設計文件(spec.md、db.md、arch.md),以 Agent Teams leader-delegate 模式產生程式碼。Leader 只負責協調,不直接寫程式碼。
必須啟用 Agent Teams 實驗功能(擇一設定):
方式 A:加入 shell profile(~/.zshrc 或 ~/.bashrc)
export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1
方式 B:加入 settings.json 的 env 區塊
{
"env": {
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
}
}
必須至少完成 /plan-arch(arch.md 存在)。若 arch.md 不存在,禁止繼續,直接告知使用者先執行 /plan-arch 產生架構設計。
前置檢查:參照 bug-workflow plugin 的
references/prerequisites.md檢查 CLAUDE.md 是否存在。
/plan-build # 完整產生(後端 + 前端 + API + 測試)
/plan-build --dry-run # 預覽不建立檔案
/plan-build --backend-only # 只產後端
與 /plan 相同邏輯:從 Git branch 或 _index.md 匹配活躍任務。
讀取 .spec/{slug}/README.md 取得元資訊。
讀取以下 .spec/{slug}/ 下的檔案:
| 檔案 | 用途 | 必要性 |
|---|---|---|
spec.md | 技術規格(API 設計、業務邏輯) | 建議 |
db.md | DB 設計(表結構) | 建議 |
db.sql | SQL 檔案 | 選讀 |
arch.md | 架構設計(類別清單、介面定義) | 必要 |
若 arch.md 不存在,停止流程,告知使用者必須先執行 /plan-arch 產生架構設計後再回來執行 /plan-build。不提供跳過選項。
從 spec.md 的「判斷」區塊讀取:
FRONTEND_REQUIRED: true/falseFRONTEND_TECH: JSP/Vue/React/無另外檢查 DB MCP 可用性:
DB_MCP_AVAILABLE: 執行 claude mcp list 檢查是否有 dbhub根據判斷結果決定團隊規模:
| 情境 | 團隊組成 |
|---|---|
--backend-only 或無前端 | 後端工程師(Subagent 模式) |
| 有前端需求,無 DB MCP | 4 人 Agent Teams(後端 + API + 前端 + 測試) |
| 有前端需求,有 DB MCP | 5 人 Agent Teams(DB + 後端 + API + 前端 + 測試) |
| 無前端需求,有 DB MCP | 4 人 Agent Teams(DB + 後端 + API + 測試) |
即將啟動 Agent Teams 產生程式碼:
📄 設計來源:.spec/{slug}/
📊 Teammate 配置:
{• db-engineer — DB 遷移/索引/效能優化(需 DB MCP)}
• backend-engineer — 後端核心(POJO/Mapper/Service)
• api-engineer — API 層(Controller/DTO/驗證)
{• frontend-engineer — 前端頁面({FRONTEND_TECH})}
• test-engineer — 測試程式碼(單元測試/整合測試)
{--dry-run: 預覽模式,不建立檔案}
確認開始?[Y/n]
收集一次,嵌入到 Team 建立指令中:
references/config-resolver.md 第 3 層載入:內建 → stacks/_builtin.md,自訂 → stacks/{id}.md)claude mcp list 是否有 dbhub,若有則在後端工程師和測試工程師的提示詞中啟用 DB 查詢能力若 FRONTEND_REQUIRED = false 或 --backend-only,使用 Agent tool 啟動 subagent:
你是後端程式碼產生器。
## 設計文件
{arch.md 內容}
## DB 設計
{db.md 內容}
## 專案上下文
{CLAUDE.md 內容}
## 技術棧
{技術棧 ID 和定義}
## 現有程式碼範本
請讀取以下檔案作為風格參考:
{範本檔案路徑清單}
## DB MCP(若可用)
{db_mcp_instruction}
## 任務
按架構設計的類別清單,依序產生所有後端程式碼骨架:
1. POJO/Entity(含 Lombok、表註解)
2. Mapper/DAO(tk.mybatis 或 JPA Repository)
3. Mapper XML(若使用 MyBatis)
4. Service Interface
5. Service Impl(方法含 TODO 標記待實作邏輯)
6. Controller(含 @RequestMapping、參數驗證)
風格必須與專案完全一致(package、import 順序、註解、縮排)。
{dry_run_instruction}
使用繁體中文撰寫註解。
使用自然語言要求 Claude 建立 Agent Team(根據步驟 3 判斷結果決定成員數):
建立一個 Agent Team 來開發 {功能名稱} 功能,生成 {N} 個 Teammate:
{若 DB_MCP_AVAILABLE = true,包含以下成員:}
【成員 0:DB 工程師】DB Engineer
- 📊 專職資料庫工程師,透過 DB MCP(DBHub)直接操作資料庫
- 讀取設計文件:
* .spec/{slug}/db.md(DB 設計 — 新增/修改的表結構)
* .spec/{slug}/db.sql(SQL 檔案,若存在)
- 使用 execute_sql 和 search_objects 工具查詢真實資料庫
- 任務:
* 查詢現有表結構,確認 db.md 設計與 DB 現狀的差異
* 產生 Migration SQL(CREATE TABLE / ALTER TABLE),放入 db.sql 或專案指定的 migration 目錄
* 檢查既有索引,為新查詢場景建議索引(WHERE / JOIN / ORDER BY 欄位)
* 查詢 sys.dm_exec_query_stats(MSSQL)或 pg_stat_statements(PostgreSQL),找出與本功能相關的慢查詢
* 若發現效能風險,產出索引建議或查詢改寫方案,寫入 .spec/{slug}/db-optimization.md
* 確認欄位命名慣例(大小寫、前綴、型別)與既有表一致
* 檢查 FK / UNIQUE / NOT NULL 約束是否合理
- **最先開始**,完成後通知 Lead 並向後端工程師分享:
* 確認後的表結構(欄位名、型別、約束)
* 索引建議清單
* 效能風險提醒(若有)
- 使用 Opus 模型
- 使用繁體中文
【成員 1:後端工程師】Backend Engineer
- 讀取專案 CLAUDE.md 了解架構慣例
- 讀取設計文件:
* .spec/{slug}/arch.md(架構設計 — 類別清單、介面定義)
* .spec/{slug}/db.md(DB 設計 — 表結構)
- 掃描專案現有程式碼學習風格(POJO、Mapper、Service 各一個範本)
{若有 DB 工程師:等待 DB 工程師完成,取得確認後的表結構和索引建議}
- 任務:
* 產生 POJO/Entity(含 Lombok、表註解)
* 產生 Mapper/DAO(tk.mybatis 或 JPA Repository)
* 產生 Mapper XML(若使用 MyBatis)
* 產生 Service Interface + Service Impl
* Service 方法含 TODO 標記待實作邏輯
- 風格必須與專案完全一致(package、import 順序、註解、縮排)
- 完成後通知 Lead,並向其他成員分享產出的類別清單和介面定義
- 使用 Opus 模型
- 使用繁體中文
【成員 2:API 工程師】API Engineer
- 讀取設計文件:
* .spec/{slug}/spec.md(技術規格 — API 設計、參數驗證規則)
* .spec/{slug}/arch.md(架構設計)
- 等待後端工程師完成 Service 層後開始
- 任務:
* 產生 Controller(含 @RequestMapping、路由設定)
* 產生 DTO(Request/Response 物件)
* 實作 API 參數驗證邏輯
* 實作例外處理(BizException、ApiResult)
* 確保 API 回應格式與專案現有風格一致
- 完成後通知 Lead,並向前端工程師分享 API 端點清單(URL + Method + 請求/回應格式)
- 使用 Opus 模型
- 使用繁體中文
【成員 3:前端工程師】Frontend Engineer
- 前端技術棧:{FRONTEND_TECH}
- 讀取設計文件:
* .spec/{slug}/spec.md(技術規格 — 畫面需求、操作流程)
- 掃描專案前端目錄,讀取 2-3 個現有頁面作為風格範本
- 可與後端工程師同時開始(前端不依賴後端實作)
- 任務:
* 產生前端頁面(HTML/JSP/Vue)
* 產生 API 呼叫邏輯(待 API 工程師確認端點後對齊)
* 產生表單驗證、表格展示、分頁元件
- 風格必須與專案完全一致
- 完成後通知 Lead
- 使用繁體中文
【成員 4:測試工程師】Test Engineer
- 讀取專案的測試慣例(掃描 src/test/ 下現有測試檔案)
- 等待後端工程師完成後開始
{若有 DB 工程師:參考 DB 工程師提供的約束條件和索引資訊,設計更完整的測試案例}
- 任務:
* 為 Service 層產生單元測試(JUnit + Mockito)
* 為 Controller 層產生整合測試(MockMvc / SpringBootTest)
* 測試案例涵蓋:正常流程、邊界條件、異常處理
* 測試命名遵循專案慣例
- 完成後通知 Lead
- 使用繁體中文
【任務依賴關係】
{若有 DB 工程師:}
- 成員 0(DB 工程師)最先開始,驗證表結構和索引
- 成員 1(後端工程師)等成員 0 完成後開始,依據確認後的表結構產生程式碼
{若無 DB 工程師:}
- 成員 1(後端工程師)最先開始,是核心
{共同:}
- 成員 2(API 工程師)和測試工程師等成員 1 完成後再開始
- 成員 3(前端工程師)可以跟成員 1 同時開始(前端不依賴後端實作)
- API、前端、測試之間可並行
重要:各 Teammate 負責不同目錄,不會衝突。
完成後:互相確認 API 契約是否一致(端點 URL、參數、回應格式),
不一致的地方由 API 工程師為準,其他成員調整。
{dry_run_instruction}
請使用 delegate mode,Lead 只負責協調,不要自己寫 code。
每個 Teammate 完成後要通知 Lead。
所有輸出使用繁體中文。
{dry_run_instruction}:若--dry-run,加入「只展示檔案清單和關鍵程式碼片段,不實際建立檔案」。
程式碼產生完成後:
.spec/{slug}/files.md:# 程式碼清單
## 新增檔案
| 檔案路徑 | 層級 | 說明 |
|---------|------|------|
| {path} | {Controller/Service/DAO/...} | {說明} |
## 修改檔案
| 檔案路徑 | 修改說明 |
|---------|---------|
README.md 的 status: 開發中log.md 追加紀錄程式碼產生完成!
📁 產出清單:.spec/{slug}/files.md
📊 統計:N 個後端 + M 個前端 + K 個測試
已完成:
{✅ db-engineer — Migration SQL + 索引建議 + 效能報告}
✅ backend-engineer — N 個檔案(POJO/Mapper/Service)
✅ api-engineer — N 個檔案(Controller/DTO)
{✅ frontend-engineer — M 個檔案(JSP/JS/CSS)}
✅ test-engineer — K 個檔案(測試)
{✅ API 契約確認 — 一致}
後續可使用:
• /plan-verify — 驗收驗證
• /plan-review — Agent Teams 3 人審查
• /plan-close — 結案並同步 Notion
步驟 5 檢查 DB MCP 可用性後,根據結果決定是否加入 DB 工程師:
{db_mcp_instruction}:專案已安裝 DB MCP(DBHub),你可以直接查詢資料庫:
- 使用 execute_sql 查詢現有表結構,確認 db.md 設計與實際 DB 是否一致
- 使用 search_objects 搜尋相關的表、欄位、索引、預存程序
- 查詢既有資料表的欄位命名慣例(大小寫、前綴、型別偏好),確保新表設計風格一致
- 檢查是否有可複用的既有表或欄位,避免重複建立
- 查詢慢查詢統計,為新 SQL 設計提供效能參考
- 產出索引建議或查詢改寫方案
{db_mcp_instruction} 替換為空字串CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 不存在時,建立 Team 的指令會靜默失敗(不報錯但不產出),很難 debug。步驟 1 就要先檢查。plan-build 中途失敗,可能留下殘留的 Team。在建新 Team 前先用 TeamDelete 清理,否則會報錯「已有活躍 Team」。參考 examples/leader-delegation.md 了解 Leader 如何有效分配任務和協調 Teammate。
/plan-archnpx claudepluginhub mark22013333/crew --plugin feature-workflowExecutes implementation plans from spec files, detecting execution mode (sequential, delegated, or team) and running the appropriate strategy. Pass spec file path as argument.
Creates detailed engineering implementation plans with team orchestration for multi-step projects requiring task dependencies and parallel execution. Uses specialized agents for Django, Python, FastAPI, React, and Playwright.
Sets up multi-agent teams for complex projects with file-based planning, per-agent directories, and teammate spawning. Triggers on team/swarm/start-project requests.