| name | code-review |
| description | 按 ATP 项目约定对一组改动做 code review(命名 / 分层 / 装饰器顺序 / 响应格式 / from __future__ / token 经济性 / 安全),输出按文件聚合 + 必修 / 建议 / 可忽略三档分级的报告。 |
项目级 Code Review
何时激活
用户说要"review / 评审 / 审一下 / 检查一下"代码、PR、commit、改动;或者你刚做完一组改动想自检。
典型触发词:「review 一下我的改动」「帮我审一下这个 PR」「检查这段代码有没有问题」。
必要输入
确认(缺哪个问哪个):
- 评审范围:未提交工作区改动(
git diff / git diff --staged)/ 某个 commit / 某个分支 vs main / 用户指定的文件列表
- 是否需要给修改建议(默认是,输出修改后片段)
评审清单(按层依次扫描)
通用(所有 Python 文件)
路由层(app/routes/)
模型层(app/models/)
Schema 层(app/schemas/)
Agent 层(app/agents/business/)
Workflow 层(app/agents/workflows/)
前端(client/src/)
Token 经济性(项目 README 列为硬规则)
安全 / 数据
输出格式
按此结构产出报告(Markdown):
## Code Review
### 总览
- 范围:<git diff / 文件列表>
- 改动:N 个文件 / +X / -Y 行
- 结论:✅ 可合并 / ⚠ 需修改 / ❌ 必须修改
### 必修(阻断合并)
1. **<file>:<line>** — <一句话问题>
<代码片段>
建议:<修改后片段>
### 建议(合入后跟进)
1. ...
### 可忽略(仅记录)
1. ...
### 漏检风险
- <如果某些改动需要数据库 migration / 文档同步 / 前后端联动校验,但 PR 没带,列在这里>
实现步骤
- 用
git diff / git diff --staged / git diff <base>...HEAD 拿到改动(按用户指定范围)。
- 解析每个文件归属(route / model / agent / view / ...),按对应清单逐项核对。
- 命中清单的问题归档到「必修」;风格 / 可读性问题归「建议」;个人偏好(如换 list comprehension)归「可忽略」。
- 输出报告,不要主动改代码,除非用户在原始指令里说"顺手帮我改了"。
- 如果改动跨多文件且有"漏检风险"(例如改了 model 但没改 README 的数据库表清单 / 加了路由但没注册到
flask_app.py),单独列在「漏检风险」段,不要混进必修。
验证
- 报告里每条问题都有 file:line(如不可定位则注明"全文件级")。
- 必修条目都有"建议修改片段",可直接 patch 应用。
- 总条目数应稳定收敛 —— 不要重复报告同一类问题,归为一条 + 标注"出现 N 处"。
反模式
- 给鸡蛋里挑骨头的 nitpick 当必修(如"建议变量名换成 xxx")—— 必修限于硬约束 + 安全 + 正确性。
- 不给修改建议、只指出问题 —— 项目内的 review 必须可执行。
- 跨范围 review(用户只让看 A 文件,你顺手把 B 也审了)—— 严格按范围。