--- name: decision-helper description: "決策樹助手工具。快速評估任務複雜度,提供派發建議。用於: (1) 任務複雜度快速評估, (2) 派發代理人建議, (3) 拆分策略建議, (4) 並行可行性評估" --- # 決策樹助手工具 ## 核心功能 快速評估任務,提供派發和拆分建議。引用 `/cognitive-load` 的量化標準。 --- ## 快速評估流程 ### Step 1:任務識別 ```markdown ## 任務類型識別 | 類型 | 識別關鍵字 | 下一步 | |------|-----------|--------| | 錯誤/失敗 | "failed", "error", "bug" | 強制派發 incident-responder | | 新功能 | "實作", "建立", "新增" | SA 前置審查 | | 修改 | "修改", "更新", "調整" | 複雜度評估 | | 查詢 | "查詢", "進度", "狀態" | 直接回應 | ``` ### Step 2:複雜度快速評估 回答以下問題(每題 0-2 分): | 問題 | 0 分 | 1 分 | 2 分 | |------|------|------|------| | 需要修改幾個檔案? | 1-2 | 3-4 | 5+ | | 跨越幾個架構層? | 1 | 2 | 3+ | | 依賴幾個模組? | 0-1 | 2-3 | 4+ | | 需要追蹤幾個狀態? | 1-3 | 4-5 | 6+ | **總分解讀**: | 總分 | 複雜度 | 建議 | |------|--------|------| | 0-2 | 低 | 直接派發單一代理人 | | 3-5 | 中 | 謹慎評估,考慮拆分 | | 6-8 | 高 | 必須拆分後再派發 | ### Step 3:派發建議 根據任務類型和複雜度,提供派發建議。 --- ## 派發決策樹(二元結構) > 對應主線程決策樹 v3.0.0 的二元化結構 ``` 任務進入 | v 包含錯誤關鍵字? ─是→ [強制] incident-responder | └─否→ 包含不確定性詞彙? ─是→ [確認機制] 向用戶確認 | └─否→ 複雜需求(觸發 3+ 代理人)? ─是→ [確認機制] | └─否→ 是問題? ─是→ 是查詢類? ─是→ 執行查詢命令 | | | └─否→ 派發諮詢代理人 | └─否→ 是開發命令? ─是→ [驗證 Ticket] | └→ TDD 階段派發 | └─否→ 是除錯命令? ─是→ incident-responder | └─否→ 其他處理 ``` ### 二元判斷順序(第零層) | 順序 | 判斷問題 | 是 | 否 | |------|---------|----|----| | 1 | 包含錯誤關鍵字? | → 事件回應流程 | → 下一判斷 | | 2 | 包含不確定性詞彙? | → 確認機制 | → 下一判斷 | | 3 | 複雜需求(3+ 代理人)? | → 確認機制 | → 進入第一層 | --- ## 代理人選擇指南 ### 系統級代理人 | 代理人 | 觸發條件 | 優先級 | |--------|---------|--------| | incident-responder | 錯誤/失敗 | 最高 | | clove-security-reviewer | 安全相關 | 高 | | saffron-system-analyst | 新功能/架構變更 | 高 | | star-anise-system-designer | UI 規範需求 | 中 | | sumac-system-engineer | 環境/編譯問題 | 中 | | sassafras-data-administrator | 資料設計需求 | 中 | ### TDD 階段代理人 | 階段 | 代理人 | 前置條件 | |------|--------|---------| | Phase 1 | lavender-interface-designer | SA 審查通過 | | Phase 2 | sage-test-architect | Phase 1 完成 | | Phase 3a | pepper-test-implementer | Phase 2 完成 | | Phase 3b | parsley-flutter-developer | Phase 3a 完成 | | Phase 4 | cinnamon-refactor-owl | Phase 3b 測試全過 | --- ## 拆分策略指南 ### 按架構層拆分 ``` 任務跨越多層 | +-- UI 層修改 --> Ticket A (parsley) +-- Controller 層修改 --> Ticket B (parsley) +-- Domain 層修改 --> Ticket C (parsley) 執行順序:C --> B --> A(由底層向上) ``` ### 按功能模組拆分 ``` 任務涉及多模組 | +-- 模組 A 修改 --> Ticket A (可並行) +-- 模組 B 修改 --> Ticket B (可並行) +-- 共用模組修改 --> Ticket C (先執行) 執行順序:C 先完成,A/B 可並行 ``` ### 按操作類型拆分 ``` 任務包含多種操作 | +-- 重命名操作 --> Ticket A (可大量並行) +-- 格式化操作 --> Ticket B (可大量並行) +-- 邏輯修改 --> Ticket C (需謹慎序列) ``` --- ## 並行派發判斷 ### 快速檢查清單 - [ ] 任務間無檔案重疊 - [ ] 任務間無邏輯依賴 - [ ] 任務在同一架構層級 - [ ] 操作類型為機械性(重命名/格式化) ### 並行適用情境 | 情境 | 範例 | 並行數量 | |------|------|---------| | 同層重命名 | 所有 Repository 檔案變數重命名 | 無上限 | | 同層格式化 | 所有 Widget 檔案 lint fix | 無上限 | | 獨立模組 | 各獨立 Feature 的相同修改 | 無上限 | | 無依賴測試 | 各模組的獨立單元測試 | 無上限 | ### 不適用並行情境 | 情境 | 原因 | 處理方式 | |------|------|---------| | TDD 跨階段 | 階段有順序依賴 | 序列執行 | | 跨架構層 | 可能有設計影響 | 序列執行 | | 有共享狀態 | 競爭條件風險 | 序列執行 | | 邏輯依賴 | 結果影響後續 | 按依賴序列 | --- ## 使用方式 ### 任務評估 ```bash /decision-helper assess "{任務描述}" ``` 輸出: - 任務類型 - 複雜度評估 - 派發建議 - 拆分建議(如需要) ### 派發確認 ```bash /decision-helper confirm {代理人} "{任務描述}" ``` 輸出: - 派發是否合適 - 潛在問題 - 替代建議(如有) ### 並行檢查 ```bash /decision-helper check-parallel {Ticket1} {Ticket2} ... ``` 輸出: - 並行安全性 - 潛在衝突 - 建議執行順序 --- ## 決策記錄格式 ### 標準格式 ```markdown ## 決策記錄 ### 任務資訊 - **任務描述**: {描述} - **任務類型**: {類型} ### 複雜度評估 | 指標 | 數值 | 等級 | |------|------|------| | 修改檔案數 | {數} | {等級} | | 架構層級數 | {數} | {等級} | | 依賴模組數 | {數} | {等級} | | 狀態追蹤數 | {數} | {等級} | | **總分** | {分} | **{等級}** | ### 派發決策 - **建議代理人**: {代理人} - **決策理由**: {理由} ### 拆分建議(如需要) | 子任務 | 目標 | 代理人 | 順序 | |--------|------|--------|------| | 1 | {目標} | {代理人} | {順序} | ``` --- ## 相關文件 - [認知負擔量化標準]($CLAUDE_PROJECT_DIR/.claude/skills/cognitive-load-assessment/thresholds.md) - [主線程決策樹]($CLAUDE_PROJECT_DIR/.claude/rules/core/decision-tree.md) - [代理人職責矩陣]($CLAUDE_PROJECT_DIR/.claude/rules/agents/overview.md) - [任務拆分指南]($CLAUDE_PROJECT_DIR/.claude/rules/guides/task-splitting.md) --- **Last Updated**: 2026-01-28 **Version**: 1.1.0