500 lines
16 KiB
Markdown
500 lines
16 KiB
Markdown
# 技能依賴圖
|
|
|
|
本文件描述 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
|
|
|
|
不可快取:
|
|
- 當前階段的輸出
|
|
- 狀態檔案
|
|
``` |