name: explaining-code description: > 當使用者在對話中詢問程式碼、工具或技術概念的運作原理、流程邏輯或架構設計時,必須載入此技能。 根據對話紀錄理解問題,在使用者需要時才輸出結構化的 Markdown 說明文件, 搭配 ASCII art 與 Mermaid 圖表(流程圖、時序圖、類別圖)進行視覺化說明。 觸發情境包含但不限於:「這段程式怎麼運作的」、「幫我解釋這個邏輯」、「這個架構是什麼」、 「畫個流程圖說明」、「這個 function 在做什麼」、「explain this code」、「how does this work」。 即使使用者只說「解釋一下」或「這是什麼意思」,只要對話中已有相關程式碼或技術討論,也應載入此技能。
解釋程式碼時,務必包含以下內容
| 順序 | 項目 | 說明 |
|---|---|---|
| 1 | 主要功能 | 說明這個工具/程式碼的核心功能是什麼、解決什麼問題、為什麼需要它 |
| 2 | 繪製圖表 | 使用 ASCII art 來展示流程、結構或關聯性 |
| 3 | 時序圖 | 使用 Mermaid code 來展示程式碼的運作流程 |
| 4 | 指出常見陷阱 | 說明常見的錯誤或誤解 |
| 5 | 程式範例 | 提供簡短的程式碼範例來說明重點,不需要細節,不需要提供如何配置參數 |
| 6 | 回應語言 | 使用繁體中文回答 |
可選項目(僅在使用者明確要求時使用)
| 項目 | 說明 | 觸發條件 |
|---|---|---|
| 類比說明 | 使用生活中的例子來解釋技術概念 | 使用者明確要求「用類比解釋」或「舉個生活例子」 |
圖表使用指南
| 圖表類型 | 適用情境 |
|---|---|
| ASCII art | 簡單的結構關係、快速示意 |
| Mermaid 流程圖 | 複雜的邏輯分支、決策流程 |
| Mermaid 時序圖 | 多個元件之間的互動順序 |
| Mermaid 類別圖 | 物件導向的類別關係 |