| name | wrap-up |
| description | Session 結束後收尾 + 更新 .claude/memory/ 的 skill。當使用者說 /wrap-up、「收工」、「收尾」、「session 結束」、「做完了」、「commit memory」、「整理記憶」時觸發。讀本 session 脈絡 + git log + 現有 memory → 對應更新 9 個 memory 檔 → 產出 diff 給用戶 review → 每檔 atomic commit(prefix memory:)→ 不自動 push。 |
| user_invocable | true |
/wrap-up — Session 收尾 SOP
目的
Session 結束時自動:
- 分析本次做了什麼、學到什麼、失誤什麼
- 將 session insights 寫回
.claude/memory/ 9 個檔
- 每檔獨立 atomic commit,git log 可追記憶演進
- 不 push,保留用戶最後 review 機會
執行流程(5 階段)
Stage 1: Gather
平行執行(三個同時發 Bash / Read):
- Read
.claude/memory/ 全部 9 檔,掌握現狀
git log --oneline origin/master..HEAD(本地未 push 的 commit)+ git log -20 --oneline(最近 20 次)
git status(本 session 未 commit 變動)
然後回顧本 session 對話:
- 用戶要求了什麼?
- 做了哪些動作?(讀哪些檔、改哪些檔、跑哪些指令)
- 哪裡順利、哪裡卡住、哪些指令失敗過?
- 用戶有糾正過你嗎?(次數 / 原因)
Stage 2: Analyze
將本 session 事件分類到對應 memory 檔:
| 事件類型 | 寫到哪 |
|---|
| 做完某功能 / 抓完某資料 | STATUS + DATA_SCOPE |
| 產生新待辦 idea | BACKLOG(新增 P1/P2/P3) |
| 關閉舊待辦 | BACKLOG(劃掉 + 搬到「已完成」區) |
| 新決策 / 新預設 | PRINCIPLES |
| 重複性流程定型(做過 ≥2 次) | PLAYBOOKS |
| 遇到新術語 / 新代碼 | GLOSSARY |
| 遇到 bug / 意外並修好 | INCIDENTS(append;長篇放 .claude/pitfalls/) |
| 反省「下次怎麼改」 | REFLECTIONS(append) |
寫回規則:
INCIDENTS / REFLECTIONS 只 append,不改舊條目
PRINCIPLES 衝突時:新原則覆蓋舊,舊的搬到 INCIDENTS 記錄演進
STATUS 每次重寫(只保留當下狀態)
DATA_SCOPE 數字改動時,先 Grep / wc -l 驗證不單信對話摘要
Stage 3: Draft
產出 總表給用戶一眼看全:
| 檔案 | 變動類型 | 摘要 |
|---|---|---|
| STATUS.md | rewrite | 更新到「等待 Zeabur pull」 |
| DATA_SCOPE.md | update | 倫敦 10 座補齊、UK region 3,358 |
| INCIDENTS.md | append ×3 | EGLL 誤判 / bash-not-found / UK 漏加 |
| BACKLOG.md | close 1 + add 2 | 關 B???、加 B00?/B00? |
然後每個變動 show 實際 diff(Edit 前的 old_string / new_string,或 Write 前的完整草稿)。
Stage 4: Confirm
問用戶:
- 全部 diff 採用?
- 要修改哪幾個?
- 要 skip 哪些?
等用戶回覆才進 Stage 5,不自作主張。
Stage 5: Atomic Commit
每個檔案一個 commit,訊息格式:
memory: <動詞> <檔名> (<1 句摘要>)
<必要時:更詳細的原因 / 對應的 session 事件>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
範例:
memory: update STATUS (完成倫敦 10 座補抓)
memory: append INCIDENTS (EGLL 誤判 + bash/sh + UK 漏加)
memory: close BACKLOG B003 + add B006 (pull 腳本動態解析 region)
memory: reflect REFLECTIONS (今晚 3 條 next-time rules)
commit 順序建議:STATUS 最後(其他檔都 commit 完再更新 STATUS,避免 STATUS 引用到還沒 commit 的變動)。
完成後:
git status 確認 tree clean
- 提醒用戶:「要 push 嗎?
git push origin master」
- 不要自己 push
注意事項
- Read first:Edit 前一定先 Read 目標檔,避免 old_string 不精確
- 驗證數字:DATA_SCOPE / STATUS 的航班數、region size,用
wc -l / Grep 確認,不單信對話摘要
- Pre-commit hook 失敗:fix 後再開新 commit,不要 amend
- 不修 CLAUDE.md:那是規則層,
/wrap-up 不動(除非用戶明確要求)
- 不跨 session 臆測:只根據「本 session 對話 + git log + 現有 memory」三者交叉驗證
- 若本 session 沒什麼好記(純閒聊 / 讀檔不動作):跟用戶確認「看起來沒需要 wrap-up,要強制留紀錄嗎?」
Skill 自身的反省
這個 skill 也會被反省。若某次 /wrap-up 漏抓重要事件、或 commit 訊息風格不理想,應:
- 在本次 REFLECTIONS 記下
- 回頭修改本 SKILL.md(加新規則)
- 下次
/wrap-up 時按新規則執行
Skill 自我優化 = 記憶系統持續進化的核心。