用途
Issue-Driven Workflow 用于把复杂任务拆解为结构化计划与可追踪的 Issue CSV,然后由智能体自主执行。它适合任务包含多个步骤、需要先做研究再动手的场景。
核心理念
计划与 Issue CSV 是工作放大器。前置思考,让智能体拥有满满一桌可执行的工作,从而自主推进——行数越多,单次运行产出的有用工作越多。
- 规划(交互式):搜索网络、阅读文档、提问、收集上下文。计划越周全,智能体无需停顿即可完成的工作越多。
- 执行(自主式):主动而非被动。端到端地推进 CSV。最大化单次运行的有用工作——常规决策不必等待许可。
质量标准:每一行 CSV 都应可完成、可测试,并且无需进一步澄清即可标记为 DONE。
端到端循环
plan → issues → implement → test → review
规划(交互式)
- 重述任务与假设。
- 收集上下文——搜索网络、阅读项目文件、检查依赖。让每个计划部分都具体可落地,而非空泛愿景。
- 如有不清楚之处,最多提 2 个澄清问题,然后按已陈述的假设继续。
- 在聊天中使用 assets/_template.md 起草计划。选择复杂度(simple|medium|complex)。
- 询问:“Reply CONFIRM to write the plan file.”
- 确认后运行:
python3 .codex/skills/issue-driven-workflow/scripts/create_plan.py \
--task "<title>" --complexity <simple|medium|complex>
规划期间不要编辑代码。
创建 CSV(交互式)
在计划获批后生成。
- 把计划拆成细粒度、可独立执行的行。
- 填写所有必填列——参见 references/issue-csv-spec.md。
- 按依赖链排序。设置 Dependencies,使执行顺序明确无歧义。
- 校验:
python3 .codex/skills/issue-driven-workflow/scripts/validate_issues_csv.py <issues.csv>
执行 CSV(自主式)
CSV 就是执行状态。读取它以了解当前进度,边工作边更新,持续向前推进。
- 读取 CSV。按依赖顺序找到下一个 TODO 行。
- 设置 Dev_Status = DOING。开始工作。
- 完成该行——搜索、阅读、编写、测试,无论需要什么。
- 当 Acceptance 满足且 Test_Method 通过时,设置 Dev_Status = DONE。
- 自审。标记 Review1_Status = DONE。
- 立即进入下一行。再次读取 CSV,挑选下一个 TODO,继续推进。
- 所有行 DONE 后,做回归检查。逐行标记 Regression_Status = DONE。
- 完成各行时简要报告进度。
仅在遇到真正阻塞、影响正确性、安全性或不可逆操作的未知情况时才停下。
如果某行太大,就拆分它。如果某行失败,就修复它或标记出来。如果在 git 仓库中,在自然边界处提交。直接编辑 CSV——编辑后重新校验。
脚本
| 脚本 | 用途 |
|---|---|
| create_plan.py | 在 plan/ 下创建带 YAML frontmatter 的计划文件 |
| list_plans.py | 列出已有计划(支持 --query、--json) |
| validate_issues_csv.py | 校验 Issue CSV 的 schema 与状态值 |
先运行 --help。脚本位于本技能相对的 scripts/ 目录下。
命名
计划:plan/YYYY-MM-DD_HH-mm-ss-<slug>.md —— Issue CSV:issues/YYYY-MM-DD_HH-mm-ss-<slug>.csv —— 使用相同的时间戳与 slug。
参考资料
- Issue CSV 规范——创建或校验 CSV 时阅读
- 测试策略——填写 Test_Method 时阅读
- 计划模板——含复杂度分层的结构
- CSV 模板——示例行及计划到 CSV 的映射
适用场景与限制
适用于多步骤、需要先研究再执行的任务。规划阶段为交互式,执行阶段为自主式。具体支持的平台、收费方式、价格等信息暂未提供。