---
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
