# 技能依賴圖 本文件描述 Vibe-Kanban 工作流程中各技能之間的依賴關係。 --- ## 依賴圖總覽 ``` ┌─────────────────────────────────────────────────────────────────────────┐ │ 技能依賴關係圖 │ └─────────────────────────────────────────────────────────────────────────┘ ┌──────────────┐ │ 使用者 │ │ 輸入想法 │ └──────┬───────┘ │ ▼ ┌────────────────────────────────┐ │ │ │ vibe-kanban (主控) │ │ │ └────────────────┬───────────────┘ │ ┌───────────────────────────┼───────────────────────────┐ │ │ │ ▼ ▼ ▼ ┌─────────────────┐ ┌─────────────────────────┐ ┌─────────────────┐ │ brainstorming │ │ plan-ceo-review │ │ pm-prd │ │ │ │ (現有技能) │ │ (新建技能) │ │ (現有技能) │ │ │ │ │ └────────┬────────┘ └────────────┬────────────┘ └────────┬────────┘ │ │ │ └─────────────┬─────────────┘ │ │ │ ▼ │ ┌─────────────────┐ │ │ ceo-review │◀──────────────────────────────┘ │ output │ └────────┬────────┘│ │ ▼ ┌────────────────────────────┐ │ │ │be-api-design (新建技能) │ │ │ └─────────────┬──────────────┘│ │ ▼ ┌────────────────────────────┐ │ │ │ dba-schema (新建技能) │ │ │ └─────────────┬──────────────┘ │ ▼ ┌────────────────────────────┐ │ │ │ ux-prototype (新建技能) │ │ │ └─────────────┬──────────────┘ │ ▼ ┌────────────────────────────┐ │ │ │ design-review (現有技能) │ │ │ └─────────────┬──────────────┘ │ │ 失敗退回 PRD │ ▼ ┌─────────────────────────────────────────┐ │ │ │ dispatching-parallel-agents (現有技能) │ │ │ └────────────────┬────────────────────────┘│ │ ▼ ┌──────────────┐ │ │ │ 前端實作 │ │ │ └──────┬───────┘ │ ┌──────────────┐ │ │ │ └───────▶│ 後端實作 │ │ │ └──────┬───────┘ │ ▼ ┌────────────────────────────────┐ │ │ │ qa (現有技能) │ │ │ └─────────────┬──────────────────┘ │ │ 失敗退回 Task Breakdown │ ▼ ┌────────────────────────────────┐ │ │ │ review (現有技能) │ │ │ └─────────────┬──────────────────┘ │ │ 失敗退回 Task Breakdown │ ▼ ┌────────────────────────────────┐ │ │ │ land-and-deploy (現有技能) │ │ │ └────────────────┬───────────────┘ │ ▼ ┌──────────┐ │ │ │ 完成 │ │ │ └──────────┘ ``` --- ## 技能分類 ### 現有技能 (可直接使用) | 技能名稱 | 位置 | 用途 | |---------|------|------| | `brainstorming` | skills/ | PM 需求探索 | | `plan-ceo-review` | gstack/| CEO 商業價值審核 | | `design-review` | gstack/| 設計審核 | | `dispatching-parallel-agents` | skills/ | 任務平行拆分 | | `qa` | gstack/ | QA 測試驗收 | | `review` | gstack/ | PR 代碼審核 | | `land-and-deploy` | gstack/ | 部署流程 | ### 新建技能 (需要實作) | 技能名稱 | 位置 | 用途 | |---------|------|------| | `vibe-kanban`| skills/ | 主控協調器 | | `pm-prd` | skills/ | PRD 撰寫 | | `be-api-design` | skills/ | API 設計 | | `dba-schema` | skills/ | 資料庫規劃 | | `ux-prototype` | skills/ | UX 原型 | --- ## 詳細依賴關係 ### Stage 1: Brainstorming ```yaml 技能: brainstorming 類型: 現有 輸入: - 使用者輸入的想法 - 專案上下文 (CLAUDE.md, README.md 等) 輸出: - docs/brainstorm/{date}-{feature}.md 依賴: 無 觸發: vibe-kanban (主控) ``` ### Stage 2: CEO Review ```yaml 技能: plan-ceo-review 類型: 現有 輸入: - docs/brainstorm/{date}-{feature}.md 輸出: - docs/ceo-review/{date}-{feature}.md - 審核報告 依賴: - brainstorming (必須完成) 觸發: vibe-kanban (主控) 退回: 可退回 brainstorming ``` ### Stage 3: PRD ```yaml 技能: pm-prd 類型: 新建 輸入: - docs/brainstorm/{date}-{feature}.md - docs/ceo-review/{date}-{feature}.md 輸出: - docs/prd/{date}-{feature}.md 依賴: - brainstorming (必須完成) - plan-ceo-review (必須通過) 觸發: vibe-kanban (主控) 退回: 可退回 ceo-review ``` ### Stage 4: API Design ```yaml 技能: be-api-design 類型: 新建 輸入: - docs/prd/{date}-{feature}.md 輸出: - docs/api/{date}-{feature}.yaml 依賴: - pm-prd (必須完成) 觸發: vibe-kanban (主控) 退回: 可退回 pm-prd ``` ### Stage 5: DB Schema ```yaml 技能: dba-schema 類型: 新建 輸入: - docs/api/{date}-{feature}.yaml - docs/prd/{date}-{feature}.md 輸出: - docs/db/{date}-{feature}.sql - docs/db/migrations/{version}-{description}.sql 依賴: - be-api-design (必須完成) 觸發: vibe-kanban (主控) 退回: 可退回 be-api-design ``` ### Stage 6: UX Prototype ```yaml 技能: ux-prototype 類型: 新建 輸入: - docs/prd/{date}-{feature}.md - docs/api/{date}-{feature}.yaml - docs/db/{date}-{feature}.sql 輸出: - docs/design/{date}-{feature}/user-flow.md - docs/design/{date}-{feature}/wireframes/ - docs/design/{date}-{feature}/prototype-link.md 依賴: - dba-schema (必須完成) 觸發: vibe-kanban (主控) 退回: 可退回 dba-schema ``` ### Stage 7: Design Review ```yaml 技能: design-review 類型: 現有 輸入: - docs/design/{date}-{feature}/ 輸出: - docs/design/{date}-{feature}/review-report.md 依賴: - ux-prototype (必須完成) 觸發: vibe-kanban (主控) 退回: 可退回 pm-prd (設計與需求不符) ``` ### Stage 8: Task Breakdown ```yaml 技能: dispatching-parallel-agents-doc 類型: 現有 輸入: - docs/prd/{date}-{feature}.md - docs/api/{date}-{feature}.yaml - docs/design/{date}-{feature}/ 輸出: - .gstack/kanban/{project}/tasks.md - 任務分配 依賴: - design-review (必須通過) 觸發: vibe-kanban (主控) 退回: 無 ``` ### Stage 9: Implementation ```yaml 技能: 無 (手動或使用 writing-plans) 類型: 手動 輸入: - .gstack/kanban/{project}/tasks.md 輸出: - 程式碼 - 單元測試 依賴: - dispatching-parallel-agents-doc (必須完成) 觸發: 開發者手動 退回: 無 ``` ### Stage 10: QA ```yaml 技能: qa 類型: 現有 輸入: - 程式碼 - docs/prd/{date}-{feature}.md (驗收標準) 輸出: - .gstack/qa-reports/qa-report-{date}.md 依賴: -實作 (必須完成) 觸發: vibe-kanban (主控) 退回: 可退回 dispatching-parallel-agents-doc (步驟四) ``` ### Stage 11: PR Review ```yaml 技能: review 類型: 現有 輸入: - PR (程式碼變更) 輸出: -PR 審核報告 依賴: - qa (必須通過) 觸發: vibe-kanban (主控) 退回: 可退回 dispatching-parallel-agents-doc (步驟四) ``` ### Stage 12: Deploy ```yaml 技能: land-and-deploy 類型: 現有 輸入: - 已核准的 PR 輸出: - .gstack/deploy-reports/deploy-report-{date}.md 依賴: - review (必須通過) 觸發: vibe-kanban (主控) 退回: 無 (部署失敗可重新部署) ``` --- ## 退回路徑總覽 ```yaml 退回路徑: - from: CEO_REVIEW to: BRAINSTORM reason: "商業價值不足或需求不清" - from: PRD to: CEO_REVIEW reason: "PRD 與 CEO 審核不符" - from: API_DESIGN to: PRD reason: "API 設計與需求不符" - from: DB_SCHEMA to: API_DESIGN reason: "資料結構與 API 衝突" - from: UX_PROTOTYPE to: DB_SCHEMA reason: "原型與資料結構不符" - from: DESIGN_REVIEW to: PRD reason: "設計與需求不符" - from: QA to: TASK_BREAKDOWN reason: "測試不通過" - from: PR_REVIEW to: TASK_BREAKDOWN reason: "代碼審核不通過" - from: DEPLOY to: IMPLEMENTATION reason: "部署失敗" ``` --- ## 檔案流向圖 ``` 使用者輸入 │ ▼ docs/brainstorm/{date}-{feature}.md │ ▼ docs/ceo-review/{date}-{feature}.md │ ▼ docs/prd/{date}-{feature}.md │ ├──▶ docs/api/{date}-{feature}.yaml │ │ │ └──▶ docs/db/{date}-{feature}.sql │ │ │ └──▶ docs/design/{date}-{feature}/ │ │ │ └──▶ docs/design/{date}-{feature}/review-report.md │ └──▶ .gstack/kanban/{project}/tasks.md │ └──▶ 程式碼 │ ├──▶ .gstack/qa-reports/qa-report-{date}.md │ ├──▶ PR (代碼變更) │ └──▶ .gstack/deploy-reports/deploy-report-{date}.md ``` --- ## 版本控制建議 ### 應納入版本控制的檔案 ``` .gstack/kanban/{project}/state.yaml # 工作流狀態 docs/brainstorm/ # 需求探索文件 docs/prd/ # PRD 文件 docs/api/ # API 規格 docs/db/ # 資料庫設計 docs/design/ # 設計文件 .gstack/qa-reports/ # QA 報告 .gstack/deploy-reports/ # 部署報告 ``` ### 不應納入版本控制的檔案 ``` .gstack/tmp/ # 暫存檔案 node_modules/ # 依賴 *.log # 日誌檔案 ``` --- ## 授權和稽核 ### 每個階段的授權需求 | 階段 | 需要授權 | 授權者 | |------|---------|--------| | BRAINSTORM | 否 | - | | CEO_REVIEW | 是 | CEO/決策者 | | PRD | 是 | PM | | API_DESIGN | 是 | 後端負責人 | | DB_SCHEMA | 是 | DBA | | UX_PROTOTYPE | 是 | UX 設計師 | | DESIGN_REVIEW | 是 | 設計審核者 | | TASK_BREAKDOWN | 否 | - | | IMPLEMENTATION | 否 | - | | QA | 否 | - | | PR_REVIEW | 是 | 代碼審核者 | | DEPLOY | 否 | - | --- ## 效能考量 ### 平行執行機會 ```yaml 可平行執行: - API_DESIGN + DB_SCHEMA (可同時進行) - 前端實作 + 後端實作 (可同時進行) 不可平行執行: - BRAINSTORM → CEO_REVIEW (必須順序) - PRD → API_DESIGN (必須順序) - QA → PR_REVIEW → DEPLOY (必須順序) ``` ### 快取策略 ```yaml 可快取: - 專案上下文 (CLAUDE.md, README.md) - 現有 API 規格 - 現有資料庫 Schema 不可快取: - 當前階段的輸出 - 狀態檔案 ```