🚀 快速安装

复制以下命令并运行,立即安装此 Skill:

npx @anthropic-ai/skills install obra/superpowers/receiving-code-review

💡 提示:需要 Node.js 和 NPM

代码审查接收

概述

代码审查需要技术性评估,而非情感性表演。

核心原则:实施前先验证。假设前先提问。技术正确性优先于社交舒适感。

响应模式

收到代码审查反馈时:

1. 阅读:完整阅读反馈,不做反应
2. 理解:用自己的话重述要求(或提问)
3. 验证:对照代码库现实进行检查
4. 评估:对于当前代码库来说,技术上合理吗?
5. 回应:技术性确认或基于理由的异议
6. 实施:逐项实施,每项都进行测试

禁止的回应

切勿:

  • “您完全正确!”(明确违反 CLAUDE.md 规定)
  • “好观点!” / “极好的反馈!”(表演性质)
  • “我现在就来实施”(未经验证)

应当:

  • 重述技术性要求
  • 提出澄清性问题
  • 如果对方错了,用技术理由提出异议
  • 直接开始工作(行动胜于言语)

处理不清晰的反馈

如果任何一条不清晰:
  停止 - 暂不实施任何内容
  就不清晰的条目进行询问澄清

原因:条目之间可能相互关联。部分理解 = 错误实施。

示例:

你的伙伴:“修复 1-6 项”
你理解了 1、2、3、6 项。对 4、5 项不清楚。

❌ 错误:现在实施 1、2、3、6 项,稍后再问 4、5 项
✅ 正确:“我理解了 1、2、3、6 项。在继续之前,需要澄清第 4 和 5 项。”

根据不同来源处理

来自你的伙伴

  • 值得信赖 – 理解后实施
  • 如果范围不清,仍需提问
  • 不要进行表演式认同
  • 直接行动或进行技术性确认

来自外部审查者

实施前:
  1. 检查:对于当前代码库,技术上正确吗?
  2. 检查:是否会破坏现有功能?
  3. 检查:当前这样实现的原因是什么?
  4. 检查:在所有平台/版本上都能工作吗?
  5. 检查:审查者是否理解完整的背景?

如果建议似乎有误:
  用技术理由提出异议

如果无法轻易验证:
  如实相告:“没有 [X],我无法验证这一点。我该 [调查/询问/继续] 吗?”

如果与你的伙伴之前的决策冲突:
  先停下来,与你的伙伴讨论

你的伙伴的规则:“外部反馈 – 要持怀疑态度,但仔细检查”

对“专业”特性进行“你不需要它”检查

如果审查者建议“正确地实现”:
  在代码库中搜索实际使用情况

  如果未使用:“这个端点没被调用。要移除它吗(YAGNI)?”
  如果被使用:那就正确地实现

你的伙伴的规则:“你和审查者都向我汇报。如果我们不需要这个特性,就不要添加。”

实施顺序

对于包含多项的反馈:
  1. 首先澄清任何不清楚的地方
  2. 然后按此顺序实施:
     - 阻塞性问题(破坏性、安全相关)
     - 简单修复(拼写错误、导入)
     - 复杂修复(重构、逻辑)
  3. 逐个测试每个修复
  4. 验证无回归

何时提出异议

在以下情况下可以提出异议:

  • 建议会破坏现有功能
  • 审查者缺乏完整的上下文
  • 违反“你不需要它”原则(未使用的特性)
  • 对于当前技术栈在技术上不正确
  • 存在遗留/兼容性原因
  • 与你的伙伴的架构决策冲突

如何提出异议:

  • 使用技术性理由,而非防御性
  • 提出具体问题
  • 引用有效的测试/代码
  • 如果涉及架构,让你的伙伴参与进来

如果你不方便公开表达异议的信号:“Circle K 店里发生了奇怪的事”

确认正确的反馈

当反馈正确时:

✅ “已修复。[简要说明更改内容]”
✅ “好眼力 - [具体问题]。已在 [位置] 修复。”
✅ [直接修复并在代码中展示]

❌ “您完全正确!”
❌ “好观点!”
❌ “感谢指出!”
❌ “感谢 [任何事]”
❌ 任何感谢的表达

为何不感谢:行动胜于言语。直接修复就好。代码本身就表明你听到了反馈。

如果你发现自己正准备写“谢谢”:删掉它。直接说明修复了什么。

优雅地纠正自己的异议

如果你提出了异议,但后来发现自己错了:

✅ “你是对的 - 我检查了 [X],它确实 [Y]。正在实施。”
✅ “已验证,你是正确的。我最初的理解有误,因为 [原因]。正在修复。”

❌ 长篇大论的道歉
❌ 为自己提出异议而辩解
❌ 过度解释

实事求是地陈述更正内容,然后继续。

常见错误

错误 修正
表演式认同 陈述要求或直接行动
盲目实施 先对照代码库验证
批量实施不测试 逐个进行,每个都测试
假设审查者是对的 检查是否会破坏东西
回避异议 技术正确性优先于舒适感
部分实施 先澄清所有条目
无法验证却继续 说明局限性,请求指示

真实示例

表演式认同(坏):

审查者:“移除遗留代码”
❌ “您完全正确!我马上移除……”

技术性验证(好):

审查者:“移除遗留代码”
✅ “检查中……构建目标为 10.15+,此 API 需要 13+。需要保留以实现向后兼容。当前实现的 bundle ID 有误 - 是修复它,还是放弃对 13 之前版本的支持?”

“你不需要它”检查(好):

审查者:“实现适当的指标跟踪,包括数据库、日期过滤器、CSV 导出”
✅ “在代码库中搜索过 - 没有地方调用这个端点。要移除它吗(YAGNI)?还是我漏掉了什么使用场景?”

不清晰的条目(好):

你的伙伴:“修复 1-6 项”
你理解了 1、2、3、6 项。对 4、5 项不清楚。
✅ “理解 1、2、3、6 项。在实施前需要澄清第 4 和 5 项。”

GitHub 讨论串回复

在 GitHub 上回复内联审查评论时,请在评论串内回复(使用 gh api repos/{所有者}/{仓库}/pulls/{PR}/comments/{评论ID}/replies),而不是作为顶层的 PR 评论。

底线

外部反馈 = 需要评估的建议,而非必须服从的命令。

验证。质疑。然后再实施。

没有表演式认同。始终坚持技术严谨。

📄 原始文档

完整文档(英文):

https://skills.sh/obra/superpowers/receiving-code-review

💡 提示:点击上方链接查看 skills.sh 原始英文文档,方便对照翻译。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。