SuperAPI AI 工具集

grill-with-docs-codex

编程与开发

查看项目

更新于 10-16 03:32

技能介绍

用途

Grill-with-Docs-Codex 用于在动手实现之前,把一个尚不成熟的实现计划反复打磨到清晰、可执行、经得起推敲。它把过程拆成两幕:第一幕由 Claude 与用户对话,澄清意图并维护项目文档;第二幕由另一个模型 Codex 对锁定后的计划做对抗式评审。

第一幕:Grill with Docs(用户 ↔ Claude)

Claude 会就计划的每个方面持续追问,直到双方达成共识。它会沿着设计树的每个分支逐一下探,一次只问一个问题,等用户反馈后再继续;如果某个问题可以通过探索代码库回答,就直接去探索代码库。

在探索代码库时,它还会寻找已有文档。多数仓库只有一个上下文,根目录下有 CONTEXT.md 和 docs/adr/;如果根目录存在 CONTEXT-MAP.md,则说明仓库有多个上下文,地图会指向每个上下文所在位置。文件按需创建:没有 CONTEXT.md 时,在第一个术语被确定时创建;没有 docs/adr/ 时,在需要第一个 ADR 时创建。

会话过程中,Claude 会:

  • 对照术语表提出质疑:当用户使用的术语与 CONTEXT.md 中已有语言冲突时,立即指出。
  • 锐化模糊语言:当用户使用含糊或含义过载的术语时,提出精确的规范术语。
  • 讨论具体场景:用具体场景压力测试领域关系,迫使边界清晰。
  • 与代码交叉验证:当用户描述某事物如何工作时,检查代码是否一致,发现矛盾就提出来。
  • 内联更新 CONTEXT.md:术语一旦确定就立即更新,不批量处理。CONTEXT.md 只做术语表,不包含实现细节,不是规格说明或草稿本。
  • 谨慎提供 ADR:只有当变更难以逆转、没有上下文会令人惊讶、且是真实权衡的结果时,才建议创建 ADR。

当决策树解决、术语表/ADR 更新完毕、双方对齐后,把商定的计划写入 PLAN_FILE(默认 PLAN.md),然后进入第二幕。

第二幕:评审(Claude ↔ Codex)

把锁定的计划交给 Codex 做对抗式评审。前置条件包括:codex --version ≥ 0.130;Codex 已认证(codex login,ChatGPT 账号即可);不要固定 -m 参数。第一轮前会回显当前模型,供用户确认。

可调参数:MAX_ROUNDS 默认 5,是硬性上限,循环总会在此终止;PLAN_FILE 默认 PLAN.md;LOG_FILE 默认 PLAN-REVIEW-LOG.md,是只追加的论证记录。

每轮评审提示要求 Codex 以怀疑、具体的态度找出计划中的具体缺陷,例如安全漏洞、竞态条件、缺失的边界情况、模式冲突、领域语言不匹配、错误假设、可观测性缺口、更简单的替代方案,并为每个问题给出一行修复建议,且不得修改任何文件,最后必须以一行 VERDICT: APPROVED 或 VERDICT: REVISE 结束。

第一轮使用全新会话并捕获 thread_id;后续轮次恢复同一会话。恢复时 resume 不接受 -s,必须通过 -c sandbox_mode="read-only" 强制只读,否则 Codex 可能继承配置并写入文件。所有 codex exec 调用都需要 < /dev/null 重定向,否则在非交互式驱动下会因等待 stdin EOF 而静默挂起。每轮都应有 10 分钟超时保护,超时视为失败运行,停止并告知用户,而不是盲目重试。

每轮读取裁决文件,把 Codex 的批评追加到 LOG_FILE。若最后一行为 APPROVED,则进入 Resolution(已收敛);若为 REVISE,由 Claude 作为最终裁决者决定哪些值得采纳,修订 PLAN_FILE,追加 Claude 的回应,并递增轮次。轮次超过 MAX_ROUNDS 则进入 Resolution(僵局)。

收尾

获批时,呈现最终计划、两幕改进的三条要点摘要和轮次计数,并询问:现在实现——由 Codex 构建(/codex-build)、由 Claude 构建,还是停止。两幕期间都不写代码。若达到上限仍未获批,则列出未解决点与 Claude 的反方立场,交给用户,不伪造收敛。

可选的第三幕:用户选择 Codex 时,调用 codex-build 技能,SPEC_FILE=PLAN_FILE,使用同一 LOG_FILE。角色互换:Codex 以完全访问权限编写,Claude 评审差异并运行验证;构建轮次追加到同一日志。

硬性规则

第一幕先于第二幕。CONTEXT.md 只做术语表,不含实现细节。Codex 每一轮都只读(首轮 -s read-only,恢复时 -c sandbox_mode="read-only")。循环总在 MAX_ROUNDS 终止。Claude 对 REVISE 是最终裁决者,拒绝需记录理由。只有签核后才写代码。LOG_FILE 是交付物。

不应做的事

不要评审已经写好的代码(/codex:review)。不要在 ChatGPT 认证下固定 -codex 变体。不要让 Codex 编辑文件。不要跳过第一幕。