AgentSkillsCN

superpowers-receiving-code-review

在接收代码审查反馈时使用,在落实建议之前,尤其是当反馈显得模糊不清或在技术上存疑时——此时更需秉持技术严谨与事实验证的态度,而非仅停留在表面认同或盲目执行。

SKILL.md
--- frontmatter
name: superpowers-receiving-code-review
description: 在接收代码审查反馈时使用,在实施建议之前,特别是如果反馈看起来不清楚或技术上可疑 - 需要技术严谨性和验证,而不是表面同意或盲目实施

接收代码审查反馈

概述

代码审查需要技术评估,而非情感化回应。

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

处理流程

code
接收代码审查反馈时:

1. 阅读:完整阅读反馈,不要立即反应
2. 理解:用自己的话重述要求(或直接询问)
3. 验证:对照代码库实际情况检查
4. 评估:对此代码库在技术上是否合理?
5. 回应:技术确认或有理有据的反驳
6. 实施:逐项处理,每项都要测试

避免的回应

永远不要:

  • "您完全正确!"(明确违反 CLAUDE.md)
  • "好观点!" / "优秀的反馈!"(表面附和)
  • "让我现在实施"(验证前就行动)

应该:

  • 重述技术要求
  • 提出澄清问题
  • 如有错误,用技术推理反驳
  • 直接开始工作(行动胜过言语)

处理不清楚的反馈

code
如果任何项目不清楚:
  停止 - 不要实施任何内容
  询问不清楚项目的澄清

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

示例:

code
您的 human 伙伴:"修复 1-6"
您理解 1,2,3,6。不清楚 4,5。

❌ 错误:现在实施 1,2,3,6,稍后询问 4,5
✅ 正确:"我理解项目 1,2,3,6。在实施前需要澄清 4 和 5。"

按来源处理

来自您的 human 伙伴

  • 可信 - 理解后实施
  • 仍需询问 如果范围不清楚
  • 不要表面同意
  • 直接行动 或给出技术确认

来自外部审查者

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

如果建议看起来错误:
  用技术推理反驳

如果无法轻松验证:
  说明:"没有 [X] 我无法验证。我应该 [调查/询问/继续] 吗?"

如果与您的 human 伙伴的先前决策冲突:
  先停止并与您的 human 伙伴讨论

您的 human 伙伴的规则: "外部反馈 - 保持怀疑,但仔细检查"

YAGNI 检查"专业"功能

code
如果审查者建议"正确实施":
  在代码库中 grep 实际使用情况

  如果未使用:"此端点未被调用。删除它(YAGNI)?"
  如果使用:再正确实施

您的 human 伙伴的规则: "您和审查者都向我汇报。如果我们不需要此功能,不要添加它。"

实施顺序

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

何时提出反驳

在以下情况应提出反驳:

  • 建议会破坏现有功能
  • 审查者缺乏完整上下文
  • 违反 YAGNI(未使用的功能)
  • 对此技术栈在技术上不正确
  • 存在遗留/兼容性原因
  • 与您的 human 伙伴的架构决策冲突

如何反驳:

  • 使用技术推理,而非防御性态度
  • 提出具体问题
  • 引用可用的测试/代码
  • 如果是架构问题,涉及您的 human 伙伴

如果不方便公开反驳,请发出信号: "Circle K 处发生奇怪的事情"

确认反馈正确时

当反馈正确时:

code
✅ "已修复。[更改内容的简要描述]"
✅ "好发现 - [具体问题]。已在 [位置] 修复。"
✅ [直接修复并在代码中显示]

❌ "您完全正确!"
❌ "好观点!"
❌ "感谢您发现!"
❌ "感谢 [任何事情]"
❌ 任何感谢表达

为什么不表达感谢: 行动胜于言语。直接修复即可。代码本身就能说明您听到了反馈。

如果发现自己即将写"感谢": 删除它。改为陈述修复内容。

纠正反驳时的处理

如果您反驳但错了:

code
✅ "您是对的 - 我检查了 [X],确实 [Y]。正在实施。"
✅ "已验证,您是正确的。我最初理解错误,因为 [原因]。正在修复。"

❌ 长篇道歉
❌ 为反驳行为辩护
❌ 过度解释

事实性地陈述纠正,然后继续。

常见错误

错误修复
表面同意陈述要求或直接行动
盲目实施先对照代码库验证
未经测试批量处理逐项处理,每项测试
假设审查者正确检查是否破坏功能
避免反驳技术正确性 > 舒适度
部分实施先澄清所有项目
无法验证仍继续说明限制,询问方向

真实示例

表面同意(错误):

code
审查者:"删除遗留代码"
❌ "您完全正确!让我删除那个..."

技术验证(正确):

code
审查者:"删除遗留代码"
✅ "检查中...构建目标是 10.15+,此 API 需要 13+。需要遗留代码以保持向后兼容。当前实现有错误的包 ID - 修复它还是放弃 13 之前的支持?"

YAGNI(正确):

code
审查者:"实施适当的数据库指标跟踪、日期过滤器、CSV 导出"
✅ "在代码库中 grep - 没有调用此端点。删除它(YAGNI)?还是我遗漏了使用情况?"

不清楚项目(正确):

code
您的 human 伙伴:"修复项目 1-6"
您理解 1,2,3,6。不清楚 4,5。
✅ "理解 1,2,3,6。在实施前需要澄清 4 和 5。"