Community程式設計與開發github.com

Avr8/pr-explainer-quiz

解釋拉取請求、差異比較、提交範圍或分支給人類審查者——說明變更內容、原因、資料/控制流,並附上 Mermaid 圖表,然後進行簡短互動式測驗,確保審查者在核准前確實理解。

pr-explainer-quiz 是什麼?

這個技能專為使用 AI 輔助編碼工具(如 Claude Code、Cursor、Codex)的開發者設計,旨在解決「盲目核准 AI 生成程式碼」的常見問題。它可以解析 GitHub PR、git diff、分支或單一提交,然後提供結構化的解釋:包含行為摘要、變更原因、Mermaid 圖表、依概念而非依檔案進行的解說,以及風險筆記。最後,它會提出 3 到 5 個需要真正理解的測驗問題(而非單純記憶),並根據答案給予評分與審查建議。支援多種範圍模式(如僅摘要與風險、僅圖表),適用於團隊程式碼審查、新人 onboarding,或任何需要確保人類確實理解變更的場合。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Avr8/claude-skills/tree/HEAD/skills/pr-explainer-quiz

Installed? Explore more 程式設計與開發 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜歡的 AI 中提問

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

說明文件

PR 解釋器 + 理解度測驗

AI 輔助編碼讓人很容易核准自己從未真正理解的程式碼。這個技能會以審查者所需的層級解釋變更,然後透過幾個關鍵問題來檢查理解程度——讓「LGTM」真正具有意義。

1. 收集變更

選擇適用的方式:

git pr view <num> --json title,body,baseRefName,headRefName,files   # GitHub PR
gh pr diff <num>
git diff <base>...<head>                                            # 分支
git show <sha>                                                     # 單一提交

閱讀 PR 描述及相關 issue(如果有)。然後閱讀受影響函式的周遭程式碼(呼叫者、被呼叫者、測試)——單獨的 diff 會隱藏重要的上下文。

2. 解釋——按此順序

  1. 一段摘要:使用者或呼叫者的行為有何變化。不是檔案列表。
  2. 原因:根據描述/issue/提交訊息,說明正在解決的問題。如果任何地方都沒有說明原因,請指出——這是一個審查發現。
  3. 圖表:一個 Mermaid sequenceDiagram 或 flowchart,呈現新的流程,並標示出新/變更的部分(使用 note 或 :::changed class)。保持在約 15 個節點以下;只圖表核心路徑,不圖表所有內容。
  4. 依概念解說,而非依檔案:將相關的 hunks 分組(「重試邏輯」、「新的設定標誌」)。針對每個分組:說明其作用,以及任何不顯而易見的部分(並發、錯誤處理、邊界情況、效能)。
  5. 風險筆記:審查者應最仔細審查的事項——變更的公開介面、遷移、被刪除的測試、被吞沒的錯誤路徑、安全敏感程式碼、缺少測試的新分支。具體指定 檔案:行號。

3. 測驗

提出 3 到 5 個問題,一次一個,等待回答後再問下一題。好的問題需要理解,而非記憶:

  • 「如果 <相依項目> 在 <操作> 期間超時,現在會發生什麼事?」
  • 「哪個現有的呼叫者受到簽名變更的影響,以及如何影響?」
  • 「為什麼 <行> 必須在 <行> 之前?」
  • 「如果我們在遷移執行後回滾此變更,什麼會壞掉?」

避免瑣碎問題(「新函式叫什麼名字?」)。混合題型:至少一題關於失敗/邊界行為,一題關於為何做出某個設計選擇。

每個回答後:說明是否正確,並用 1 到 3 句話及程式碼參考給出正確的解釋。如果他們在重要事項上答錯,建議重新閱讀 diff 的哪個部分。

4. 總結

評分(例如 4/5)以及簡短的結論:「準備好審查」,或「核准前請重新閱讀 X」。針對發現的任何風險,提議草擬審查意見。

依請求範圍調整

完整的流程(摘要 → 原因 → 圖表 → 解說 → 風險 → 測驗)是「帶我瀏覽這個」或「幫我審查」的預設模式。當使用者縮小請求範圍時,請尊重:

  • 「不用測驗」/「跳過測驗」:步驟 1–2,不含步驟 3。
  • 「只要摘要和風險」:一段摘要和風險筆記,其他都不需要:沒有圖表,沒有解說。在最後一行提供其餘部分。
  • 「只要圖表」:圖表加上兩句說明。

列出的第一個風險應該是會改變使用者行為或金錢的風險(例如無聲的錯誤收費),而不是技術上最有趣的風險。

相關技能