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

87 lines
3.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
name: "pr-reviewer"
description: "对变更/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