ch3sh-lc/myworkflow/task-dispatch
Claude Code and agent skill by ch3sh-lc/myworkflow
- community
Checking that the SKILL.md file is still in the repository.
Use when 面对任何非平凡的多步骤任务时,agent 应主动调用本 skill 评估是否需要拆解为并行子任务
Install
npx vskill@latest install ch3sh-lc/myworkflow/task-dispatchSKILL.md
任务拆解与派发(L3 拆分契约)
工作级别:L3 智能体团队
本技能是三级协作模型中的 L3 智能体团队拆分契约。
- L1 单智能体(solo):单一不可再分交付物、单文件小改、一次回答闭环、纯问答;不建团队、不下 mission、不派 leaf。
- L2 子智能体(subagent):一个可独立完整执行的交付单元(明确输入、明确产出、可独立验收;常见形态是 ≥2 个平铺、无依赖的小交付物);用
subagent一口气派发回收(见「myworkflow-lightweight-dispatch」)。 - L3 智能体团队(team):大型、长程任务——把超大任务切成若干相互独立的部分,模仿真人团队「各自独立工作 → 沟通 → 整合」;判据仍是多域协作、交付物之间存在接口/依赖、需要持续负责人、需要多批推进与补位。不要因为「任务大」就建团,要因为「需要持续负责人与并行独立交付」才建团。 本技能只服务 L3:先把项目横切成可独立交付的产物边界,再由 leader 下 mission、member 域自治,禁止按阶段接力。
- 关键等价关系:团队里的每个 member 相当于一个 L2(领域级的 L2)——各自独立端到端完成自己那份,再与其他人沟通整合。
- member 之间可直接沟通:不经过 leader 中转(任务切分不可能完美,执行中会出现交叉/重叠/接口变化/相互依赖,直接沟通优于上报转发);leader 只在边界冲突需裁决、目标变更、验收标准修改时介入。
- member 与 leaf 的区别:leaf/subagent 寿命绑定具体任务(做完即结束、不保留;职责=一个具体任务;输入=任务包、输出=可验收产物;只与派发者沟通);member 长期存在(睡眠唤醒复用、跨任务保留知识与状态;职责=一个领域,输入=领域目标与边界、输出=多批交付物;可直接与其它 member/leader 沟通)。
团队角色与职责(leader / member / leaf)
- leader:只做四件事——定目标与边界、建团队、下模块委托(mission)、监督与验收裁量。不亲自产出交付物、不写业务文件、不逐批派活、不替成员拆叶子任务。leader 把产物边界下成 mission,成员内部顺序由 member 自己决定。
- member:持久存在的域 owner,必须具备独立目标意识。收到「目标 + 边界 + 输入 + 验收」后:自己规划(plan)→ 自己授权派发 → 自己验收结算 → 自己修复,端到端完成一整件事(调查→实现→自检→修复→验收)。只对自己域负责,跨域接口先约定。
- leaf:fresh 上下文的最小任务包执行者,一次实现并自检,交回真实产物与证据。leader 与 member 都可以启动 leaf;leaf 不能再开 leaf,也不能创建同级成员。
- 谁能开 leaf:leader 可以(按已定产物边界直接派最小任务包)、member 可以(在自己域内自行 plan 后派);leaf 不可以。任何一方都不得把「一个交付物的阶段」拆成多次 leaf 接力。
横向切分原则:一个交付物一个 owner
L3 只做横向切分,切分维度是可独立交付的产物(模块 A / 模块 B / 对象 1..N / 证据包 1..N),不是工序阶段。
- 一个交付物一个 owner:每份产物有且只有一个 owner(member 或 leaf),由该 owner 端到端负责实现、自检与交付。
- 接口先于派发:跨产物的接口(文件路径、导出签名、数据结构、验收命令)在派发前写进契约;同层产物并行;跨层产物在前置产物就绪(accepted / 可引用)后启动,由回执 / ready 状态驱动,不阻塞回合。
- leader 不代拆:leader 只下 mission(目标/边界/输入/验收),不替 member 拆 leaf;member 若判断需要再切,只能继续横向切产物。
- 数量边界:派发给独立执行者的产物 2–12 份;超过 12 份说明切分粒度过细,应合并;少于 2 份说明不需要 L3。
禁止阶段接力(硬规则)
定义:一个交付物内部,禁止按时间/工序阶段(前→中→后)拆成多个独立窗口或智能体接力(本技能也称「禁止阶段接力」,与该术语同义)。
| 违规(禁止) | 合法(允许) | |
|---|---|---|
| 「调研 → 设计 → 实现 → 审查」四个阶段各派一个执行者接力 | 大项目按可独立交付的产物横切成模块 A / 模块 B / 模块 C,各自端到端 | |
| 同一功能的「先写接口 → 再写实现 → 再补测试」分三个窗口 | 一个 owner 一次做完自己的整个交付物(含它的测试与自检) | |
| leader 把 member 的活再按阶段拆成多次 mission | leader 下的是产物边界,member 自己决定内部顺序 | |
| 先派「调研 leaf」,等它交回再派「实现 leaf」 | 两个产物无依赖就并行;有依赖说明它们是一份交付物的阶段,应合并给同一 owner |
判定话术:如果拆出来的每一份「单独交给别人也不成为一个可用成果」,就是阶段接力,违规;如果每份都能独立交付、独立验收,才是横向切分,合法。横切后出现交叉/重叠/依赖,靠 member 之间直接沟通解决(改边界同步 leader 记录在案),不靠拆阶段解决。
两个常见绕过不算合法:① 审查 / 汇总 / 接口文档 / 测试报告不是独立交付物——它们是同一交付物的工序产物,不得作为横向切分的产物;② 同一交付物跨轮次串行接力(第一轮 A 做一半、第二轮 B 接着做)同样违规,必须一个 owner 一次做完。
违反时的行为:拒绝派发并要求重排为横向切分;已发现阶段接力时立即停止该批派发、退回重切,不允许用「先跑起来再说」绕过。
触发
本技能在判定为 L3 后使用;L1 直接做,L2 走「myworkflow-lightweight-dispatch」。
- 显式触发(用户主动要求):用户说"拆成子任务/并行处理/分给多个智能体/并行化/同时做/分别做/任务拆解/先拆再派发/并行派发/一起做/都做/把这个任务拆开并行执行";一次请求中描述了多项互不依赖的工作(如"帮我创建 A、B、C 三个文件")。
- 隐式触发(agent 主动判断,满足任意 1 条即触发评估):
- 任务涉及多个产出物(文件、章节、设计稿、报告、数据表……不限于代码)
- 任务描述中存在可自然分离的子目标(逻辑上可拆分即满足,不要求产出物数量已确定)
- 预估任务需要 ≥3 个独立步骤(独立步骤 = 产生独立中间产出物且可被后续步骤直接引用的步骤;仅产生内存中间值的步骤不计)
- 用户请求中描述了多项工作(即使只用"和/还有"连接,未用显式并行关键词)
- 不触发:单一原子操作(改一行字/查一个数/问一个事实)→ 直接做;步骤间存在运行时数据依赖(后一步需要前一步的运行时输出作为输入,而非仅依赖其产出文件/类型定义)→ 不拆,串行执行;简单问答/搜索/解释;用户只要求 1 个产出物且该产出物不可再分。
- 核心心态:本 skill 是前置评估器——agent 接到任何非平凡任务时先调本 skill 评估复杂度,再决定拆解并行还是直接执行。分析结果可以是"不需要拆解,直接做"——这也是合法输出,但仅限 L1 场景(单文件或纯问答);单个交付物但改动 ≥2 文件属 L2,不在此出口。宁可多触发一次评估,也不错失一个可并行的任务。
- 已在进行的拆解任务,用户说"调整粒度/合并某两个任务" → 回到第二步,不走完整流程。
前置强制步骤
核心原则:合约先于执行。 接口合约是子任务之间的"法律文件"——先定义,后派发。
- 读取项目上下文:了解已有代码结构、技术栈、文件布局。如果项目有 CLAUDE.md,读取了解项目约定。
- 确认需求清晰度:如果用户需求中存在模糊点,先用 ask_user_question 追问(最多 3 轮)。
执行流程
第一步:需求分析
读取用户需求,识别隐含的子目标和约束;检查项目上下文(已有代码结构、技术栈、文件布局);需求不清晰 → ask_user_question 追问(最多 3 轮,每次一个问题);将需求压缩为一句话核心目标 + 关键约束列表。
第二步:按可独立交付的产物横向切分(模块 / 对象 / 证据包)
将需求按可独立交付的产物横向切分(模块、对象、证据包),禁止按工序阶段切。对每个候选单元用三个标准判断:
- 职责单一性:这个单元只做一件事吗?
- 依赖隔离性:这个单元是否可以不等待其他单元的结果就开工?
- 接口可定义性:这个单元的输出能否精确描述(文件路径、导出签名)?
用拓扑排序分层:第 0 层(depends_on 为空)→ 全部可并行;第 1 层(仅依赖第 0 层产物);第 N 层 → 后续层。
约束:
- 最少 2 个、最多 12 个子任务。超过 12 个 → 强制阻断,拒绝生成合约,提示用户合并任务。
- 少于 2 个 → 强制阻断,但阻断前先确认:第一步分析是否真的判定了需要拆解?(如果判定"不需要拆解",应已在第一步出口结束本 skill。如果到达此步但只有 0-1 个子任务,说明第一步拆解判定有误——回第一步重新评估,输出"评估结论:此任务无需拆解,建议直接执行(仅限 L1:单文件或纯问答;多文件单个交付物按 L2 处理)"。)
- 每个子任务必须有至少一个确定的输出文件。例外:纯副作用任务(如数据库迁移、通知发送、配置变更)允许
outputs: [],但 description 必须标注[副作用任务]前缀,且 verification 至少包含一个可验证的检查项(如test_passes或手动验证步骤)。 - 依赖关系不能形成环。
合约生成自动验证(写入 task-contract.yaml 之前必须执行):
- 任务数量检查:tasks 列表 <2 → 阻断,提示任务不需要拆解;>12 → 阻断,提示合并。
- 依赖有效性检查:每个
depends_on中的 task-id 必须在 tasks 列表中存在 → 不存在的引用阻断。 - 依赖环检查:对 depends_on 图执行拓扑排序,无法生成合法拓扑序 → 阻断,报告环路径。
- 输出路径唯一性检查:收集所有
outputs[].file,有重复路径 → 阻断,报告冲突。 - 自引用检查:每个 task 的 depends_on 不能包含自己的 task-id(task-3 不能依赖 task-3)。
第三步:定义接口合约
自动验证通过后,写入 .task-manifest/task-contract.yaml。合约格式用 YAML。字段结构:
完整示例(2 任务,含依赖关系):
合约规则:每个 output.file 必须是确定的路径(不允许通配符);每个 output.export 的 signature 是其他子任务引用该接口的唯一依据;depends_on 中引用的 task-id 必须在 tasks 列表中已存在,不可自引用,不可形成环。
第四步:生成任务拓扑(给人看)
写入 .task-manifest/任务拓扑.md:依赖拓扑图(文本)、并行批次表、接口耦合点标注、风险标注。
批次执行说明:第 0 批可同时启动所有第 0 层任务;第 1 批在第 0 批产出就绪(accepted / 可引用)后启动;第 N 批在上一批产出就绪后启动——由回执 / ready 状态驱动,不在回合内 sleep / 轮询等待。
第五步:生成 mission 与 leaf 任务包
leader 只下 mission(目标 / 边界 / 输入 / 验收),不替 member 拆 leaf;member 收到 mission 后自己 plan、自己决定是否开 leaf,leaf 任务包必须写全七项(目标、边界、输入证据路径、接口版本、输出位置、验收条件、失败政策)。为每个子任务生成 .task-manifest/prompts/task-{id}.md,模板包含:任务描述、依赖关系、输入文件表、输出接口表、验证标准、工作协议(引用「myworkflow-subagent-protocol」的 5 阶段)、约束。
第六步:用户审批
展示审批摘要:
"共拆分为 {N} 个可独立交付的产物,分 {M} 个并行批次。第 0 批({X} 个,可同时启动):{task-id 列表}。审批通过后由 leader 按产物边界下 {N} 个 mission,各 owner 在自己域内端到端完成并自行决定是否开 leaf。是否批准?"
- 用户批准 → 进入第七步,按拓扑顺序派发。
- 用户拒绝或要求调整 → 回到对应步骤:粒度太细/太粗 → 回第二步(合并或拆分);接口定义不对 → 回第三步(修改合约对应条目);依赖关系有误 → 回第二步(调整 depends_on)后重新生成合约和拓扑;用户有新的约束 → 回第一步(重新分析需求)。调整后重新走第四、五、六步,直到用户批准才进入第七步。
第七步:下 mission / 启动 leaf
用户批准后按拓扑顺序推进:leader 按产物边界下 mission(目标+边界+输入+验收),member 收到 mission 后自己 plan、授权并启动 leaf;leader 也可以对已定的最小任务包直接启动 leaf。leader 不得替 member 把 mission 拆成阶段任务。向 leaf 派发时,prompt 必须包含以下精确引用(直接复制,替换 {task-id}。不可省略或改写此引用模板——它确保 leaf 正确触发「myworkflow-subagent-protocol」):
一致性约束:本模板与components/myworkflow-subagent-protocol/parts/10-p10.md「派发方强制引用」小节中的同名模板必须逐字一致,修改其一时必须同步另一处。(用 slugmyworkflow-subagent-protocol而非中文显示名——技能寻址走目录名,中文名不参与寻址,写 slug 才能稳定触发。)
派发失败降级:单次派发失败 → 重试 1 次(重试不占用回合:放后台任务或交 leaf 执行,不得在回合内 sleep 等待);仍失败 → 该产物由 owner(member)自己串行完成;owner 也无法完成 → 报告 leader 并列出未完成产物。L2 场景(无跨产物依赖)改用「myworkflow-lightweight-dispatch」,不走本 L3 流程。
后置更新步骤
- 确认
.task-manifest/目录已创建、用户已审批、所有任务包(mission / leaf 任务包)已生成,且每个产物有且只有一个 owner。 - leader 下第 0 批 mission;各 member 在自己域内启动 leaf。
- 按回执 / 二次唤醒收集各 owner 的 completion.md:全部就绪即触发「myworkflow-integration-verify」;超过 30 分钟仍有缺失 → 记录缺失清单并结束回合,等二次唤醒再判并触发集成验证(禁止回合内轮询 / sleep 等待)。
- 收到依赖超时报告后,本回合内只做一次依赖状态检查(不轮询):依赖方已崩溃 → 立即触发集成验证与修正;否则记录状态、结束回合,等二次唤醒再判。
完成标志
- [ ] 需求已分析,模糊点已追问(如有)
- [ ] 已判定为 L3 并写明理由(L1/L2 不走本技能)
- [ ] 已按可独立交付产物横向切分,无阶段接力,每个产物一个 owner
- [ ] 子任务列表已生成(2-12 个)
- [ ]
.task-manifest/task-contract.yaml已写入,所有字段完整 - [ ] 依赖拓扑无环
- [ ] 任务拓扑.md 已写入,包含风险标注
- [ ] 每个子任务的任务包(mission / leaf 任务包)已生成
- [ ] 用户已审批拆解方案
- [ ] 第 0 批子智能体已派发
- [ ] 交付按证据口径结算:produced ≠ verified ≠ accepted;证据 = 命令 + exitCode / 文件 + 行号 / runId / 产物 sha256(无证据不算完成)
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/task-dispatch/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/ch3sh-lc/myworkflow/task-dispatch)