# Explain

> Use when 用戶要求解釋或說明某個概念、機制、原因或用途，要求比較兩個以上的概念、方案或選項，問某件事「怎麼做」而需要示範步驟與判斷理由，要解讀機率、風險或檢測結果，表示不懂、仍然困惑或太抽象，要求換一種說法、舉例、畫圖或說簡單一點，或要求深入、形式化、實作化地理解；也用於 AI 即將引入一個會影響後續判斷、操作或風險的關鍵概念、而本 session 沒有證據顯示用戶已理解時。

- Skill: `wuchengwei1996/explain` (Agent Skill, multi-file: 6 files)
- Install (CLI): `npx skillmds@latest add wuchengwei1996/explain`
- Raw SKILL.md: https://api.skillmd.com/api/skills/wuchengwei1996/explain/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: wuchengwei1996 (https://skillmd.com/u/wuchengwei1996)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/wuchengwei1996/explain

---


# explain：先找理解斷點，再選橋

流程：1 前後文 → 2 缺口 → 3 概念 → 4 目標 → 5 方法 → 6 視覺 → 7 深度 →（比較任務加走 8）→ 產生說明 → 9 檢查 → 10 訊號（仍有落差→回 2 重定位、回 5 換方法）。
本檔只給流程、路由與檢查；路由命中的方法（Standard 亦然）必須讀 `references/` 取得執行順序與限制；沒有 session 證據時讀 `references/default-user.md`。

## 1. 前後文（Explanation Context Packet）

```yaml
explanation_context:
  trigger:
    type: proactive | explicit-explanation | comparison | confusion | re-pitch
    user_words: "使用者實際表達"
  target:
    concept: "候選目標概念"
    source_passage: "直接引發問題的內容"
  task:
    current_goal: "使用者正在完成什麼"
    explanation_goal: "理解後需要做到什麼"
    urgency: low | medium | high
    stakes: low | medium | high
  user_evidence:
    demonstrated_knowledge: []
    possible_gaps: []
    preferences_observed: []
  previous_attempts:
    methods_used: []
    what_failed: []
  constraints:
    desired_depth: micro | standard | deep | infer
    preserve_terms: true
    visual_allowed: true
```

**證據優先順序**：

1. 使用者這一輪的明確表達。
2. 直接引發問題的上一段內容或材料。
3. 當前任務與使用目的。
4. 本 session 已展現的理解與操作。
5. 前一次解釋使用的方法及失敗位置。
6. 預設使用者設定。
7. 一般「聰明但不熟悉此領域」假設。

**限制**：

- 不把使用術語本身當成理解該術語的證據。
- 不用舊推論否定使用者此刻明確表達的困惑。
- 不從語氣、拼字、語言流利度推論一般智力。
- 不把其他領域的專業程度直接轉移到當前領域。
- 不需要建立永久 common-ground ledger；只使用當前 session 可見證據。

## 2. 判斷器一：理解缺口定位

> 核心問題：使用者現在不能理解的確切內容是什麼？

| 缺口 | 判斷訊號 |
|---|---|
| 詞彙缺口 | 不知道名詞、縮寫或正式用語的意思 |
| 前置知識缺口 | 解釋依賴尚未建立的另一概念 |
| 結構缺口 | 知道零件，但不知道彼此關係 |
| 機制缺口 | 知道輸入與結果，不知道中間如何發生 |
| 因果缺口 | 不知道 A 為何導致 B |
| 邊界缺口 | 不知道何時成立、何時失效 |
| 比較缺口 | 知道個別定義，不知道差異維度與選擇含義 |
| 應用缺口 | 聽得懂，但不知道實際如何使用 |
| 數量直覺缺口 | 看得懂數字，不能感受大小、機率或風險 |
| 錯誤模型 | 已有穩定但不正確或過度延伸的理解 |

```yaml
comprehension_gap:
  target: "需要理解的最小單位"
  understood: []
  missing_or_uncertain: []
  gap_types: []
  desired_outcome: "理解後要能做什麼"
  useful_anchors: []
  confidence: low | medium | high
```

**低信心處理**：

- 低風險：明說目前推定的卡點，先提供可修正的分層說明。
- 不同缺口會導致完全不同答案：只問一個窄而高資訊量的問題。
- 高風險：在沒有足夠理解目標前，不以猜測代替必要確認。

## 3. 判斷器二：概念與難點分析

> 核心問題：這個概念是什麼？它由哪些必要關係構成？為什麼難懂？

