taskmaster
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseTaskmaster — v5 Task Protocol
Taskmaster — v5 任务协议
Purpose
设计目的
Taskmaster is the default execution protocol for multi-step Codex work. v5
keeps the existing Debug-First core while expanding the skill into three task
shapes:
- Single Task — one deliverable, one shared context
- Epic Task — multiple child tasks with dependencies
- Batch Task — homogeneous row-level work executed through
spawn_agents_on_csv
Taskmaster是多步骤Codex工作的默认执行协议。v5保留了现有调试优先的核心能力,同时将支持的任务形态扩展为三类:
- 单任务:一个交付物,一个共享上下文
- 史诗任务:带依赖关系的多个子任务
- 批量任务:通过执行的同构行级工作
spawn_agents_on_csv
Core Principles
核心原则
- The current truth artifact on disk wins over memory.
- No step, subtask, or batch row becomes without explicit validation.
DONE - Keep verbose reasoning in ,
PROGRESS.md, or batch output files, not in the chat.EPIC.md - Keep failures visible. Do not silently downgrade to manual or serial execution.
- Keep planning CSVs and batch worker CSVs separate.
- Build for Codex-only recovery: a cold restart must be resumable from files alone.
- 磁盘上的当前真值工件优先级高于内存。
- 任何步骤、子任务或批量行没有经过明确校验都不能标记为。
DONE - 详细推理过程记录在、
PROGRESS.md或批量输出文件中,不要放在对话里。EPIC.md - 故障要公开可见,不要静默降级为手动或串行执行。
- 规划CSV和批量工作CSV要分开存储。
- 支持纯Codex恢复:冷重启必须仅通过文件就能恢复执行。
Shape Router
形态路由
| Shape | Use when | Truth artifacts | Example |
|---|---|---|---|
| Single Task | One deliverable with shared context | | Fix one OAuth redirect bug |
| Epic Task | Multiple deliverables, modules, or dependency chains | | Ship billing dashboard across API, UI, docs |
| Batch Task | Same instruction template across independent rows | | Audit 80 Markdown files for frontmatter |
| 形态 | 适用场景 | 真值工件 | 示例 |
|---|---|---|---|
| 单任务 | 一个交付物,共享上下文 | | 修复一个OAuth重定向bug |
| 史诗任务 | 多个交付物、模块或依赖链 | | 跨API、UI、文档上线计费仪表盘 |
| 批量任务 | 独立行使用相同的指令模板 | | 审计80个Markdown文件的前言元数据 |
Router Rules
路由规则
- Start with Single Task when the user wants one deliverable and progress can stay in one shared context.
- Promote to Epic Task when one starts carrying phases, subprojects, or independent deliverables.
TODO.csv - Use Batch Task only when rows are independent, share one instruction template, and success can be expressed in structured output fields.
- An Epic Task can contain ,
single-compact, orsingle-fullchild tasks.batch - A Batch Task must not be used for heterogeneous roles, cross-row dependencies, or shared write scopes.
- 当用户只需要一个交付物,进度可以在一个共享上下文中维护时,优先使用单任务。
- 当一个开始包含阶段、子项目或独立交付物时,升级为史诗任务。
TODO.csv - 仅当行之间相互独立、共享同一个指令模板、执行结果可以用结构化输出字段表达时,才使用批量任务。
- 史诗任务可以包含、
single-compact或single-full类型的子任务。batch - 批量任务不能用于异构角色、跨行依赖或共享写入范围的场景。
Single Task
单任务
Single Task preserves backward compatibility with the old LITE/FULL behavior by
supporting two execution profiles.
单任务支持两种执行配置,保留了与旧版LITE/FULL行为的向后兼容性。
Compact Single
精简单任务
Use Compact Single when the task is short, linear, and does not need recovery
logs or cached research artifacts.
- Files: project-root only
TODO.csv - Template: compact_todo_template.csv
- Status set:
TODO | IN_PROGRESS | DONE - Best for: short documentation edits, tiny cleanup passes, quick rename tasks
Compact Single example:
csv
id,task,status,completed_at,notes
1,Locate root cause,IN_PROGRESS,,
2,Implement fix,TODO,,
3,Run verification,TODO,,当任务简短、线性,不需要恢复日志或缓存调研工件时使用精简单任务。
- 文件:仅项目根目录的
TODO.csv - 模板:compact_todo_template.csv
- 状态集:
TODO | IN_PROGRESS | DONE - 适用场景:简短文档编辑、小型清理工作、快速重命名任务
精简单任务示例:
csv
id,task,status,completed_at,notes
1,Locate root cause,IN_PROGRESS,,
2,Implement fix,TODO,,
3,Run verification,TODO,,Full Single
完整单任务
Use Full Single for all code changes, long-running tasks, or any work that must
survive a context reset. This is the default single-task path.
- Files: ,
.codex-tasks/<task-name>/SPEC.md,TODO.csv,PROGRESS.mdraw/ - Templates:
- SPEC_TEMPLATE.md
- PROGRESS_TEMPLATE.md
- todo_template.csv
- perf_todo_template.csv
- Status set:
TODO | IN_PROGRESS | DONE | FAILED - Best for: code implementation, bug fixes, refactors, multi-hour work
Full Single directory example:
text
.codex-tasks/20260313-auth-fix/
├── SPEC.md
├── TODO.csv
├── PROGRESS.md
└── raw/所有代码变更、长时运行任务或任何需要在上下文重置后仍可恢复的工作都使用完整单任务,这是单任务的默认路径。
- 文件:、
.codex-tasks/<task-name>/SPEC.md、TODO.csv、PROGRESS.mdraw/ - 模板:
- SPEC_TEMPLATE.md
- PROGRESS_TEMPLATE.md
- todo_template.csv
- perf_todo_template.csv
- 状态集:
TODO | IN_PROGRESS | DONE | FAILED - 适用场景:代码实现、bug修复、重构、数小时级别的长时工作
完整单任务目录示例:
text
.codex-tasks/20260313-auth-fix/
├── SPEC.md
├── TODO.csv
├── PROGRESS.md
└── raw/Single Task Rules
单任务规则
- Re-read the active before every new step.
TODO.csv - Keep leaf-level only. Do not store phases, child projects, or batch rows there.
TODO.csv - Use only when validation cannot be automated, and record why.
echo SKIP - If retries hit 5, change strategy explicitly or promote the task shape.
- 每执行新步骤前都要重新读取当前的。
TODO.csv - 仅存储叶子节点任务,不要存储阶段、子项目或批量行。
TODO.csv - 仅当校验无法自动化时使用,并记录原因。
echo SKIP - 如果重试次数达到5次,明确调整策略或升级任务形态。
Epic Task
史诗任务
Epic Task is the parent coordination shape for large work that spans multiple
deliverables or dependency chains.
- Files:
.codex-tasks/<epic-name>/EPIC.md.codex-tasks/<epic-name>/SUBTASKS.csv.codex-tasks/<epic-name>/PROGRESS.md.codex-tasks/<epic-name>/tasks/<child-task>/...
- Templates:
- EPIC_TEMPLATE.md
- subtasks_template.csv
- Status set:
TODO | IN_PROGRESS | DONE | FAILED - Best for: multi-module features, staged refactors, long projects with clear child deliverables
Epic directory example:
text
.codex-tasks/20260313-billing-epic/
├── EPIC.md
├── SUBTASKS.csv
├── PROGRESS.md
└── tasks/
├── 20260313-api/
├── 20260313-frontend/
└── 20260313-docs/Epic workflow:
- Define the global goal and delivery boundary in .
EPIC.md - Register child tasks in with
SUBTASKS.csv, dependencies, andtask_type.task_dir- : use
depends_onto list multiple dependency IDs (e.g.,;). Empty means no dependency.1;2
- Execute each child task with its own Single or Batch protocol.
- Bubble child validation back to and parent
SUBTASKS.csv.PROGRESS.md - Close the Epic only when all child rows are and the final validation passes.
DONE
Use Epic instead of a single when one task file starts reading like
project management instead of execution.
TODO.csv史诗任务是跨越多个交付物或依赖链的大型工作的父级协调形态。
- 文件:
.codex-tasks/<epic-name>/EPIC.md.codex-tasks/<epic-name>/SUBTASKS.csv.codex-tasks/<epic-name>/PROGRESS.md.codex-tasks/<epic-name>/tasks/<child-task>/...
- 模板:
- EPIC_TEMPLATE.md
- subtasks_template.csv
- 状态集:
TODO | IN_PROGRESS | DONE | FAILED - 适用场景:多模块功能、分阶段重构、有明确子交付物的长期项目
史诗目录示例:
text
.codex-tasks/20260313-billing-epic/
├── EPIC.md
├── SUBTASKS.csv
├── PROGRESS.md
└── tasks/
├── 20260313-api/
├── 20260313-frontend/
└── 20260313-docs/史诗工作流:
- 在中定义全局目标和交付边界。
EPIC.md - 在中注册子任务,包含
SUBTASKS.csv、依赖关系和task_type。task_dir- :使用
depends_on列出多个依赖ID(例如;),为空表示无依赖。1;2
- 每个子任务使用各自的单任务或批量协议执行。
- 子任务的校验结果同步回和父级
SUBTASKS.csv。PROGRESS.md - 仅当所有子任务行都标记为且最终校验通过时,关闭史诗任务。
DONE
当单个的内容更偏向项目管理而非执行记录时,使用史诗任务替代单任务。
TODO.csvBatch Task
批量任务
Batch Task is for homogeneous row-level work that should be executed through
. It can be a standalone task or a child inside an Epic.
spawn_agents_on_csv- Files:
.codex-tasks/<task-name>/SPEC.md- for 3-5 high-level steps
.codex-tasks/<task-name>/TODO.csv .codex-tasks/<task-name>/PROGRESS.md.codex-tasks/<task-name>/batch/BATCH.md.codex-tasks/<task-name>/batch/workers-input.csv.codex-tasks/<task-name>/batch/workers-output.csv.codex-tasks/<task-name>/raw/
- Templates:
- BATCH_TEMPLATE.md
- workers_input_template.csv
- workers_output_template.csv
- Best for: bulk file audits, bulk metadata updates, structured per-row analysis
Batch directory example:
text
.codex-tasks/20260313-doc-audit/
├── SPEC.md
├── TODO.csv
├── PROGRESS.md
├── batch/
│ ├── BATCH.md
│ ├── workers-input.csv
│ └── workers-output.csv
└── raw/批量任务适用于需要通过执行的同构行级工作,可以是独立任务,也可以是史诗任务的子任务。
spawn_agents_on_csv- 文件:
.codex-tasks/<task-name>/SPEC.md- 存储3-5个高层步骤
.codex-tasks/<task-name>/TODO.csv .codex-tasks/<task-name>/PROGRESS.md.codex-tasks/<task-name>/batch/BATCH.md.codex-tasks/<task-name>/batch/workers-input.csv.codex-tasks/<task-name>/batch/workers-output.csv.codex-tasks/<task-name>/raw/
- 模板:
- BATCH_TEMPLATE.md
- workers_input_template.csv
- workers_output_template.csv
- 适用场景:批量文件审计、批量元数据更新、结构化逐行分析
批量目录示例:
text
.codex-tasks/20260313-doc-audit/
├── SPEC.md
├── TODO.csv
├── PROGRESS.md
├── batch/
│ ├── BATCH.md
│ ├── workers-input.csv
│ └── workers-output.csv
└── raw/Batch Eligibility Checklist
批量任务适用检查清单
Only use Batch Task when all of the following are true:
- One instruction template can describe every row.
- Rows are independent and can be retried independently.
- Output can be expressed as structured fields in .
output_schema - Writes are disjoint, or the batch is read-only.
仅当满足以下所有条件时才使用批量任务:
- 同一个指令模板可以描述所有行的执行要求。
- 行之间相互独立,可以单独重试。
- 输出可以通过定义的结构化字段表达。
output_schema - 写入范围不重叠,或者批量任务是只读的。
Batch Lifecycle
批量任务生命周期
- Identify a parent step that is truly row-level and homogeneous.
TODO.csv - Create and define:
batch/BATCH.md- instruction template
id_columnoutput_schemamax_workersmax_runtime_secondsoutput_csv_path
- Build from real artifacts, not from plan steps.
workers-input.csv - Run with explicit
spawn_agents_on_csv,id_column,output_schema,max_workers, andmax_runtime_seconds.output_csv_path - Inspect . Failed rows remain visible and may be retried with a filtered input CSV.
workers-output.csv - Merge the aggregate result into parent and only then mark the parent step
PROGRESS.md.DONE
Example Batch step sequence:
csv
id,task,status,acceptance_criteria,validation_command,completed_at,retry_count,notes
1,Build workers-input.csv,IN_PROGRESS,batch/workers-input.csv exists,test -f batch/workers-input.csv,,0,
2,Run spawn_agents_on_csv,TODO,batch/workers-output.csv exists,test -f batch/workers-output.csv,,0,
3,Merge row results,TODO,Failed rows are handled and summary is written,test -f PROGRESS.md,,0,- 识别父级中属于纯行级同构工作的步骤。
TODO.csv - 创建并定义:
batch/BATCH.md- 指令模板
id_columnoutput_schemamax_workersmax_runtime_secondsoutput_csv_path
- 基于真实工件构建,不要基于规划步骤生成。
workers-input.csv - 运行,传入明确的
spawn_agents_on_csv、id_column、output_schema、max_workers和max_runtime_seconds参数。output_csv_path - 检查,失败的行保持可见,可以通过过滤后的输入CSV重试。
workers-output.csv - 将聚合结果合并到父级中,之后才能将父级步骤标记为
PROGRESS.md。DONE
批量任务步骤序列示例:
csv
id,task,status,acceptance_criteria,validation_command,completed_at,retry_count,notes
1,Build workers-input.csv,IN_PROGRESS,batch/workers-input.csv exists,test -f batch/workers-input.csv,,0,
2,Run spawn_agents_on_csv,TODO,batch/workers-output.csv exists,test -f batch/workers-output.csv,,0,
3,Merge row results,TODO,Failed rows are handled and summary is written,test -f PROGRESS.md,,0,Mixed Shapes
混合形态
- A Single Task can promote to Epic when one execution stream stops being coherent.
- A Single or Epic child step can delegate homogeneous work to Batch.
- Use the current layer's truth file only:
- for step planning
TODO.csv - for child-task state
SUBTASKS.csv - for row results
workers-output.csv
- 当执行流不再连贯时,单任务可以升级为史诗任务。
- 单任务或史诗任务的子步骤可以将同构工作委托给批量任务。
- 仅使用当前层级的真值文件:
- 用于步骤规划
TODO.csv - 用于子任务状态管理
SUBTASKS.csv - 用于行级结果存储
workers-output.csv
Mid-Task Shape Promotion
任务中形态升级
When complexity outgrows the current shape, promote in-place:
当复杂度超出当前形态的承载能力时,就地升级:
Single → Epic
单任务 → 史诗任务
- Create from the existing
.codex-tasks/<task-name>/EPIC.mdgoal.SPEC.md - Convert remaining rows into child task entries in
TODO.csv.SUBTASKS.csv - Move the original ,
SPEC.md,TODO.csvintoPROGRESS.mdas the first child.tasks/<original-task>/ - Create new child directories for the additional deliverables.
- Log the promotion reason in the parent .
PROGRESS.md
- 基于现有的目标创建
SPEC.md。.codex-tasks/<task-name>/EPIC.md - 将剩余的行转换为
TODO.csv中的子任务条目。SUBTASKS.csv - 将原始的、
SPEC.md、TODO.csv移动到PROGRESS.md作为第一个子任务。tasks/<original-task>/ - 为额外的交付物创建新的子任务目录。
- 在父级中记录升级原因。
PROGRESS.md
Single/Epic Step → Batch
单任务/史诗任务步骤 → 批量任务
- Identify the or
TODO.csvrow that is actually N homogeneous items.SUBTASKS.csv - Replace it with a 3-step Batch sequence: build input → run workers → merge results.
- Create directory with
batch/andBATCH.md.workers-input.csv - The parent step stays until the batch merge completes.
IN_PROGRESS - Log the delegation in .
PROGRESS.md
- 识别或
TODO.csv中实际包含N个同构项的行。SUBTASKS.csv - 将其替换为3步批量序列:构建输入 → 运行工作流 → 合并结果。
- 创建目录,包含
batch/和BATCH.md。workers-input.csv - 父级步骤保持状态,直到批量合并完成。
IN_PROGRESS - 在中记录委托操作。
PROGRESS.md
Validation Rules
校验规则
- Re-read the active truth file before every new step.
- No parent task can claim success while a child subtask or batch row still fails its merge criteria.
- Keep retry counts explicit.
- Keep raw fetched material under for Full, Epic, and Batch shapes.
raw/ - If the work is heterogeneous, use a dedicated multi-agent flow instead of forcing it into Batch.
- 每执行新步骤前重新读取当前的真值文件。
- 只要子任务或批量行未通过合并标准,父任务就不能标记为成功。
- 明确记录重试次数。
- 完整单任务、史诗任务、批量任务的原始抓取材料都存储在目录下。
raw/ - 如果工作是异构的,使用专用的多Agent流程,不要强行适配批量任务。
Context Recovery Protocol
上下文恢复协议
Use the smallest artifact set that fully restores state:
- Compact Single: read , resume from the first non-
TODO.csvrow.DONE - Full Single: read ,
SPEC.md, then theTODO.csvrecovery block.PROGRESS.md - Epic Task: read ,
EPIC.md, parentSUBTASKS.csv, then the current child task directory.PROGRESS.md - Batch Task: read ,
SPEC.md,TODO.csv,batch/BATCH.md, then thebatch/workers-output.csvrecovery block.PROGRESS.md
Every recovery message must include:
- goal
任务: 形态:single-compact | single-full | epic | batch- X/Y
进度: - current step, child task, or failed row set
当前: - active truth artifact path
文件: - exact next action
下一步:
使用可以完全恢复状态的最小工件集:
- 精简单任务:读取,从第一个非
TODO.csv行恢复。DONE - 完整单任务:读取、
SPEC.md,然后读取TODO.csv的恢复块。PROGRESS.md - 史诗任务:读取、
EPIC.md、父级SUBTASKS.csv,然后读取当前子任务目录。PROGRESS.md - 批量任务:读取、
SPEC.md、TODO.csv、batch/BATCH.md,然后读取batch/workers-output.csv的恢复块。PROGRESS.md
每条恢复消息必须包含:
- 目标
任务: 形态:single-compact | single-full | epic | batch- X/Y
进度: - 当前步骤、子任务或失败行集合
当前: - 活跃真值工件路径
文件: - 明确的后续操作
下一步:
Output Contract
输出约定
Every status update must include:
- one-line goal
任务: - current task shape
形态: - X/Y steps or rows complete
进度: - active step, child task, or batch stage
当前: - latest validation command and result
验证: - active task directory or truth artifact
文件:
每条状态更新必须包含:
- 单行目标描述
任务: - 当前任务形态
形态: - 已完成X/Y个步骤或行
进度: - 活跃步骤、子任务或批量阶段
当前: - 最新校验命令和结果
验证: - 活跃任务目录或真值工件路径
文件:
References
参考文档
- SPEC_TEMPLATE.md
- PROGRESS_TEMPLATE.md
- todo_template.csv
- perf_todo_template.csv
- compact_todo_template.csv
- EPIC_TEMPLATE.md
- BATCH_TEMPLATE.md
- subtasks_template.csv
- workers_input_template.csv
- workers_output_template.csv
- EXAMPLES.md
- SPEC_TEMPLATE.md
- PROGRESS_TEMPLATE.md
- todo_template.csv
- perf_todo_template.csv
- compact_todo_template.csv
- EPIC_TEMPLATE.md
- BATCH_TEMPLATE.md
- subtasks_template.csv
- workers_input_template.csv
- workers_output_template.csv
- EXAMPLES.md