Communitygithub.com

robcsaszar/socratic

一個在程式碼發布後的七問回顧技巧,專為 Claude Code 設計,專注於信心、盲點與衰減。

socratic 是什麼?

Socratic 是一個專為 Claude Code 設計的後發布回顧技巧,其靈感來自蘇格拉底的提問法。它並非傳統的程式碼審查,而是在功能或變更集發布之後,引導開發者以建設者和懷疑者的雙重身份進行深度反思。此技巧透過七個結構化問題(拉丁語修辭問題),要求使用者探索自身對已發布工作的信心水準、預測未來可能的失效模式、並揭露設計過程中的隱性假設與盲點。它支援以單一 PR、變更範圍或整個儲存庫為目標進行分析,並透過平行啟動的子代理程式(探尋者)來搜集具體的檔案與行號證據,確保所有回答皆有憑有據。該技巧的最終目標是產出最多三個可行的後續行動項目,並找出最刺痛人心的一個答案,從而促進團隊與產品的實質改善。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add robcsaszar/socratic

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

socratic 是做什麼的?

Zētein — 去探尋。這不是一次程式碼審查:而是在工作發布之後進行的一項探究。請同時以建設者和懷疑者的身份回答;一個討好的回答毫無價值。

方法

  1. 命名目標。 參數為其命名 — 一個功能("emotes")、一個變更集("PR #754"、一個分支、一個提交範圍),或整個儲存庫。無參數 — 則選取最近合併的 PR。如果無法解析目標(無匹配、無合併的 PR),則停止並詢問。在回答任何問題之前先用一行說明它。
  2. 派出探尋者。 並行啟動多個 Explore 子代理程式 — 始終為複數,每個領域一個 — 並等到所有探尋者返回後再回答。功能或變更集:實作、測試、文件/流程 — 錨定在差異上(對於 PR 使用 gh pr diff <n>,對於範圍使用 git diff <range>)。儲存庫:架構、模組之間的縫隙、程式碼與文件之間的漂移。每個探尋者返回帶有檔案:行號引用的發現;答案僅依賴探尋者返回的內容以及工作階段本身。
  3. 依次提出七個問題。 一次一個,遵循以下規則。不許含糊其辭;除非後面緊接著「取決於什麼」,否則禁止使用「視情況而定」。
  4. 以後續行動結尾。 最多三個答案所要求的具體後續行動(可開 issue,每行一個),然後用一句話說出最刺痛人心的那個答案。

七個問題

  1. Quis — 誰? 這真正是為了誰 — 又忘記了誰?說出第一個使用它的使用者,以及那個從未出現在設計中的使用者。
  2. Quid — 什麼? 你現在最沒信心的是什麼?已發布內容中最不確定的部分,而不是最糟糕的程式碼。
  3. Quando — 何時? 如果這個東西三個月後壞掉,最可能的原因是什麼?時間是唯一總在運行的測試。
  4. Ubi — 何處? 關於目前情況,最大的未意識到的事情是什麼 — 盲點在哪裡?
  5. Cur — 為什麼? 做了哪些假設卻從未明說?在付出代價仍低的時候,揭露每個選擇背後未明說的理由。
  6. Quomodo — 以何種方式? 提問者原本可以做出什麼不同的做法,讓這項工作進行得更順利?誠實回答;隱藏真實答案的禮貌對任何人都沒有幫助。
  7. Quibus auxiliis — 藉由什麼手段? 完全不受原本請求的限制 — 一個未被要求、業界領先的附加項目。什麼能讓這個功能成為人們提及該產品的原因?

規則

  • 證據優先 — 每個答案都引用一個檔案、一行、一個提交或工作階段中的一個時刻;沒有引用就是推測,必須標記為推測。
  • 問題按順序進行;切勿提前閱讀 — 第七題中那個夢幻功能,如果過早看到,會將樂觀情緒洩漏到第二題所要求的誠實之中。
  • 沒有答案也是一個有效的答案。一無所獲並非失敗;千萬不要因為問題似乎要求一個答案就憑空捏造。
  • 在探究過程中不要修復任何東西 — 這裡只做觀察,建議僅在後續行動中提出。
  • 探尋者負責偵察;你來判斷。切勿將問題的答案委託給子代理程式。

相關技能