I'd hold off on implementing anything until item 4 is clarified, because the items may be related. Here is how I'd respond and in what order I'd work.
Response to the reviewer
tmp→pendingOrders: Agreed. I'll make this change.- Metrics system for
/stats: "Nothing in the codebase calls/stats, so I don't see a need for a database, date filters or CSV export. Should we remove the endpoint (YAGNI) instead? Is there a caller outside this repo that I'm missing?" - Pagination off-by-one: Agreed. I'll fix it and add a boundary test.
- "Make the error handling better": "Which paths do you mean? What's the failure you want handled (swallowed exceptions, missing status codes, retries, error messages)? I'd rather not guess."
- Remove the v1 date parser: "I can't remove this yet. Our mobile app on older OS versions still uses it, so removing it would break those clients. Can we drop it once that OS version is out of our support window, or add a deprecation note and a usage metric now?"
Order of work
- Clarify first. Ask about items 2, 4 and 5 and wait for answers. Item 4 is blocking because it's vague. Items 2 and 5 are pushback and need a decision.
- Verify. Before sending the pushback, I'd grep for
/statscallers and for v1 parser usage, so I'm not relying only on what I remember. I'd also check how the mobile clients reach the parser. - Implement the agreed items one at a time, testing each:
- Item 3, the pagination fix. It's a logic bug, so it comes first, with a test.
- Item 1, the rename. It's a simple, low-risk change. I'd run the tests afterward to confirm nothing else referenced
tmp. - Item 4, once clarified.
- Items 2 and 5 only after the reviewer or you decide. For item 2 that means removing the endpoint if you agree. For item 5 it means leaving the parser in place.
- Check for regressions with the full test run, then reply on each review thread with what changed (or the reasoning for not changing it).
Real run in an isolated folder with only this skill installed. Only the Skill and Read tools were enabled, so no command was run and no file was written. The example is fictional. The pull request feedback is invented.
它做什麼
處理審查意見的一套應對方式:讀完全部回饋,複述每條要求,對照真實程式碼查證,判斷它對這個專案是否站得住腳,以技術上的確認或有理由的反駁來回應,然後一次實作一條並逐條測試。只要有一條沒看懂,它就停下來先問,不會先改別的,因為各條之間可能相關。你本人的意見被視為可信,但範圍不清時仍會追問;對外部審查者則保持合理的懷疑:查證建議對這個程式碼庫是否正確、會不會破壞既有行為、目前設計有沒有理由、在所有支援的平台上是否可行。它還增加了一個 YAGNI 檢查(在「做得更完善」之前先搜尋是否真有人用)、處理順序(阻塞問題、簡單修復、複雜修復)、什麼時候該反駁,以及反駁錯了之後如何更正。它還禁止「你說得太對了!」這類表演式附和與道謝。
適合什麼場景
處理 PR 審查意見時,不想盲目照單全收每一條建議。
中風險:你要求它依意見修改時,它會修改你的程式碼;它的指引中還包括用 `gh api` 指令在 GitHub 審查討論串中回覆,那會以你的帳號發布內容,所以任何回覆在送出前都要看過,只在你要求時才讓它發布。它的語氣有主張:禁止表達感謝與冗長的道歉,有些團隊可能不喜歡。凡是無法對照程式碼查證的判斷,仍然要靠你。已用虛構的審查意見試用過一次:它先要求釐清含糊的那一條,並對兩條建議提出了反駁。