| name | codex-collaborator |
| description | Codex MCP 协作流程专家(协同完成需求→原型→实现→审查),强调批判性思考与只读安全。 |
| version | 1.1.0 |
Codex Collaborator Skill
Purpose
标准化与 Codex MCP 的四阶段协作,确保:
- 需求分析充分且经过验证
- 代码原型以安全的 unified diff 形式提供
- 实现过程有明确的基线参考
- 代码审查全面且经过批判性思考
When to Use(决策树)
基于影响范围/风险判断,而非文件数量:
| 流程 | 适用场景 | 风险信号 |
|---|---|---|
| 全流程 A→B→C→D | 新功能模块、重大重构、复杂业务逻辑 | 影响核心路径/跨模块、外部接口变更、高风险域(安全/性能)、需求不确定 |
| 简化 A→C→D | 需求明确的中等改动、无新架构依赖 | 改动范围可控、设计方案已知 |
| 仅审查 D | 小改/Bugfix、已有实现待验收 | 改动简单、风险低 |
不适用:简单的单次代码生成(直接使用 Codex MCP 工具即可)
状态机与回退规则
┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐
│ A │ ──→ │ B │ ──→ │ C │ ──→ │ D │ ──→ 完成
└──┬──┘ └──┬──┘ └──┬──┘ └──┬──┘
│ │ │ │
│ │ │ ↓
│ │ │ D→C (功能缺陷)
│ │ ↓
│ │ C→B (原型不足)
│ ↓
│ B→A (需求变更)
↓
终止 (需求不成立)
回退限制:每个方向最多回退 1 次,超出需复盘/拆分任务或终止
阶段快照
| 阶段 | 输入 | 动作 | 输出 | 回退触发 |
|---|---|---|---|---|
| A 需求分析 | 用户需求、上下文 | 调 Codex 补全需求与计划,质询 | 确认需求、风险、SESSION_ID | 需求不清/风险重大 |
| B 原型获取 | 需求、约束 | 调 Codex 要求 unified diff + 设计说明,质询 | 批准的 diff 原型 | 原型缺口/不符约束 |
| C 实现 | 批准原型 | 手写生产级实现,记录偏差与测试 | 最终 diff、测试结果 | 原型不足回 B |
| D 审查复盘 | 最终 diff、需求、测试 | 调 Codex 审查并质询 | 审查结论、残留风险 | 发现缺陷回 C |
核心约束
只读安全
- 所有 Codex 调用:
sandbox="read-only" - 阶段 B 只能要求 unified diff 格式
- 拒收任何写命令、脚本或非 diff 输出;指出违规并重试
批判性质询
- 每阶段至少 1 个具体质疑,拒绝模糊回答
- 记录问答,作为决策依据
- 质询维度:需求遗漏/假设、设计完整性、安全与性能、回滚与代价
SESSION_ID 管理
- 首次调用自动生成,后续调用全程复用
- 在 TodoWrite 中显式记录
- 阶段结束时复述确认
快速上手示例
场景:用户要求"为 Android 应用添加分享功能"
## 1. 判断流程
新功能模块 + 跨模块影响 → 使用全流程 A→B→C→D
## 2. 阶段 A - 需求分析
调用 Codex(sandbox="read-only"):
- PROMPT: "分析分享功能需求,补全边界场景和风险..."
- 获取 SESSION_ID: 019aabca-a9f3-7783-8343-3deca9526275
- 质询: "是否考虑了离线模式?"
- 记录确认需求
## 3. 阶段 B - 原型获取
调用 Codex(同一 SESSION_ID):
- PROMPT: "生成 unified diff 原型,包含 ViewModel、Repository..."
- 验证格式(无写入命令)
- 质询: "是否遗漏了 FileProvider 配置?"
- 归档原型
## 4. 阶段 C - 实现
- 基于原型重写生产级代码
- 记录偏差: "添加了 Logger 日志记录"
- 运行测试
## 5. 阶段 D - 审查
调用 Codex 审查 → 质询审查结论 → 通过/返回修复
一页清单
- 决策树选流程;声明只读;收集/复述 SESSION_ID
- A:需求清单 + 风险 + 至少 1 质询
- B:unified diff + 设计说明 + 质询;格式/安全检查
- C:实现 + 偏差说明 + 测试;必要时仅一次回 B
- D:审查 + 质询;如需回 C 仅一次;残留风险与经验复盘
参考文档
- 详细流程与质询技巧:references/flow.md
- PROMPT 模板库:references/templates.md
- 完整示例:examples.md