一键导入
patch-approval
Fork Overlay:Codex Patch Approval 咨询版。当 Codex 返回 patch 时,Claude 审批后才写入文件。使用时机:Codex 以 patch/diff 格式返回代码变更时,由 Claude 作为审批层。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Fork Overlay:Codex Patch Approval 咨询版。当 Codex 返回 patch 时,Claude 审批后才写入文件。使用时机:Codex 以 patch/diff 格式返回代码变更时,由 Claude 作为审批层。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Fork Overlay:Task Bundle 持久化 + Failure FSM 集成。在 ce:work 基础上增加 state.md 读写和状态机转换。使用时机:执行 ce:work 时,如果任务有对应的 Task Bundle(docs/tasks/<id>/),加载此 skill 以启用持久化和状态追踪。
Fork Overlay:Codex-first 外部执行器策略。按任务特征路由到 Claude 或 Codex,Codex-first(非品牌路由)。使用时机:需要决定是否将当前任务派发给 Codex 时加载此 skill。
Fork Overlay:经验分层沉淀升级阶梯。检测是否值得将 solution 升级为 pattern 或 skill。使用时机:ce:compound 完成后手动调用,分析 docs/solutions/ 中的重复模式。(不会自动触发,需主动加载此 skill)
Fork Overlay:外部模型调用前置检查门控。调用 Codex/Gemini 之前运行五项检查,防止调用失败浪费时间。使用时机:任何调用外部模型(Codex [C]、Gemini [G])之前自动运行。
Fork Overlay:ce:work 意图分类门控。在执行前识别任务意图(实现/修复/重构/探索),设定对应的执行策略。使用时机:ce:work Phase 0(环境扫描)之后、Phase 1(Quick Start)之前。
Fork Overlay:Review Contract 三档 Tier 分类 + Anti-Leniency 注入。在 ce:review 基础上增加 Blocking/Analytical/Advisory 分层和结论类型系统。使用时机:运行 ce:review 前阅读此协议以理解审查标准。
| name | patch-approval |
| description | Fork Overlay:Codex Patch Approval 咨询版。当 Codex 返回 patch 时,Claude 审批后才写入文件。使用时机:Codex 以 patch/diff 格式返回代码变更时,由 Claude 作为审批层。 |
Codex 评分:4/10(完整版不可行),咨询版可行。
场景:Codex 生成 patch → Claude 审批 → 用户确认 → 写入。 这比「直接接受 Codex 输出」多一层安全保障。
当满足以下条件时激活 Patch Approval:
注意:Codex CLI 不支持
--dry-run参数(已验证 v0.118+)。 唯一安全方案是在临时隔离副本中执行,再用git diff捕获 patch。
# 1. 在临时目录创建仓库副本(跨平台安全路径)
ISOLATED_DIR=$(mktemp -d)
git clone . "$ISOLATED_DIR" --local --quiet
# 2. 在隔离目录执行 Codex(真实写入,不影响工作区)
(cd "$ISOLATED_DIR" && codex "$TASK_PROMPT")
# 3. 用 git diff 捕获改动作为 patch
git -C "$ISOLATED_DIR" diff HEAD > "${TMPDIR:-/tmp}/codex-patch.diff"
# 4. 清理隔离目录
rm -rf "$ISOLATED_DIR"
运行 Step 0 的隔离方案,将 patch 输出到 ${TMPDIR:-/tmp}/codex-patch.diff。
Claude 读取 patch 内容,按以下维度评估:
## Patch 审批检查清单
**安全维度**(Blocking):
- [ ] 无 SQL 注入 / XSS / 命令注入
- [ ] 无硬编码密钥或敏感信息
- [ ] 无未授权的文件路径操作
**正确性维度**(Analytical):
- [ ] 改动符合原始任务意图
- [ ] 没有意外的副作用
- [ ] 变量名/函数签名合理
**范围维度**(Advisory):
- [ ] 改动范围在预期之内(没有多改)
- [ ] 没有删除不应删除的代码
| 决策 | 条件 | 行动 |
|---|---|---|
| 通过 | 所有 Blocking 检查通过 | 应用 patch |
| 修改后通过 | Analytical 有小问题 | Claude 修正 patch 后应用 |
| 拒绝 | Blocking 检查失败 | 拒绝 patch,回退到 Claude 执行 |
对于 gated_auto 类型的改动,展示 patch 摘要并询问确认:
📋 Codex Patch 摘要(已通过 Claude 审批):
修改 3 个文件:
+ app/models/user.rb (2 行新增)
~ app/controllers/users_controller.rb (5 行修改)
- app/views/users/index.html.erb (1 行删除)
审批结论:通过(无 Blocking 问题)
主要改动:[改动描述]
应用此 patch?(y/n/查看详情)
在 state.md 中记录审批结果(如有 Task Bundle):
patch_approval:
patch_source: "codex"
approved_at: "2026-04-08T10:00:00+08:00"
verdict: "pass" # pass / modified_pass / rejected
blocking_issues: []
modifications: [] # Claude 修正的内容
| 限制 | 说明 |
|---|---|
| 不支持自动应用(完整版) | 每次都需要用户确认(安全考虑) |
| 不支持复杂冲突解决 | Codex patch 有冲突时回退到 Claude 执行 |
| 隔离目录方案依赖 git clone | 工作区必须是 git 仓库,且本地 clone 可用 |
Codex-first Executor 路由到 Codex
↓
Codex 执行(dry-run 模式)
↓
Patch Approval(本 skill)
├─ 通过 → 应用 patch → 继续 ce:work
└─ 拒绝 → 记录原因 → 降级到 Claude 执行