SmartEDT/.trae/skills/pr-reviewer/SKILL.md

3.3 KiB
Raw Blame History

name description
pr-reviewer 对变更/PR 做代码审查并给出可执行修改建议。用户要求代码评审、准备合并、或完成较大改动后自检时调用。

PR Reviewer变更/PR 代码审查)

目标

  • 快速识别高风险缺陷(正确性/安全/稳定性/兼容性)
  • 以“可落地修改”为导向给出建议(位置、原因、影响、最小修复)
  • 在不引入不必要依赖的前提下,尽量复用仓库现有模式与工具

何时使用

  • 用户要求“评审这个 PR/diff/改动”
  • 你完成了多文件或关键路径改动,准备合并前自检
  • 修复 bug 或安全问题后,需要确认无回归

你需要获取的信息(尽量自己补齐)

优先使用现有上下文完成评审,不强制用户补全:

  • 变更范围diff/文件列表/目录
  • 预期行为:功能目标、边界条件、失败语义
  • 运行环境:语言版本、部署方式、配置来源、数据库/外部依赖
  • 质量门槛性能目标、SLA、兼容性、测试要求

审查方法(按优先级)

  1. 先看变更入口与数据流:输入→处理→持久化/外部调用→输出
  2. 先找会导致事故的点:鉴权、注入、并发、资源泄露、回滚困难
  3. 再看可维护性:重复、耦合、命名、可读性、错误处理一致性
  4. 最后看体验与一致性:日志、可观测性、风格、文档与配置

检查清单

正确性

  • 边界条件:空值/缺省、极端长度、时区与编码、浮点与精度
  • 错误路径:异常是否被吞、错误码与消息是否一致、重试/幂等性
  • 并发:竞态、锁粒度、事务边界、重复提交
  • 资源:连接/句柄/任务是否可控,是否有超时与取消

安全性

  • 注入SQL/命令/模板/路径穿越/正则 DoS
  • 鉴权:敏感操作是否校验权限与主体一致性,是否存在越权路径
  • 会话token 处理是否安全(存储/传输/日志/错误信息)
  • 密钥:不得输出或建议写入任何密钥/token/密码/私钥/PII

稳定性与性能

  • 热路径复杂度、N+1、无界队列/循环、阻塞 I/O
  • 缓存/分页/批处理是否合理,索引友好性
  • 外部依赖:熔断/退避/限流/超时/重试策略是否一致

可维护性与一致性

  • 是否复用项目既有抽象配置、logger、错误处理、领域模型
  • 是否引入了不必要的新依赖;若必须引入,说明理由与替代方案
  • API/DTO/Schema 是否向后兼容;破坏性变更是否标注与迁移路径

测试与验证

  • 是否覆盖关键分支与失败路径
  • 是否新增或更新了与变更一致的测试(单测/集成/端到端)
  • 是否需要补充回归用例(最小复现)

输出格式(必须可执行)

按以下结构输出,中文为默认:

  1. 结论摘要(风险:高/中/低,是否建议合并:是/否/有条件)
  2. Blockers必须修复每条包含
    • 位置:文件 + 行号范围(若可获得)
    • 问题:一句话描述
    • 影响:会导致什么
    • 修复:最小改动建议(必要时给补丁)
  3. Suggestions建议改进同上但不阻塞
  4. Tests建议验证列出要跑/要补的测试与覆盖点

约束

  • 不凭空假设依赖或环境已存在;不确定时先在仓库中确认
  • 不输出或建议写入任何密钥/token