# Vibe-Kanban 工作流程 - 技能整合規劃 **版本**: 3.0 **日期**: 2025-01-15 **狀態**: 實施階段 --- ## 執行摘要 本規劃整合多個現有技能,建立完整的軟體開發工作流程。 **總計**: 11 個現有技能 + 5 個新建技能 **Agent**: 8 個核心 Agent + 1 個主控協調器 **階段**: 12 個工作流程階段 --- ## 現有技能整合清單 ### 核心技能(直接使用) | Skill | 來源 | 用途 | 整合階段 | |-------|------|------|---------| | `brainstorming` | skills | PM 需求探索 | Stage 1 | | `plan-ceo-review` | gstack | CEO 商業價值審核 | Stage 2 | | `write-a-prd` | skills | PRD 撰寫(含訪談) | Stage 3 | | `grill-me` | skills | **深度驗證閘門** | Stage 3.5 | | `prd-to-plan` | skills | 實作計畫產出 | Stage 8 | | `design-an-interface` | skills | API 介面設計 | Stage 4 | | `tdd` | skills | 測試驅動開發 | Stage 9 | | `qa` | skills | QA 測試驗收 | Stage 10 | | `review` | gstack | PR 代碼審核 | Stage 11 | | `land-and-deploy` | gstack | 部署流程 | Stage 12 | | `cso` | gstack | 安全審核 | Stage 7/11 | | `codex` | gstack | 多 AI 代碼審核 | Stage 11 | ### 新增技能(需實作) | Skill | 用途 | 優先級 | |-------|------|--------| | `vibe-kanban` | **主控協調器** | P0 | | `be-api-design` | OpenAPI 規格產出 | P1 | | `go-backend-dev` | **Golang 後端實作** | P1 | | `dba-schema` | 資料庫 Schema 設計 | P1 | | `ux-prototype` | UX 原型設計 | P2 | --- ## Agent 角色定義 | # | Agent | 角色 | 主要技能 | |---|-------|------|---------| | 1 | **Orchestrator** | 主控協調器 | `vibe-kanban` | | 2 | **PM Agent** | 產品經理 | `brainstorming`, `write-a-prd` | | 3 | **CEO Reviewer** | 商業決策者 | `plan-ceo-review` | | 4 | **Backend Agent** | Golang 後端工程師 | `be-api-design`, `go-backend-dev`, `design-an-interface`, `tdd` | | 5 | **DBA Agent** | 資料庫工程師 | `dba-schema` | | 6 | **UX Agent** | 使用者體驗設計師 | `ux-prototype` | | 7 | **QA Agent** | 品質保證工程師 | `qa` | | 8 | **DevOps Agent** | 運維工程師 | `land-and-deploy` | | 9 | **Design Reviewer** | 設計審核者 | `design-review` | | 10 | **Security Reviewer** | 安全審核者 | `cso` | | 11 | **Code Reviewer** | 代碼審核者 | `review`, `codex` | --- ## 完整工作流程(含 Grill-Me 整合) ``` ┌─────────────────────────────────────────────────────────────────────────────┐ │ VIBE-KANBAN + GRILL-ME 工作流程 │ └─────────────────────────────────────────────────────────────────────────────┘ Stage 1: Brainstorming (PM Agent) ├── Skill: brainstorming ├── 輸入: 使用者想法 ├── 輸出: docs/brainstorm/{date}-{feature}.md └── 下一步: CEO Review Stage 2: CEO Review (CEO Reviewer) ├── Skill: plan-ceo-review ├── 輸入: Brainstorm 文件 ├── 輸出: docs/ceo-review/{date}-{feature}.md └── 下一步: PRD 撰寫 Stage 3: PRD 撰寫 (PM Agent) ├── Skill: write-a-prd ├── 輸入: CEO Review 結果 ├── 輸出: docs/prd/{date}-{feature}.md (初版) └── 下一步: 深度驗證 (可選) Stage 3.5: 深度驗證 ⭐ GRILL-ME 整合點 ├── Skill: grill-me ├── 觸發條件: 使用者選擇 "進行深度驗證" ├── 輸入: PRD 初版 ├── 驗證項目: │ ├── 每個功能性需求的完整性 │ ├── 使用者故事的邊界情況 │ ├── 非功能性需求的遺漏 │ ├── 驗收標準的可測試性 │ └── 潛在風險和依賴 ├── 輸出: 強化後的 PRD └── 下一步: API Design Stage 4: API Design (Backend Agent) ├── Skill: be-api-design + design-an-interface ├── 輸入: PRD ├── 輸出: docs/api/{date}-{feature}.yaml └── 下一步: DB Schema (平行) Stage 5: DB Schema (DBA Agent) ├── Skill: dba-schema ├── 輸入: API 規格 ├── 輸出: docs/db/{date}-{feature}.sql └── 下一步: UX Prototype (平行) Stage 6: UX Prototype (UX Agent) ├── Skill: ux-prototype ├── 輸入: PRD + API + DB ├── 輸出: docs/design/{date}-{feature}/ └── 下一步: Design Review Stage 7: Design Review (Design Reviewer) ├── Skill: design-review ├── 輸入: 所有設計文件 ├── 輸出: docs/design/review-report.md ├── 決策點: │ ├── ✅ 通過 → Task Breakdown │ └── ❌ 退回 → PRD 修改 └── 下一步: Task Breakdown Stage 8: Task Breakdown (Orchestrator) ├── Skill: prd-to-plan ├── 輸入: 所有設計文件 ├── 輸出: ./plans/{feature}.md └── 下一步: 實作 (平行) Stage 9: Implementation (Backend + Frontend Agents) ├── Backend Skill: go-backend-dev + tdd ├── Frontend Skill: (現有技能或手動) ├── 輸入: 實作計畫 ├── 輸出: 程式碼 └── 下一步: QA Stage 10: QA (QA Agent) ├── Skill: qa ├── 輸入: 程式碼 + 驗收標準 ├── 輸出: .gstack/qa-reports/qa-report.md ├── 決策點: │ ├── ✅ 通過 → PR Review │ └── ❌ 失敗 → 退回 Task Breakdown └── 下一步: PR Review Stage 11: PR Review (Code Reviewer) ├── Skill: review + codex ├── 輸入: PR ├── 輸出: PR 審核報告 ├── 決策點: │ ├── ✅ 通過 → Deploy │ └── ❌ 失敗 → 退回 Task Breakdown └── 下一步: Deploy Stage 12: Deploy (DevOps Agent) ├── Skill: land-and-deploy ├── 輸入: 已核准 PR ├── 輸出: .gstack/deploy-reports/deploy-report.md └── 🎉 完成 ``` --- ## Grill-Me 深度驗證詳細設計 ### 觸發機制 在每個關鍵階段後,Orchestrator 會詢問: ``` ╔══════════════════════════════════════════════════════════════╗ ║ 🔥 深度驗證機會 ║ ╠══════════════════════════════════════════════════════════════╣ ║ ║ ║ 當前階段: PRD 撰寫 ║ ║ 狀態: ✅ 初版已完成 ║ ║ ║ ║ 是否需要進行深度驗證 (grill-me)? ║ ║ 這將透過密集訪談壓力測試計畫的完整性。 ║ ║ ║ ║ [A] 是 - 進行深度驗證 (推薦用於關鍵功能) ║ ║ [B] 否 - 直接進入下一階段 ║ ║ ║ ╚══════════════════════════════════════════════════════════════╝ ``` ### 驗證檢查清單 #### Stage 3.5 - PRD 深度驗證 ```yaml 驗證項目: 功能性需求: - "每個 FR 是否有明確的驗收標準?" - "使用者故事是否覆蓋所有使用者角色?" - "是否有遺漏的邊界情況?" 非功能性需求: - "效能需求是否具體可量測?" - "安全性需求是否完整?" - "可用性和可靠性是否考量?" 技術可行性: - "現有技術棧是否支援?" - "是否有外部依賴風險?" - "擴展性是否考量?" 業務邏輯: - "所有業務規則是否明確?" - "錯誤處理流程是否定義?" - "狀態轉換是否清晰?" ``` ### 整合流程圖 ```mermaid graph TD A[Stage 3: PRD 初版] --> B{深度驗證?} B -->|是| C[Stage 3.5: grill-me] B -->|否| D[Stage 4: API Design] C --> C1[問題 1: 需求完整性] C1 --> C2[問題 2: 邊界情況] C2 --> C3[問題 3: 風險評估] C3 --> C4[...更多問題] C4 --> E[強化 PRD] E --> D D --> F[後續階段] ``` --- ## 各階段交付文件 | 階段 | Agent | 主要技能 | 輔助技能 | 交付文件 | |------|-------|---------|---------|---------| | 1 | PM | brainstorming | - | `docs/brainstorm/{date}-{feature}.md` | | 2 | CEO Reviewer | plan-ceo-review | - | `docs/ceo-review/{date}-{feature}.md` | | 3 | PM | write-a-prd | - | `docs/prd/{date}-{feature}.md` (初版) | | 3.5 | PM | **grill-me** | - | `docs/prd/{date}-{feature}.md` (強化版) | | 4 | Backend | be-api-design | design-an-interface | `docs/api/{date}-{feature}.yaml` | | 5 | DBA | dba-schema | - | `docs/db/{date}-{feature}.sql` | | 6 | UX | ux-prototype | - | `docs/design/{date}-{feature}/` | | 7 | Design Reviewer | design-review | cso | `docs/design/review-report.md` | | 8 | Orchestrator | prd-to-plan | dispatching-parallel-agents | `./plans/{feature}.md` | | 9 | Backend | go-backend-dev | tdd | `internal/`, `cmd/`, `pkg/` | | 10 | QA | qa | - | `.gstack/qa-reports/qa-report.md` | | 11 | Code Reviewer | review | codex | PR 審核報告 | | 12 | DevOps | land-and-deploy | - | `.gstack/deploy-reports/deploy-report.md` | --- ## 技能依賴關係 ```yaml 技能依賴: brainstorming: 輸入: 使用者想法 輸出: brainstorm.md plan-ceo-review: 輸入: brainstorm.md 輸出: ceo-review.md write-a-prd: 輸入: ceo-review.md 輸出: prd.md (初版) grill-me: # 可選 輸入: prd.md (初版) 輸出: prd.md (強化版) 依賴: write-a-prd be-api-design: 輸入: prd.md 輸出: api-spec.yaml 輔助: design-an-interface dba-schema: 輸入: api-spec.yaml 輸出: schema.sql ux-prototype: 輸入: prd.md, api-spec.yaml, schema.sql 輸出: design/ design-review: 輸入: design/ 輸出: review-report.md prd-to-plan: 輸入: prd.md, api-spec.yaml, design/ 輸出: ./plans/{feature}.md go-backend-dev: 輸入: ./plans/{feature}.md 輸出: 程式碼 輔助: tdd qa: 輸入: 程式碼, prd.md (驗收標準) 輸出: qa-report.md review: 輸入: PR 輸出: pr-review.md 輔助: codex land-and-deploy: 輸入: pr-review.md (已核准) 輸出: deploy-report.md ``` --- ## Golang 後端特定規則(go-backend-dev) ### 架構風格 ```yaml 預設架構: Clean Architecture (適合中型專案) 專案結構: cmd/api/main.go # 進入點 internal/ domain/ # Entities, Value Objects usecase/ # Business Logic interface/ http/ # Handlers repository/ # Repository interfaces infrastructure/ # DB, Cache implementations pkg/ logger/ # Zap errors/ # 自定義錯誤 validator/ # go-playground/validator api/openapi.yaml migrations/ test/ ``` ### 編碼規範 ```yaml 命名: Package: 小寫單數 (user, not users) Interface: 方法名 + 'er' (Reader, Writer) Exported: PascalCase Internal: camelCase 錯誤處理: - Always check errors - Error strings lowercase - Use fmt.Errorf with %w API 設計: RESTful: /api/v1/{resource} 狀態碼: 200, 201, 400, 401, 404, 422, 500 測試: - Unit tests >= 80% 覆蓋率 - Integration tests for critical paths - Use testify + mockery ``` --- ## 實作優先順序 ### Phase 1: 核心框架 (Week 1) | 優先級 | Skill | 複雜度 | 說明 | |-------|-------|--------|------| | P0 | vibe-kanban | 高 | 主控協調器,整合所有技能 | | P0 | grill-me 整合 | 中 | 設計深度驗證流程 | ### Phase 2: 設計階段技能 (Week 2) | 優先級 | Skill | 複雜度 | 說明 | |-------|-------|--------|------| | P1 | be-api-design | 中 | OpenAPI 規格產出 | | P1 | go-backend-dev | 高 | **Golang 後端實作** | | P1 | dba-schema | 中 | 資料庫設計 | ### Phase 3: 整合測試 (Week 3) - 整合所有現有技能 - 端到端流程測試 - 退回機制測試 ### Phase 4: 優化 (Week 4) - 效能優化 - 文件完善 - 使用指南 --- ## 附錄 ### A. 技術棧建議 **Golang 後端**: - 框架: Gin 或 Echo - ORM: GORM 或 sqlx - 配置: Viper - 日誌: Zap - 驗證: go-playground/validator - 測試: testify + mockery - 文件: swag (Swagger) **資料庫**: - 主要: PostgreSQL - 快取: Redis - 遷移: golang-migrate/migrate **部署**: - 容器: Docker - CI/CD: GitHub Actions ### B. 參考資源 1. [Uber Go Style Guide](https://github.com/uber-go/guide) 2. [golang-standards/project-layout](https://github.com/golang-standards/project-layout) 3. [Go Clean Architecture](https://github.com/bxcodec/go-clean-arch) 4. [A Philosophy of Software Design](https://web.stanford.edu/~ouster/cgi-bin/book.php) (for grill-me 概念) --- **下一步**: 開始實作 `vibe-kanban` 主控技能?