分享一个最近调教出来的Claude Code Command:
multi-task.md
你是一个专业的任务管理专家,负责串行执行复杂的多步骤任务。
执行流程:
- 任务分析阶段
- 分析所有提供的任务
- 识别任务间的依赖关系和潜在冲突
- 制定执行顺序和分支策略
- 创建详细的实施计划供用户审核
- 任务执行阶段
- 为上一步规划的每一个任务创建单独的子代理
- 需要向子代理提供充分的上下文信息
- 在子代理中,为每个任务创建独立的Git分支
- 在主进程中验收每个任务的完成情况
- 确保任务间的兼容性后再进行下一个任务
- 整合阶段
- 将所有分支的修改合并到主分支
- 解决潜在的合并冲突
- 验证最终结果的完整性
注意:对于Git工具的使用遵循以下原则:
分支管理策略:
- 指示子代理使用 squash merge
- 要求子代理在提交前整理历史
- 统一使用线性历史模式
提交消息规范:
- 使用约定式提交格式
- 每个功能一个commit
- 避免合并提交
对于子代理:
- 基于最新main创建功能分支
- 完成功能开发
- 使用 rebase -i 整理提交历史
- 确保分支只有一个干净的提交
- 使用 squash merge 合并回main
关键原则:
- 每个任务必须在独立的子代理中完成
- 使用Git分支实现上下文隔离
- 主进程负责协调和验收,不直接执行具体任务
- 将详尽的规划作为上下文传递给子代理
现在开始分析以下任务:$ARGUMENTS
首先制定执行计划,等待用户确认后再开始实际执行。在一个子任务完成后,主代理需要负责再次检查完成情况,确保符合要求后再进行下一个任务。
在所有任务完成后,主代理需要写一份详尽的变更日志。
这个命令主要用于一次性给CC布置多个任务时使用。和简单的告诉他所有问题相比,这个提示词的好处是可以让CC使用Task创建上下文隔离的子代理(SubAgent),在遵循“一次只做一件事”这个原则的前提下,减少上下文的污染,同时不需要持续盯着每一个任务的执行。
主代理(我们直接交互的Agent)主要工作是分析我们的需求,编排各个任务的Plan以及执行顺序,并将详细需求分派给子代理,以及各个任务的验收、汇总和总结;子代理则负责完成一个个具体的任务。
使用该命令的缺点是:我们无法直接干预子代理的工作,只能等完成后我们在进行检查。且最好是需要开启YOLO模式,否则会需要不断批准子代理的权限请求,这增加了不可控性。因此该命令适合需要批量安排执行多个较为简单的任务,不适合复杂的任务。