```yaml
concept_model:
  concept: "正式概念"
  essential_definition: "不循環的精確定義"
  purpose: "它解決什麼問題"
  components: []
  mechanism: []
  essential_relationships: []
  prerequisites: []
  boundaries: []
  common_misconceptions: []
  uncertainty_or_disagreement: []
  difficulty_sources: []
```

**難點來源**：

- 術語密度高。
- 需要尚未具備的前置知識。
- 抽象、無法直接觀察。
- 多個相似概念重疊。
- 元件、層級或相依關係多。
- 過程長，包含狀態轉換。
- 因果鏈長、存在回饋或多重原因。
- 結果違反一般直覺。
- 包含條件機率、相對風險或不同分母。
- 定義依情境改變。
- 簡化後特別容易失真。

## 4. 最低必要理解目標

```yaml
explanation_goal:
  user_should_understand: []
  user_should_be_able_to: []
  must_preserve: []
  not_needed_now: []
```

只解釋會改變使用者心智模型、判斷、操作或風險認知的內容。正式術語（含英文原名）一律列入 must_preserve，說明中至少完整出現一次。

## 5. 方法路由

| 方法 | 優先條件 | 載入 |
|---|---|---|
| 1 建立理解起點／連接先備知識 | 前置知識缺口、新概念沒有可連接的位置、不知道概念為何存在 | `references/01-prior-knowledge-bridge.md` |
| 2 Plain Language／術語拆解 | 詞彙缺口、縮寫或名詞密集、定義用陌生詞解釋陌生詞 | `references/02-plain-language.md` |
| 3 先給地圖／Progressive Disclosure | 系統大、元件多、層次多、使用者迷失在細節 | `references/03-progressive-disclosure.md` |
| 4 Chunking／階段化 | 流程長、狀態多、一次需處理太多元素 | `references/04-chunking.md` |
| 5 Structure Mapping／結構類比 | 關係抽象，但存在使用者熟悉且結構相似的來源領域 | `references/05-structural-analogy.md` |
| 6 Concreteness Fading／具體到抽象 | 符號或規則過於抽象、單一例子能懂但無法一般化 | `references/06-concreteness-fading.md` |
| 7 Worked Example／完整示範 | 應用缺口、操作問題、過程包含重要選擇 | `references/07-worked-example.md` |
| 8 因果敘事 | 因果缺口、時間順序重要、存在連鎖反應或回饋 | `references/08-causal-narrative.md` |
| 9 圖文互補／Signaling | 三個以上元件互動、分支、階層、包含、狀態轉換、時間、比較、對應、空間或數量關係 | `references/09-visual-signaling.md` |
| 10 自然頻率／共同分母 | 條件機率、醫療檢測、相對與絕對風險、不同分母、極大或極小數字 | `references/10-natural-frequencies.md` |

**常見組合**：

| 情境 | 建議組合 |
|---|---|
| 完全陌生領域 | 理解起點＋Plain Language＋適合內容結構的方法 |
| 抽象技術概念 | 結構類比＋具體到抽象 |
| 大型系統 | 先給地圖＋Chunking＋視覺化 |
| 操作任務 | Chunking＋Worked Example |
| 歷史或政策 | 因果敘事＋先給地圖 |
| 機率與風險 | 自然頻率＋視覺比較＋Plain Language |
| 選項比較 | 共同比較維度＋表格＋必要的機制或 worked example |

## 6. 視覺化決策

**應優先考慮視覺化的條件**：

- 三個以上實體存在重要關係。
- 存在三步以上的依賴或狀態變化。
- 存在分支、循環、階層或包含關係。
- 需要對照兩套系統或多個選項。
- 需要呈現時間、空間、數量或尺度。
- 純文字會反覆使用「前者、後者、其中、接著」等指代。
- 使用者明確要求圖像化。

判定需要視覺化後，**若也裝了 `show` skill**：形式選型、感知編碼與品質規則以它為單一出處——呼叫 `show` skill（Skill 工具），從其第 ③ 段「形式」開始；其第 ② 段意圖句沿用本檔 §4 的 `explanation_goal`；其第 ⑥ 段驗收比對該理解目標與使用者原始需求；通常停在 inline widget 或表格，不外派（關係→形式對照表見 `show/references/02-form-and-encoding.md`）。**沒裝 `show` 時**，用下表自己選形式：

