# Reflect

> 回顧當前對話，分析完成的任務、遇到的錯誤、使用者回饋， 萃取學習洞察並建議寫入 memory 或建立/改進 skill。 觸發詞：/reflect、反思、回顧對話、conversation review

- Skill: `yelban/reflect` (Agent Skill)
- Install (CLI): `npx skillmds@latest add yelban/reflect`
- Raw SKILL.md: https://api.skillmd.com/api/skills/yelban/reflect/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: yelban (https://skillmd.com/u/yelban)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/yelban/reflect

---


# 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 開始，回顧當前對話。

