opencode-workflow/design-idea/SKILL_DEPENDENCIES.md

16 KiB

技能依賴圖

本文件描述 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

技能: brainstorming
類型: 現有
輸入:
  - 使用者輸入的想法
  - 專案上下文 (CLAUDE.md, README.md 等)
輸出:
  - docs/brainstorm/{date}-{feature}.md
依賴: 
觸發: vibe-kanban (主控)

Stage 2: CEO Review

技能: plan-ceo-review
類型: 現有
輸入:
  - docs/brainstorm/{date}-{feature}.md
輸出:
  - docs/ceo-review/{date}-{feature}.md
  - 審核報告
依賴:
  - brainstorming (必須完成)
觸發: vibe-kanban (主控)
退回: 可退回 brainstorming

Stage 3: PRD

技能: 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

技能: be-api-design
類型: 新建
輸入:
  - docs/prd/{date}-{feature}.md
輸出:
  - docs/api/{date}-{feature}.yaml
依賴:
  - pm-prd (必須完成)
觸發: vibe-kanban (主控)
退回: 可退回 pm-prd

Stage 5: DB Schema

技能: 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

技能: 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

技能: design-review
類型: 現有
輸入:
  - docs/design/{date}-{feature}/
輸出:
  - docs/design/{date}-{feature}/review-report.md
依賴:
  - ux-prototype (必須完成)
觸發: vibe-kanban (主控)
退回: 可退回 pm-prd (設計與需求不符)

Stage 8: Task Breakdown

技能: 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

技能: 無 (手動或使用 writing-plans)
類型: 手動
輸入:
  - .gstack/kanban/{project}/tasks.md
輸出:
  - 程式碼
  - 單元測試
依賴:
  - dispatching-parallel-agents-doc (必須完成)
觸發: 開發者手動
退回: 

Stage 10: QA

技能: qa
類型: 現有
輸入:
  - 程式碼
  - docs/prd/{date}-{feature}.md (驗收標準)
輸出:
  - .gstack/qa-reports/qa-report-{date}.md
依賴:
  -實作 (必須完成)
觸發: vibe-kanban (主控)
退回: 可退回 dispatching-parallel-agents-doc (步驟四)

Stage 11: PR Review

技能: review
類型: 現有
輸入:
  - PR (程式碼變更)
輸出:
  -PR 審核報告
依賴:
  - qa (必須通過)
觸發: vibe-kanban (主控)
退回: 可退回 dispatching-parallel-agents-doc (步驟四)

Stage 12: Deploy

技能: land-and-deploy
類型: 現有
輸入:
  - 已核准的 PR
輸出:
  - .gstack/deploy-reports/deploy-report-{date}.md
依賴:
  - review (必須通過)
觸發: vibe-kanban (主控)
退回: 無 (部署失敗可重新部署)

退回路徑總覽

退回路徑:
  - 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 -

效能考量

平行執行機會

可平行執行:
  - API_DESIGN + DB_SCHEMA (可同時進行)
  - 前端實作 + 後端實作 (可同時進行)

不可平行執行:
  - BRAINSTORM → CEO_REVIEW (必須順序)
  - PRD → API_DESIGN (必須順序)
  - QA → PR_REVIEW → DEPLOY (必須順序)

快取策略

可快取:
  - 專案上下文 (CLAUDE.md, README.md)
  - 現有 API 規格
  - 現有資料庫 Schema

不可快取:
  - 當前階段的輸出
  - 狀態檔案