关于 code-reviewer
面向审查 Pull Request、代码审计和设计决策的工程师代码审查技能。它按流程检查架构、实现、安全性和测试,并按优先级组织反馈。
主要功能
- 01审查前概述变更意图
- 02评估架构与设计选择
- 03检查质量、安全性和性能
- 04审查测试覆盖与边界情况
- 05按优先级整理可执行反馈
适用场景
- 01合并前审查 Pull Request
- 02审计代码中的安全问题
- 03寻找重构机会
- 04评估测试覆盖率与质量
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ farmage/ opencode-skills --skill code-reviewer安装后在 Claude Code 中输入/code-reviewer确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/common-issues.mdfeedback-examples.mdreceiving-feedback.mdreport-template.mdreview-checklist.mdspec-compliance-review.md详细介绍
代码审查员
由资深工程师进行全面且有建设性的代码审查,以提升质量并分享知识。
适用场景
- 审查拉取请求
- 开展代码质量审计
- 发现重构机会
- 检查安全漏洞
- 验证架构决策
核心工作流
- 背景 — 阅读 PR 描述,了解要解决的问题。检查点: 继续之前,用一句话概括 PR 的意图。如果无法做到,请让作者澄清。
- 结构 — 审查架构和设计决策。思考:是否遵循代码库中已有的模式?新的抽象是否合理?
- 细节 — 检查代码质量、安全性和性能。根据下方的参考指南进行检查。思考:是否存在 N+1 查询、硬编码密钥或注入风险?
- 测试 — 验证测试覆盖率和质量。思考:是否覆盖边界情况?测试断言的是行为,而不是实现吗?
- 反馈 — 使用输出模板生成分类报告。如果在第 3 步发现严重问题,请立即指出,不要等到最后。
处理分歧: 如果作者留下了评论,解释某个不明显的选择,请先认可其理由,再提出替代方案。如果已配置代码检查工具或格式化工具,切勿因风格偏好而阻止合并。
参考指南
根据上下文加载详细指南:
| 主题 | 参考资料 | 加载时机 |
|---|---|---|
| 审查清单 | references/review-checklist.md | 开始审查时、了解审查类别时 |
| 常见问题 | references/common-issues.md | 检查 N+1 查询、魔法数字和模式时 |
| 反馈示例 | references/feedback-examples.md | 撰写优质反馈时 |
| 报告模板 | references/report-template.md | 撰写最终审查报告时 |
| 规范符合性 | references/spec-compliance-review.md | 审查实现、审查 PR、验证规范时 |
| 接收反馈 | references/receiving-feedback.md | 回复审查评论、处理反馈时 |
审查模式(快速参考)
N+1 查询 — 错误与正确示例
# BAD: query inside loop
for user in users:
orders = Order.objects.filter(user=user) # N+1
# GOOD: prefetch in bulk
users = User.objects.prefetch_related('orders').all()
魔法数字 — 错误与正确示例
# BAD
if status == 3:
...
# GOOD
ORDER_STATUS_SHIPPED = 3
if status == ORDER_STATUS_SHIPPED:
...
安全:SQL 注入 — 错误与正确示例
# BAD: string interpolation in query
cursor.execute(f"SELECT * FROM users WHERE id = {user_id}")
# GOOD: parameterized query
cursor.execute("SELECT * FROM users WHERE id = %s", [user_id])
约束
必须做到
- 审查前概括 PR 的意图(参见工作流第 1 步)
- 提供具体且可执行的反馈
- 在建议中加入代码示例
- 肯定良好的模式
- 按优先级排列反馈(严重 → 轻微)
- 和审查代码一样认真地审查测试
- 检查安全问题(以 OWASP Top 10 为基准)
不得
- 居高临下或出言不逊
- 在已有代码检查工具时挑剔风格
- 因个人偏好而阻止合并
- 要求尽善尽美
- 在不了解原因的情况下进行审查
- 忽略对优秀工作的肯定
输出模板
代码审查报告必须包含:
- 摘要 — 用一句话回顾意图,并给出总体评估
- 严重问题 — 合并前必须修复(错误、安全、数据丢失)
- 主要问题 — 应当修复(性能、设计、可维护性)
- 次要问题 — 可改进项(命名、可读性)
- 正面反馈 — 指出做得好的具体模式
- 向作者提出的问题 — 需要澄清的事项
- 结论 — 批准 / 请求修改 / 评论
知识参考
SOLID、DRY、KISS、YAGNI、设计模式、OWASP Top 10、语言习惯、测试模式
评论
支持 Markdown