# Plan Agent Tasks

> Use when the user explicitly invokes plan-agent-tasks after discussing requirements and wants executable, independently verifiable task cards plus named Main, Worker, and Reviewer prompts with per-session model and speed plans. Also use to resume missing-requirement clarification within that active invocation.

- Skill: `zevsong/plan-agent-tasks` (Agent Skill, multi-file: 54 files)
- Install (CLI): `npx skillmds@latest add zevsong/plan-agent-tasks`
- Raw SKILL.md: https://api.skillmd.com/api/skills/zevsong/plan-agent-tasks/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- License: MIT
- Author: ZevSong (https://skillmd.com/u/zevsong)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/zevsong/plan-agent-tasks

---


# 多 Agent 任务拆分

把已确认需求转为本地任务包，为每个会话命名，按全自动、半自动或人工模式安排执行，为每个会话显式选择模型资源与速度，用 Mermaid 流程图展示顺序，并在最终回复中逐条给出可独立复制的简短提示词。**任务卡、会话流程图、逐会话模型绑定、对话中的启动提示词和独立 HTML 进度面板都是必交付内容。** 默认使用中文，遵循用户指定语言与项目规范。

## 触发与授权

- **仅在用户明确调用本 Skill 时执行。** 普通需求讨论、材料中的名称或引用不触发。等待中的需求补充属于同一次调用；任务包交付后结束这次生成工作。
- 调用本 Skill 默认只授权读取、拆分及写入任务包；选择执行模式本身不启动产品工作。用户发送生成的 Main 启动提示词或另行明确要求开始执行后，Main 才按选定模式及授权范围调度。生成任务卡、启动 Main、实际执行分别报告。
- 不写入个人记忆；不改变其他 Skill、项目规范或审批政策。

## 1. 检查需求是否可执行

利用当前对话已确认内容及用户指定资料，按需只读检查仓库。读取适用的 AGENTS.md、任务/Issue、需求与相关 ADR；检查目标仓库分支及工作区，保留已有改动。项目事实应从本轮资料确认，不能用聊天自述替代实现或验收证据。

按任务实际影响确认：目标和非目标、可观察验收条件、目标仓库与修改边界、外部接口/数据行为、前置依赖、适用风险与授权、可用测试方式。不要要求每项任务填满不适用字段。

将缺口分成三类：

1. **需求决定缺失**：行为、范围、接口承诺、数据处理或验收口径需要用户决定。列出「缺少什么 → 影响什么 → 需要决定什么」，集中询问必要问题，等待补齐；此时不进入正式拆分、不生成带假定结论的任务卡。
2. **可查明的技术事实**：先查现有接口、目录、测试和规范，不转交用户填写。
3. **Worker 可决定的局部实现**：保留选择空间，不因函数命名、内部结构等细节阻止拆分。

测试环境未就绪与需求未明确分别记录。已知的执行前置条件可写入任务卡，不能伪称可立即启动；未知且影响设计/验收的环境约束须先澄清。补充回答后只复核受影响内容，不重复询问已确认决定。

## 2. 拆成可独立交付的任务

读 [任务包约定](references/packet-contract.md) 和 [模型资源与速度策略](references/model-and-speed-policies.md)。用这些约定实例化 [总卡](assets/packet.md)、[Main 卡](assets/main.md)、[Worker 卡](assets/worker.md)、[Reviewer 卡](assets/reviewer.md) 和 [短提示词](assets/prompts.md)。

- 为需求分配稳定编号并映射到验收与叶子任务。叶子任务是一个 Worker 能实现、测试、交付并接受独立审查的结果；编码步骤放在卡内，不把每个函数或测试步骤拆成会话。
- 每个叶子任务写清输入、输出、允许修改范围、依赖的可用条件、具体验收与证据、修复/审查/交接边界。通常对应一个逻辑 PR，服从项目已有任务粒度。
- 按契约、提供方、消费方和集成关系排列依赖。存在共同写入文件或共享可变环境时安排顺序或单一写入者。只有无未满足依赖且写入范围不冲突的任务进入同一并行批次。
- 默认最多安排 2～4 个 Worker 并行，按实际独立任务数和环境容量减少；不为凑数量拆任务。每个 Worker 对应独立分支、worktree、session。
- Main 管理规划、状态和集成；Worker 包含本任务的修复；Reviewer 独立检查和复审；集成中的语义修复交给 Worker。AI 技术结论、项目要求的人类批准、合并和发布分别记录。
- 每个会话使用「Task ID · 角色 · 具体工作内容」这样的明确名称，例如 `M0-03-01 · Worker · 导入 API 实现`。Main、每个 Worker 和每个 Reviewer 都有唯一名称；修复、复审和集成续接原会话。名称、角色、卡片入口与所属阶段统一登记到总卡。
- 读取 [执行模式约定](references/execution-modes.md)，落实全自动、半自动或人工模式。优先沿用用户已明确选择；未指定时沿用人工模式并说明。仅在任务较多或跨多个依赖批次时主动建议半自动，让用户选择；不擅自切换，也不为小任务反复询问。若用户直接指定半自动，无论规模均遵从。
- 将 `execution_mode`、`resource_profile` 和 `speed_policy` 作为三个独立选择。资源档位支持 `fixed-main`、`economy`、`balanced`、`assured`、`maximum`；速度支持 `standard`、`critical-path`、`fast-all`。优先使用用户明确选择，未指定资源/速度时使用 `balanced + standard` 并说明；`fast-all` 只能由用户明确选择。执行模式不决定模型或 Fast，模型档位也不自动改变执行模式或速度。
- 从当前宿主能力建立带来源和检查时间的模型目录快照，为 Main、每个 Worker 和每个 Reviewer 选择准确的 `provider`、`model`、`reasoning_effort` 和 `service_tier`，同时登记选择理由、有序回退、升级触发条件及有限次数。不得省略模型参数以继承 Main；第三方提供方和 Fast 只按当前接口明确支持的能力规划。目录不可见时按模型策略标记阻塞，禁止在准确绑定前派工。
- 按真实 Task ID 和会话名称生成 Mermaid `flowchart TD`，展示启动顺序、可并行分支、前置条件汇合及修复/复审回路。标清新建或续接会话；同一 Main 在规划和集成阶段重复出现时仍是同一会话。流程图写入总任务卡，并在最终回复中展示同内容副本；规则见任务包约定。
- 实例化流程图时将总卡模板中的 `TEMPLATE` 预览节点整行替换为具体 Mermaid 语句；最终任务包和回复不得保留该节点或未展开模板变量。可用 Mermaid 渲染器存在时实际渲染校验，不能只检查代码围栏。

## 3. 写入可移植任务包

- 必读 [进度面板接入](references/progress-panel.md)、其 v1 状态契约和随包 CLI 说明。完整复制固定 `assets/dashboard/` 及状态契约到任务包，生成严格 planned 的 `runtime/plan.json`，使用复制后的 panel.py 执行 init 和 status，交付 `dashboard/index.html`；这属于材料生成，不启动预览服务或任何角色。不重新编写网页代码或布局。已有状态先核对并保留，不能重复 init 覆盖。Python 3.11+ 缺失时如实记录生成阻塞。
- 遵循项目任务资料位置；无现有约定时，使用目标仓库的 `docs/task-packets/<parent-task-id>/`。无法确定资料所属仓库时先说明缺口，不在任意父目录写入。
- 所有任务卡、提示词及其命令、文件链接使用**有明确锚点的相对路径**。跨仓使用「仓库标识＋仓库内相对路径」。本地根目录仅在运行时解析，不写入产物；具体规则见任务包约定。
- 同一事实只设一个主位置。短提示词引用确切任务卡，不复制长验收清单，不引用“上述”“登记中的”“前面讨论”等外部上下文。每一段都必须可单独复制到全新会话。
- 若同一 Task 已有任务包，先读取并更新相关内容，保留实现/审查证据；影响任务边界或验收的变更必须标记原任务与审查需复核，不能覆盖成一个全新待执行包。
- 将选定模式的调度、恢复、阶段确认、模型目录复核、逐会话创建参数与停止规则写入 Main 卡；执行者不必安装本 Skill 才能恢复工作。全自动和半自动的 Main 提示词明确授权按卡片命名新建或续接会话，并显式传入已解析的模型参数；人工模式明确禁止自动启动或续接其他会话，并把会话创建配置放在每段提示词前供用户设置。执行载体及工具能力如实注明，不把内部子 Agent 冒充 Desktop 独立会话。
- 总卡与 Main 实例化面板入口、CLI、状态模式/权威引用、数据及报告路径；每个具体 Worker/Reviewer 和全部启动、恢复、修复、复审、集成、阶段确认提示词实例化本角色报告入口或 Main 面板入口。Main 是唯一共享状态写入者，角色各自报告并走已有交付渠道，不假定 worktree/文件共享。Main 首次启动复用 planned 状态、publish 真实身份后 start/verify/open；恢复确认旧 Main 停止，延续原 run、历史和服务；操作与错误分支落实到 Main 卡。

## 4. 校验与交付

交付前逐项检查：需求全部覆盖；任务前置依赖无循环（流程图中的修复/复审回路除外）；并行写入无冲突；每项验收有实际命令/操作、期望结果及证据；未确认事项未冒充结论；相对路径锚点和链接可解析；每条提示词独立完整；流程图节点与任务卡、会话提示词的名称、Task ID、依赖和启动条件一致；各角色权限与项目政策一致。再按模型资源与速度策略检查三个轴、目录新鲜度、逐会话准确绑定、回退顺序、升级/重试上限、Fast 能力和关键路径标记。

不得虚构测试命令、现有文件、Issue、已提交版本或通过结果。拟新增文件标为「计划创建」。计划中的测试场景明确列出，生成阶段不要求 Worker 尚未编写的测试已经通过。

核对面板 JSON 的 Task/角色/阶段/依赖/完成检查与卡片一致；planned 无实际 ID、执行结果或假批准；CLI 和资源完整、HTML 可离线查看、服务未启动。本地权威引用以本包 `runtime/state.json` 结尾，projection 保留原权威。检查 Main 的观察频率、单写入者、恢复去重、不可变事件重试、code 4/6 实际提交标记和结束 export/stop 规则；面板展示不扩大执行或批准权限。

需求就绪并生成任务卡后，最终对话回复必须交付：

1. 任务包的仓库标识、相对入口、所选执行模式、资源档位、速度策略及各自选择来源，以及具体会话名称清单。半自动模式额外列出大阶段、阶段验收和下一阶段的用户确认点。
2. **会话执行流程图**：用 `mermaid` 代码围栏直接展示总卡中的流程图，放在会话提示词之前；不能只给图片、文件链接、通用角色示意图或文字顺序代替。
3. 按顺序逐条列出的**具体会话启动提示词**：每个 Worker 和每个独立 Reviewer 分别有自己的段落；Main 提供初始化或本轮交接/恢复入口。每段使用独立的 `text` 代码围栏，注明完整会话名称、新建/续接、启动者（用户或 Main）、何时使用，并在围栏前列出该会话准确的提供方、模型、推理强度和服务层。自动模式仍完整交付各会话提示词，注明由 Main 调度、供用户查看或恢复使用，无需用户逐个粘贴。
4. 修复、复审和 Main 集成的简短续接提示词，注明适用条件；半自动模式逐个提供进入后续阶段的确认提示词。修复和复审通常继续原会话，不把每次续接误写成创建新 Session；确需换会话时按卡片从资料恢复。
5. 面板 HTML 的仓库相对入口、权威来源、实际 init/status 结果和运行依赖；planned 快照不表示角色已启动，离线查看无需 Python，实时工具需要 Python 3.11+。

每段提示词以少量句子说明角色、Task ID、实施/审查仓库、卡片仓库与相对路径、要做的动作和停止点；详细要求留在任务卡。多个任务必须分别实例化，不用一个通用模板加“其他任务同理”代替，也不让用户手动替换编号或路径。**不能只提供 prompts.md 的链接、只把提示词写进文件或用交付摘要代替启动提示词。** 用户明确要求本轮只交付文件或指定部分角色时，按其限定范围交付。

文件中的流程图、提示词与最终回复保持一致，并注明实际写入与校验结果。流程图表示计划执行关系，不表示节点已经执行。只生成本地文件时标为本地草案，提交、跨机器分发、业务执行、业务测试、审查与合并均不得暗示已完成。

