| name | cross-review |
| description | "写的不审,审的不写"多模型代码审查工作流。 Claude 写代码,Codex 审代码,循环修复直到无新问题,再提交。 在完成代码实现后触发此技能。
|
Cross-Review 工作流
原则
- 写的不审:Claude 专注写代码,不自我审查边界条件
- 审的不写:Codex 专注找问题,不改代码
- 循环直到干净:有问题就修,修完再审,直到 Codex 无新问题
触发时机
完成功能开发、Bug 修复或重构后,在 git commit 之前运行此工作流。
流程
步骤 1:确认工作范围
检查未提交的改动:git diff --stat
列出变更文件清单,确认审查范围
步骤 2:调用 Codex 审查
优先方式 - MCP 工具调用(如果 Codex MCP 服务器已加载):
- 使用
codex MCP 工具,传入变更文件列表,请求代码审查
- 重点关注:边界条件、逻辑漏洞、类型安全、空值处理、并发问题
备用方式 - CLI 调用(如果 MCP 不可用):
git diff HEAD | codex "你是严格的代码审查员,分析以下代码变更。用中文输出问题列表,每个问题说明:文件路径:行号、问题类型(逻辑/类型/并发/资源)、具体描述、风险、修复建议。没有问题则输出 NO_ISSUES。"
步骤 3:解析问题列表
将 Codex 输出结构化为问题列表:
问题 #1:[类型] [文件:行号]
描述:...
修复方案:...
问题 #2:...
如果 无问题 → 跳到步骤 6
步骤 4:Claude 逐项修复
按问题列表逐一修复:
- 优先处理:逻辑漏洞 > 类型安全 > 边界条件 > 代码质量
- 每次修复后更新进度:
✅ 已修复 #N 或 ⏭️ 跳过 #N(说明原因)
- 不过度修复:只改 Codex 指出的问题,不顺手重构无关代码
步骤 5:再次调用 Codex 审查
重复步骤 2-3,检查:
如果 有新问题 → 回到步骤 4
如果 无新问题 → 继续步骤 6
步骤 6:验证
全部通过后进入步骤 7。如果验证失败 → 修复后回到步骤 2。
步骤 7:提交
git add <相关文件>
git commit -m "$(cat <<'EOF'
<commit message>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
EOF
)"
审查重点清单
Codex 审查时应特别关注以下维度:
| 维度 | 检查项 |
|---|
| 边界条件 | 空数组/空字符串、零值、极大/极小值、索引越界 |
| 逻辑漏洞 | 条件判断遗漏、逻辑短路错误、状态机缺失状态 |
| 类型安全 | nil/null 解引用、类型断言失败、接口不匹配 |
| 并发安全 | 数据竞争、死锁、未加锁的共享状态 |
| 错误处理 | 忽略 error 返回值、错误信息丢失、panic 未恢复 |
| 资源管理 | 文件/连接未关闭、内存泄漏、defer 使用错误 |
输出格式
工作流结束时汇报:
## Cross-Review 完成报告
**审查轮次**:N 轮
**发现问题**:N 个
**已修复**:N 个
**跳过**:N 个(含原因)
**验证结果**:✅ 全部通过 / ❌ 部分失败
已提交:<commit hash> <commit message>