recaplisted
Install: claude install-skill SanHsien/agent-astromech
# /recap — 現況重述
把「這個 session 此刻站在哪」重新查一次、再用固定格式報一次。
不是複述對話最後一段,是**先刷新、後回報**。
> 🤖 Astromech 時刻:R2 投出來的全息影像不是回憶錄——它是接上系統、把當下的座標讀出來再投出來。
> 差別在於:回憶會過期,讀數不會。
## 為什麼需要
- **平行 session 一多,人就記不住每一個站在哪。** 三個以上同時跑,光是「這個是哪件事」
就得回頭爬對話。
- **問「現在怎樣了」最常得到的答案是複述**——AI 把對話裡最後一段結論再講一次,
而那段結論可能是二十分鐘前寫的,期間 CI 跑完了、PR 被評論了、背景工作結束了。
複述聽起來像現況,但它是快取。
- **「還在做」不是狀態。** 有用的狀態要能回答:卡在誰身上、下一步歸誰、憑什麼說做完了。
少了這三樣,人沒辦法決定要不要插手。
## 步驟
1. **先刷新(一兩分鐘,不准跳過)** —— 見下節清單。刷新完才准動筆。
2. **照四欄格式回報** —— 順序固定,缺欄不准跳過;沒有內容就寫「無」,不是省略。
3. **停在這裡。** recap 的產出就是那份報告,不接著開工——除非人另外開口。
## ① 刷新:把可能過期的東西實際重查
逐項**實際執行查詢**,不憑印象、不引用對話裡的舊值:
| 對象 | 查什麼 |
|---|---|
| 版本控制 | 工作區有沒有未提交的改動、分支落後多少、最後一個提交是什麼 |
| PR/MR | 現在是 open 還是已合併/已關閉、有沒有新的評論或要求修改 |
| CI/自動化檢查 | 最近一次跑的結果,紅還綠——**不是上次看到的那次** |
| 自己啟動過的背景工作 | 還在跑、跑完了、還是早就掛了 |
| 引用過的外部討論串 | 對方回了沒 |
| 依賴別人的東西 | 對方的狀態變了沒 |
🚫 **查不到就標「未驗證」,不得沿用對話裡的舊值。** 網路不通、工具沒裝、權限不足
都是合法結果,寫出來即可。把舊值當現況報,比誠實說「查不到」傷害大得多——
因為讀的人不知道你沒查。
## ② 四欄回報
**目標**
用**提出者的原話**,引號照抄,不要改寫成你理解後的版本。改寫是漂移的起點:
每 recap 一次就離原始需求遠一點,三次之後在做的已經是另一件事。
原話真的含糊,就照抄後另起一行寫「我的理解是⋯⋯」,兩份並存讓人自己對。
**現況與證據**
每條結論後面掛證據,並標等級:
> 單元測試過 ≠ 真實資料真跑過 ≠ 真實環境驗過
- ✅ 有證據:具體的指令與結果、回讀過的檔案內容、看到的畫面。
- ⚠️ 沒證據:直接寫「已改完,未驗證」。**「應該可以」不是狀態,是猜測。**
- 🚫 不准把「測試綠了」寫成「已���明可用」——測試證明的是你寫的那幾條測試沒紅。
**卡點:等人,還是等技��**
二選一,並寫出**等誰、等什麼、等多久了**:
- **等人**——需要有人拍板、審核、給權限、給資料。這類卡點 AI 再努力也不會前進,
但常被寫成「進行中」而無限期擱著。標出來,人才知道球在自己手上。
- **等技術**——測試不過、環境沒起來、上游有 bug。這類才是可以繼續攻的。
沒卡就寫「無」。**最忌把等人的事寫成技術問題**——那會讓人以為不用動作。
**下一步**
清單,每項標由誰做:
```
- [AI] 補 X 的錯誤處理,然後跑一次整合測試
- [人] 決定 Y