Community编程与开发github.com

PR解释器+理解测验

以人类审查者需要的方式解释拉取请求、差异、提交范围或分支——包括变更内容、原因、数据/控制流如何变化,并附带Mermaid图表——然后运行一个简短的交互式测验,确保审核者真正理解后才批准。在有人要求‘解释此PR’、‘带我过一遍此差异’、‘帮我审查’、‘此变更有什么作用’,或者想接手同事的变更、担心自己对AI编写的代码进行无脑批准时使用。

PR解释器+理解测验 是什么?

此技能专为AI驱动的开发环境设计,例如Claude Code、Cursor或Codex,旨在解决AI辅助编码中一个关键问题:审阅者批准他们并不理解的代码,导致“LGTM”变得毫无意义。该技能首先从GitHub PR、差异或提交中收集变更,并读取周围代码以提供上下文。然后,它按逻辑顺序生成解释:一个高层次摘要、变更原因、一个Mermaid图表(sequenceDiagram或flowchart)突出显示核心新流程、按概念分组的问题,以及特定风险点。最后,通过一个交互式测验(3-5个需要理解的问题)来验证真正理解,并最终给出分数和建议。它支持GitHub PR、提交范围和分支上的`git diff`。用户可以缩小请求范围,例如跳过测验或仅请求摘要和风险。用户可以通过自然语言查询触发该技能,例如“解释此PR”、“帮助我审查”或“带我看此提交”。

兼容平台~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. 收集变更

选择适用的命令:

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

阅读PR描述和任何关联的issue。然后阅读受影响函数的周围代码(调用者、被调用者、测试)——仅看差异会隐藏重要的上下文。

2. 解释——按此顺序

  1. 一段摘要:对用户或调用者的行为有何变化。不是文件列表。
  2. 原因:描述/issue/提交消息中所要解决的问题。如果任何地方都没有说明原因,请明确指出——这是一个审查发现。
  3. 图表:Mermaid的sequenceDiagram或flowchart,展示新的流程,突出显示新增/变更的部分(使用注释或:::changed class)。保持在约15个节点以内;为核心路径绘制图表,而非全部内容。
  4. 按概念而非文件进行讲解:将相关的代码块分组(例如“重试逻辑”、“新配置标志”)。针对每个分组说明其功能以及任何非显而易见的内容(并发、错误处理、边界情况、性能)。
  5. 风险说明:审阅者应重点关注的内容——变更的公共接口、迁移、删除的测试、被吞掉的错误路径、安全敏感代码、新分支缺少测试。使用file:line格式具体指定。

3. 测验

提出3-5个问题,一次一个,等待回答后再问下一个。好的问题需要理解而非记忆:

  • “如果<依赖>在<操作>期间超时,现在会发生什么?”
  • “哪个现有调用者会受到签名变更的影响?如何影响?”
  • “为什么<行号>必须出现在<行号>之前?”
  • “如果我们在迁移运行后回滚此更改,会破坏什么?”

避免琐碎问题(例如“新函数叫什么名字?”)。混合提问:至少一个关于失败/边界行为的问题,一个关于设计选择原因的问题。

每个回答后:指明是否正确,并用1-3句话和代码引用给出正确解释。如果他们在重要问题上答错,建议重新阅读差异的哪一部分。

4. 总结

给出分数(例如4/5)和一个简要结论:“可以审阅”,或者“在批准前重读X部分”。主动提出为任何发现的风险起草审阅评论。

根据请求调整范围

完整流程(摘要→原因→图表→讲解→风险→测验)是“带我过一遍”或“帮我审查”的默认模式。当用户缩小请求范围时,请尊重:

  • “不要测验”/“跳过测验”:仅执行步骤1-2,跳过步骤3。
  • “仅需摘要和风险”:只给出段落摘要和风险说明,不包含图表和讲解。最后用一句话提示是否提供其余内容。
  • “仅需图表”:给出图表外加两句话说明。

列出的第一个风险应该是改变用户行为或金钱相关的风险(例如静默错误收费),而非技术上最有趣的风险。

相关技能