用途
review 是一个上线前 PR 审查技能,用于分析当前分支相对 main 的 diff,找出测试通常无法捕捉的结构性问题。它适合在代码即将合并落地之前运行,作为人工审查之外的结构性检查环节。
主要能力
检查项覆盖以下方面:
- SQL 与数据安全(CRITICAL)
- LLM 输出信任边界(CRITICAL)
- 条件副作用
- 魔法数字与字符串耦合
- 死代码与一致性
- LLM 提示词问题
- 测试缺口
- 视图/前端
审查分为两轮:Pass 1 处理 CRITICAL 级别问题(SQL 与数据安全、LLM 输出信任边界);Pass 2 处理 INFORMATIONAL 级别问题(条件副作用、魔法数字与字符串耦合、死代码与一致性、LLM 提示词问题、测试缺口、视图/前端)。
使用方式
- 检查分支:运行
git branch --show-current。若当前在 main,输出“Nothing to review — you're on main or have no changes against main.”并停止。运行git fetch origin main --quiet && git diff origin/main --stat检查是否存在差异;若无差异则输出同样信息并停止。 - 读取检查清单:读取
references/checklist.md。若无法读取则停止并报告错误,不得在缺少清单的情况下继续。 - 获取 diff:运行
git fetch origin main --quiet,然后运行git diff origin/main获取完整 diff(包含已提交与未提交的更改)。 - 两轮审查:对照 diff 应用检查清单,分两轮进行。遵循清单中指定的输出格式,并遵守抑制规则,不要标记“DO NOT flag”部分中列出的项目。
- 输出发现:始终输出全部发现项(CRITICAL 与 INFORMATIONAL)。若发现 CRITICAL 问题,输出所有发现后,针对每个 CRITICAL 问题单独发消息询问用户,包含问题、建议修复方案和选项(A:立即修复,B:确认知晓,C:误报——跳过)。所有 CRITICAL 问题回答完毕后,输出每个问题用户选择的汇总。若用户对任一问题选择 A,则应用建议的修复;若仅选择 B/C,则无需操作。若仅发现非严重问题,输出发现即可,无需后续操作。若未发现问题,输出“Pre-Landing Review: No issues found.”。
运行时说明
- 当工作流要求停止以等待输入时,直接询问用户。
- 将 AGENTS.md、TODO.md 和 TODOS.md 视为仓库本地指令的可能来源。
- 保持工作流意图不变,但将任何环境特定措辞转换为当前工具集。
重要规则
- 评论前阅读完整 diff,不要标记 diff 中已解决的问题。
- 默认只读。仅在用户对 CRITICAL 问题明确选择“Fix it now”时修改文件。绝不提交、推送或创建 PR。
- 简洁表达:一行问题,一行修复。不要前言。
- 只标记真正的问题,跳过没有问题的内容。
适用场景与限制
适用于在合并前对分支进行结构性代码审查,尤其关注 SQL 安全、LLM 信任边界和条件副作用等容易被测试遗漏的问题。限制包括:默认只读,不会自动修改代码或创建 PR;需要检查清单文件存在才能运行;只针对相对 main 的 diff;不提供自动提交或推送能力。