用途
codex-review 用于通过 OpenAI Codex CLI(codex review)运行一次独立的代码审查。它的价值在于提供来自不同模型家族的第二意见——与编写代码的模型不同,Codex 能发现 Claude 因作者偏见而遗漏的问题。
该技能与 brains-trust(通用的多模型意见工具)互补,但更加专门化:它具备 git 感知能力,使用经过调优的审查提示词,并保存结构化输出。
何时使用
- 在有意义的改动之后,提交或发布之前
- 打开 PR 之前,用独立审查者进行自审
- 当感觉某处有问题但无法说清是什么时
- 对活跃开发中的项目进行周期性的全应用审查
- 当用户明确要求“独立”或“第二意见”审查时
不适用场景
- 琐碎改动(拼写错误、单行修复)
- 研究性问题或架构讨论——应改用 brains-trust
- 自动修复问题——本技能仅提供建议
预检
确认 Codex CLI 已安装:
which codex
如果缺失:告知用户安装它(macOS 上使用 brew install codex,或参见 https://github.com/openai/codex)并停止,不要继续。
确认认证:如果未登录,第一次 codex review 调用会明确失败。若发生这种情况,指示用户运行 codex login 并停止。
确定审查范围
根据用户的要求选择范围标志:
| 用户意图 | 标志 |
|---|---|
| “codex review” / “review the app” / “full review” / 默认 | 无标志(审查当前 HEAD 的整个应用) |
| “review my changes” / “review what I just did” / “review uncommitted” | --uncommitted |
| “review this branch vs main” / “review the PR” | --base main(或用户指定的分支) |
| “review commit abc123” | --commit abc123 |
默认是整应用审查。一个不带限定词的“codex review”意味着审查 HEAD 处的整个代码库——而不仅仅是未提交的改动。只有当用户明确指代其近期/未提交的工作时才使用 --uncommitted。
如果有歧义,询问一次。不要在提交或分支上猜测。
运行审查
规范的审查提示词位于本技能旁边的 prompt.md 中。通过 stdin 管道传入以避免 shell 转义问题:
mkdir -p .jez/reviews
TS=$(date +%Y-%m-%d-%H%M)
OUT=".jez/reviews/codex-${TS}.md"
SKILL_DIR="$(dirname "$0")" # 或使用技能的绝对路径
# 示例:未提交的改动
cat "${SKILL_DIR}/prompt.md" | codex review --uncommitted - 2>&1 | tee "$OUT"
其他范围:
# 对比基础分支
cat prompt.md | codex review --base main - 2>&1 | tee "$OUT"
# 指定提交
cat prompt.md | codex review --commit abc123 - 2>&1 | tee "$OUT"
# 当前 HEAD(无范围标志)
cat prompt.md | codex review - 2>&1 | tee "$OUT"
在大型 diff 上,codex review 可能需要几分钟。让它运行。
向用户汇总
Codex 完成后:
- 打印输出路径:
Report saved to .jez/reviews/codex-<timestamp>.md - 读取保存的报告,提取最重要的发现(Critical 和 High 下的任何内容)
- 在聊天中内联展示它们,保留 file:line 引用
- 主动提出处理具体发现:“Want me to fix the SQL injection in auth.ts:42?”
规则
- 仅提供建议。绝不自动应用 Codex 的建议。阅读发现,与用户讨论,经其批准后再修复。
- 不要把 Claude 的推理泄漏到提示词中。prompt.md 文件刻意保持中立——Codex 审查的是代码,而不是 Claude 关于代码的叙述。独立性正是关键所在。
- 保存到 .jez/reviews/,绝不保存到 .claude/(受保护目录)。
- 每次运行一份报告。不要覆盖——时间戳使每次运行唯一,以便用户比较。
- 如实报告 Codex 实际发现的内容。不要软化、编辑或跳过你不同意的发现。如果你认为 Codex 在某点上错了,在展示 Codex 所说内容之后,作为你自己的观点说出来。
验证
如果满足以下条件,说明该技能工作正常:
- 预检正确检测到缺失的 codex 二进制文件
- 根据用户意图选择了正确的范围标志
- 报告文件出现在 .jez/reviews/ 中,且时间戳合理
- 文件包含按严重程度排序的发现,并带有 file:line 引用
- Claude 展示最重要的发现,而不自动修复它们