| 關係 | 優先形式 |
|---|---|
| 精確欄位或選項比較 | 表格 |
| 流程、依賴、分支 | Flowchart（流程圖） |
| 多角色訊息互動 | Sequence diagram（序列圖） |
| 包含、層級、所有權 | Tree／Hierarchy（樹狀／階層圖） |
| 因果與回饋 | Causal diagram／Loop diagram（因果圖／回饋循環圖） |
| 時間事件 | Timeline（時間軸） |
| 數量與趨勢 | Bar／Line／Icon array（長條／折線／圖示陣列） |
| 空間位置或實體構造 | 標註圖片 |
| 類比對應 | 雙欄映射圖 |
| 可調參數與情境探索 | 互動視覺化 |

```yaml
visual_decision:
  useful: true
  purpose: "要讓使用者看懂的關係"
  relation: 數量 | 流程 | 階層 | 因果 | 時間 | 對應 | 精確查值
  complexity: compact | standard | detailed
  required_elements: []
  omit: []
```

**視覺品質規則**：

- 使用最小且足夠的視覺。
- 圖與文字分工，不完整重複。
- 標籤貼近對象，箭頭方向一致。
- 顏色只承擔明確意義，且不作為唯一辨識方式。
- 對應關係使用一致視覺編碼。
- 視覺本身不能引入錯誤比例、因果或時間暗示。

## 7. 深度、順序與 Repair

**數量限制**：

- Micro：一種方法。
- Standard：一個主要方法，必要時加一個輔助方法。
- Deep：最多兩個主要方法與一個輔助方法。
- 每個方法必須對應一個已識別缺口或概念難點。
- 不選擇功能重疊但沒有新增理解價值的方法。

**方法順序**（通常）：可接近的入口 → 全貌或關係結構 → 機制或操作 → 正式名稱與精確版本 → 邊界、例外與風險。

**Micro**：

- 適用：AI 主動補充；長度通常一句，目標是讓使用者能繼續理解或操作。
- 方法：只選一種。
- 視覺：除非一個極小表格或符號關係能立即取代較長文字，否則不使用。

**Standard**：

- 適用：明確要求說明或比較。
- 結構：核心意思、必要機制、合適例子或視覺、重要邊界。
- 方法：一個主要方法，必要時一個輔助方法。

**Deep**：

- 適用：要求深入學習、正式理解、設計或高風險決策。
- 結構：分層解釋、精確定義、完整機制、例外、trade-offs、必要證據與理解驗證。
- 方法：最多三種互補方法（＝數量限制的 2 主＋1 輔）。

**Repair**：

- 適用：使用者表示仍不理解或要求換方式；必須重新執行判斷器一。
- 保留仍正確的概念模型，記錄上一種方法未奏效的具體位置。
- 使用實質不同的主方法，不只改寫句子或增加篇幅。

**Repair 輸出不得長於前一次說明；換方法不是加篇幅。**

依上述順序合成內部 explanation plan，不顯示給用戶。

## 8. 比較任務

```yaml
comparison:
  objects: []
  user_decision: "比較後要決定什麼"
  shared_dimensions: []
  material_differences: []
  similarities_that_prevent_false_dichotomy: []
  recommendation_needed: true | false
```

預設使用表格處理三個以上重複維度。不得只分別介紹各項而把比較工作留給使用者。

## 9. 送出前忠實度檢查

1. 是否真的處理判斷器一找到的缺口？
2. 是否先理解概念再簡化，而非只換字？
3. 是否遺漏會改變結論、決策、風險或操作的條件？
4. 是否存在未定義的新術語、縮寫或循環定義？
5. 類比是否對應真正關係，並在必要時標示失效處？
6. 具體例子是否指出可一般化的結構？
7. 因果敘事是否把相關誤寫為因果？
8. 風險是否提供共同分母、絕對值與時間範圍？
9. 視覺化是否真的降低理解成本？
10. 主動說明是否超出 Micro 所需範圍並干擾原任務？

## 10. 理解訊號與後續調整

**正向訊號**：

- 使用者能正確使用概念。
- 追問進入更深層機制或邊界。
- 能做出正確比較或選擇。
- 能預測條件改變後的結果。
- 能將概念套用到新情境。

**負向訊號**：

- 重複詢問相同關係。
- 只重述詞彙，無法說明作用。
- 將類比的特徵錯誤延伸到目標概念。
- 能重複步驟，但無法選擇何時使用。
- 明確表示仍不理解、太抽象或希望換方式。

**驗證強度**：

- 一般 Micro 不主動測驗。
- Standard 只在自然時使用一個快速檢查或可觀察後續訊號。
- Deep、高風險或學習目的可使用重述、預測、應用、比較、操作或 Teach-back。

