--- name: reflect description: | 回顧當前對話,分析完成的任務、遇到的錯誤、使用者回饋, 萃取學習洞察並建議寫入 memory 或建立/改進 skill。 觸發詞:/reflect、反思、回顧對話、conversation review user_invocable: true argument_hint: "[focus: all | errors | skills | memory] (default: all)" --- # Reflect 對話結束前的結構化反思。從本次對話中萃取值得長期保留的知識,避免同樣的坑踩兩次。 --- ## Step 0: 掃描對話 回顧完整對話歷史,標記以下事件: ### 任務清單 列出本次對話完成的所有任務: - 任務描述(一句話) - 結果:成功 / 部分成功 / 失敗 - 涉及的關鍵檔案 ### 錯誤與阻塞 列出所有遇到的問題: - 工具呼叫失敗 - 方向錯誤後修正 - 使用者否決的方案 - 重試或 workaround ### 使用者回饋 列出使用者的明確偏好表達: - 「不要這樣做」「改用 X」 - 對產出品質的評價 - 工作流偏好 ### ARGUMENTS 過濾 如果 ARGUMENTS 指定了 focus,只深入分析對應類別。預設 `all`。 --- ## Step 1: 萃取學習 從 Step 0 的事件中萃取可複用的知識: ### 1A. 技術發現 - 工具/API 的非直覺行為 - 繞過限制的有效方法 - 效能觀察(什麼快、什麼慢) ### 1B. 模式識別 - 重複出現的工作流(值得自動化?) - 本次對話中反覆使用的技巧 - 跨任務的共通解法 ### 1C. 錯誤根因 - 每個錯誤的根本原因(不是表面症狀) - 下次如何避免 - 是否為已知問題的新變體 ### 1D. 使用者偏好 - 新發現的偏好(寫入 memory) - 已知偏好的例外情況 - 溝通風格觀察 --- ## Step 2: 識別機會 ### 2A. 新 Skill 機會 本次對話是否暴露了可做成 skill 的重複工作流? 判斷條件(至少符合 2 個): - 涉及 3+ 個步驟 - 未來可能重複使用 - 需要特定領域知識 - 目前沒有 skill 覆蓋 ### 2B. 現有 Skill 改進 本次使用某個 skill 時是否遇到不足? - 缺少的功能或參數 - 不準確的判斷規則 - 可精簡的流程步驟 ### 2C. Memory 更新 哪些知識該寫入 MEMORY.md? - 穩定的技術發現(跨多次互動確認) - 使用者明確要求記住的偏好 - 專案架構的新理解 哪些 memory 該刪除或更新? - 被本次發現推翻的舊記錄 - 已完成的待辦事項 - 過時的架構描述 --- ## Step 3: 呈現結果 + 互動執行 ### 產出反思報告 ```markdown ## 對話反思 ### 本次任務摘要 | 任務 | 結果 | 關鍵檔案 | |------|------|---------| | 建立 system-audit skill | ✅ 成功 | system-audit/SKILL.md | | ... | | | ### 學習萃取 | # | 類別 | 洞察 | 建議動作 | |---|------|------|---------| | 1 | 技術發現 | hook 無法存取對話歷史 | 寫入 MEMORY.md | | 2 | 使用者偏好 | 偏好合併相關 skill | 寫入 MEMORY.md | | 3 | Skill 改進 | humanizer-tw 缺少 X | 開 task 追蹤 | ### 機會 - 🆕 新 skill:[描述] - 🔧 改進 skill:[skill 名稱] — [改進項] - 📝 Memory 更新:[新增/修改/刪除 項目] ``` ### AskUserQuestion 互動 用 multiSelect 讓使用者勾選要執行哪些動作: - **寫入 memory**:列出每條 memory entry 的內容預覽 - **改進 skill**:列出要修改的 skill 和具體項目 - **建新 skill**:列出 skill 名稱和核心功能描述 - **跳過**:不執行任何動作 ### 執行 使用者勾選的項目,逐一執行: - Memory → 用 Edit 工具更新 MEMORY.md - Skill 改進 → 開 task 或直接修改(視規模而定) - 新 skill → 建立骨架 SKILL.md + 提示使用者後續完善 --- ## 反思原則 - **只記穩定知識** — 單次對話的猜測不寫 memory,等多次確認 - **使用者明確要求除外** — 使用者說「記住這個」就直接記 - **根因優先** — 記錄為什麼出錯,不只是出了什麼錯 - **可行動** — 每條洞察都要有建議動作(寫 memory / 改 skill / 開 task) - **不重複記錄** — 先查 MEMORY.md 有沒有類似條目,有就更新而非新增 --- ## Now Execute 從 Step 0 開始,回顧當前對話。