review-loop
在當前分支上執行開發循環:驗證、審閱差異、修復,並重複直到某一輪檢查無任何發現。範圍僅限於差異,而非整個程式碼庫。此技能不會推送或開啟拉取請求;這些操作留給使用者自行處理。
步驟
- 執行
.claude/verify.sh。如果失敗,先修復它。如果該檔案不存在,告知使用者並指向/code-loops:init-verify,然後在不進行驗證的情況下繼續進行,並在報告中說明此事。 - 決定差異範圍。第一輪:分支與其基礎分支的差異(
git diff origin/HEAD...HEAD,加上git diff HEAD以包含未提交的變更,再加上git status --short中的未追蹤檔案,直接讀取其內容)。如果origin/HEAD未設定,請嘗試origin/main或origin/master;如果兩者都不存在,請詢問使用者基礎分支為何。如果差異為空(例如你正位於基礎分支本身),報告無需審閱的內容並停止。如果未提交的變更看起來與分支的工作無關,不要修復它們;在報告中提及它們。後續輪次:僅考慮你在前一輪中修改的內容。 - 審閱差異。
- 如果它變更了程式碼,使用
code-review技能以中等努力度進行。如果該技能不可用,自行閱讀差異以尋找錯誤:錯誤結果、遺漏的錯誤路徑以及變更所破壞的呼叫端。 - 如果它只變更了文件(
.md及類似檔案),改為對差異執行/code-loops:doc-code-consistency。
- 如果它變更了程式碼,使用
- 修復發現的問題。不要提交;將其留給使用者。每次修復後,回到步驟 1。重複直到某一輪沒有發現任何問題。你決定不修復的發現,需附上一行說明原因。如果連續三輪仍出現發現(
verify.sh失敗也算),則停止並報告剩餘內容,而不是繼續。 - 如果差異變更了文件所描述的程式碼,在最後對差異執行
/code-loops:doc-code-consistency一次,並修復其發現的問題。 - 提供一次獨立審閱,除非差異僅包含文件。詢問使用者(使用 AskUserQuestion)是否執行它,並附上一行簡短說明此差異是否值得審閱(大小、風險區域);預設為否。如果是,啟動一個僅能看到差異(而非其建構過程)的子代理。如果存在唯讀代理類型(例如
Explore),請使用它;否則告知它不要編輯檔案。讓它尋找會破壞變更的輸入、狀態和順序,並針對每一項提供檔案:行號證據;如果.claude/review/checklist.md存在,也讓它根據該檢查清單進行檢查。修復其發現的問題,然後僅對這些修復執行步驟 1 和 3。如果子代理不可用,跳過此步驟並在報告中說明。 - 用幾行報告:「結果:無發現」,或「結果:保留發現」並附上每個發現及其原因。新增
verify.sh是否通過、總共進行了多少輪,以及是否執行了獨立審閱。
保持每輪低調:閱讀差異,而非整個儲存庫,並且不要重複早期輪次的發現。