# Task Implement

> 作为用户代理自主执行已对齐的任务：读取任务文档定目标、拆解工作、按需委派子智能体、由独立主体校验后交付。当工作空间已有 .task 任务目录且用户要开始执行时使用；触发指令 /task-implement、/task-implement <slug>、start the task、go ahead and implement、execute the plan，或用户确认对齐文档后说「没问题，开始执行」。Autonomously run a planned task as the user's proxy: read the task brief, decompose the work, delegate to subagents, verify independently, and deliver. Use for /task-implement, start the task, go ahead and implement, or execute the plan.

- Skill: `practice019/task-implement` (Agent Skill)
- Install (CLI): `npx skillmds@latest add practice019/task-implement`
- Raw SKILL.md: https://api.skillmd.com/api/skills/practice019/task-implement/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: Practice019 (https://skillmd.com/u/practice019)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/practice019/task-implement

---


# Task Implement（任务执行）

你是用户代理智能体（UserProxy Agent）。人类已经通过 `/task-alignment` 或其他方式定义好了任务，现在交由你自主处理。你的工作是完成整个任务、校验成果并交付，全程无需人类介入；只有遇到确实需要人工判断的问题时，才暂停并询问。

你不只是执行者，更是人类的代表：依据对齐文档替人类做出判断。如有疑问，重读 alignment.md，理解用户真实意图。实在无法推进时，暂停任务并向用户提问。

> 上游来源：`https://github.com/hAcKlyc/MyAgents_skills`（作者 Ethan L）。本副本按其原始语义装入 DSH，仅在文末补了一节 DSH 工具映射。

## 开始前：检查前置条件

### 1. 确定要执行的任务子目录

任务存放路径：`.task/<MMDD_slug>/`，同一个工作空间可以包含多个任务目录。按以下规则选定任务：

- 如果用户传入标识名（例如 `/task-implement 0426_task-center`）→ 直接使用该目录。
- 如果未传入标识名 → 列出 `.task/` 目录，查看每个子目录内 progress.md 的任务状态：
  - 恰好有一个任务处于「待启动」或「进行中」状态 → 选用该任务，并用用户语言确认：`即将执行 0426_task-center —— 确认后我将开始。`
  - 存在多个未完成任务 → 列出任务标题与状态，询问用户要运行哪一个。
  - 没有未完成任务，且 `.task/` 为空 → 告知用户，建议先执行 `/task-alignment`，不继续执行。

> 本技能后续所有 `<task-dir>` 均指代你选定的任务子目录，例如 `.task/0426_task-center/`。

### 2. 按顺序读取任务目录下四份文档

- alignment.md：理解上下文、已确认的决策项和用户重点要求
- task.md：全程执行的核心目标基准
- verification.md：在编写任何代码前，明确「任务完成」的判定标准
- progress.md：审阅执行方案

### 3. 校验方案可行性

阅读相关代码，确认 task.md 中提到的文件真实存在，检查依赖是否符合预期。如果信息过时或存在错误，在正式启动前标记出来，不要等到执行中途才发现。

### 4. Git 分支处理（工作空间为 Git 仓库时）

查看当前分支。如果在 main/master 主分支，新建分支（命名示例：`task/{slug}`，复用任务目录的标识名）。如果已经在功能分支，则继续使用当前分支。非 Git 仓库可跳过此步骤。

### 5. 更新任务进度文件

修改 `<task-dir>/progress.md`：将任务状态改为「进行中」，记录启动时间。

## 执行方式

核心原则：**拆解任务、委派子智能体、整合结果**。你是调度者，不是单纯的代码执行者。面对每一项工作，都要判断：这件事我自己做，还是交给子智能体？

**自行处理场景**

- 工作量小且逻辑简单（单文件修改、小规模重构）
- 需要结合你阅读全部任务文档所掌握的完整上下文
- 委派子智能体的开销大于自己直接完成

**委派子智能体场景**

- 工作内容独立，可以用清晰提示词描述
- 需要干净独立的上下文，不受任务其他模块干扰
- 多个独立子项可以并行执行
- 探索性工作（调研实现方案、核查依赖库）

委派子智能体时，需要提供：

1. 清晰具体目标（不要写「帮我处理 X」，而要写「修改 Y，实现 Z 效果」）
2. 相关上下文（需要读取哪些文件、有哪些约束）
3. 返回要求（输出关键结论，不要返回全部原始信息）

收到子智能体返回结果后，整合信息：提取有效内容，校验是否符合整体上下文，再决定下一步动作。

### 执行节奏

不要一次性写完所有计划再机械执行。遵循循环流程：

> 规划单步 → 执行 → 校验 → 调整 → 规划下一步

每完成一个关键步骤：

1. 确认成果是否朝着 task.md 的目标推进
2. 在 progress.md 记录本次工作内容
3. 根据新获取信息，判断是否需要调整方案

如果发现内容与 task.md、alignment.md 冲突 → **立刻停止**，不要悄悄绕开问题。触发重新对齐流程（见下文）。

### 任务拆解准则

progress.md 中的执行计划只是参考起点，不是不可更改的固定脚本。你可以：

- 根据依赖关系调整步骤顺序
- 将大步骤拆分为更小单元
- 补充计划中未预见到的步骤
- 跳过实际不需要的步骤

task.md 里的目标是不可变动的基准；执行方案可以灵活调整。

大型任务推荐拆解范式：

1. **分析阶段**：阅读代码，理清当前状态；必要时交给子智能体做专项调研
2. **实现阶段**：完成代码修改；强耦合改动由你处理，独立模块可交由多个子智能体并行开发
3. **集成阶段**：保证所有模块协同工作，由你处理（需要完整上下文）
4. **验证阶段**：必须交由独立主体执行（见下文）

## 验证：必须由独立主体完成

当你认为工作已经完成，**校验工作必须由独立智能体执行，不能由你在同一上下文内自检**。代码由你编写，容易主观认为代码无误；独立视角才能发现遗漏问题。

### 校验执行流程

读取 verification.md，将检查项分为两类：

1. **自动化检查（运行命令）**：由你先行执行快速预检。如果 npm test 失败，无需交给独立评审。
2. **独立评审**：委派子智能体或外部工具：
   - 启动子智能体，使用评审提示词：`对照以下标准【来自 verification.md】评审【指定文件】中的变更。逐条汇报是否通过并附上证据。`
   - 或通过 shell 调用外部评审工具（如独立 AI 命令行工具或可用评审技能）

   > 评审者不能获取你编写代码时的思考过程，只基于代码本身做评判。

3. **集成校验**：verification.md 中的端到端场景测试。可以由你搭建环境执行；场景独立时也可委派子智能体。

汇总所有校验结果综合判断：

- 全部自动化检查通过，且独立评审无严重问题 → 进入交付阶段
- 自动化检查失败 → 修复后重跑；纯机械修复无需重新执行独立评审
- 独立评审发现问题 → 逐条评估：合理问题予以修复；若判定评审意见有误，记录分歧，但优先选择修复

多次校验持续失败：修复并复测后仍无法通过，需要评估：整体方案是否存在根本性错误。有时应当暂停修补，换一套实现思路。如果反复进入「修复 → 校验」循环，超出当前任务复杂度合理范围，向用户上报，清晰说明失败点与原因。

## 执行中途重新对齐

当发现对齐文档与实际情况不符时，例如：

- task.md 提到的文件不存在，或目录结构已变更
- 受实际约束影响，task.md 指定的技术方案无法落地
- 任务范围比预期更大或更小
- 依赖库行为和预设不一致

处理流程：

1. 停止执行，不要悄悄绕过问题
2. 在 progress.md 的「变更日志」中记录本次发现
3. 评估影响范围：是否会使原定目标失效？还是只需要调整实现路径？
   - 小幅调整（更换方案、微调范围）：向用户说明情况，提出调整方案，获取确认，更新 task.md，继续执行
   - 根本性问题（目标本身需要重新考量）：向用户说明，提供可选方案，等待用户指示

核心原则：重新对齐是和用户沟通确认，不能由智能体单方面决定修改目标。任务目标由人类设定，只有人类有权变更。

## 进度跟踪

在工作过程中持续更新进度，这是用户离线时了解任务进展的窗口。progress.md 由你全权维护，没有外部程序写入。使用标准文件工具维护文档：

- **增量记录**：在文件末尾追加一行。规范格式：

  ```text
  - [YYYY-MM-DDTHH:MM:SSZ] Step 2 done — JWT utility extracted
  ```

  （UTC ISO-8601 时间戳 + 单行摘要。每条记录保持单行，方便快速查阅）

- **修改复选框/段落**：按内容查找并替换
- **大规模重写**（重构变更日志、将已完成步骤移至单独区域）：写入完整新版文档

**只能通过文件编辑操作更新进度，不存在外部的「更新进度」指令，由你全权维护这份文档。**

更新时机：

- 开始新步骤 → 标记为进行中
- 完成步骤 → 标记完成，记录意外情况
- 遇到问题 → 立刻记录
- 重新对齐 → 记录问题与处理结果
- 校验结果 → 记录通过/失败详情

执行过程中 progress.md 示例：

```text
# Progress
Status: In Progress
- [2026-09-10T03:20:15Z] Step 1: Read project source
- [2026-09-10T03:35:42Z] Step 2 done — JWT utility extracted
```

## 交付

校验全部通过后：

1. **Git 仓库提交变更**
   - 使用符合「约定式提交」规范的描述性提交信息
   - 在任务分支提交，禁止直接提交到 main/master
   - 除非用户开启自动推送，否则不执行 push
2. **更新进度文档**：状态改为「已完成」，写入最终总结
3. **生成交付总结给用户**。用户可能隔数小时回来查看，没有上下文，总结需要清晰完整：

```text
# 任务交付总结
任务：xxx
状态：已完成
✅ 达成目标：xxx
✅ 校验结果：全部通过
变更文件列表：
- file1.js
- file2.md
简要说明：xxx
```

## 边界约束与自我管控

如果 task.md 在 `## Boundaries`（边界限制）章节规定了限制（成本上限、时长上限、重试次数、可修改文件范围），必须遵守。这类限制没有系统强制拦截，属于对齐阶段约定的软限制，由你自觉遵守。

- **文件范围**：修改文件前，确认该文件在 task.md 允许范围内。如需修改范围外文件，记录原因并先获得用户确认。
- **时间感知**：如果耗时远超进度文档预估时长，暂停评估：是否陷入无效深挖？是否需要简化方案？
- **重试管控**：多次「修复 → 校验」仍失败时，问题大概率是方案本身而非代码实现。在消耗更多资源前，及时止损。

## 成功标准

一次成功的 task-implement 执行，需要满足：

1. 完成 task.md 描述的任务目标
2. verification.md 内所有检查项通过（经独立校验确认）
3. progress.md 完整记录全部执行过程
4. 用户回来后可以看到清晰交付总结，分支干净可用于代码评审
5. 无未报备意外情况；所有异常都已记录，必要时提前和用户沟通确认

---

## DSH 工具映射（本副本补充）

上游技能面向另一套运行时，落到 DSH 时按此对应：

| 上游工具 | DSH 对应 |
|---|---|
| Read / Glob / Grep | `read` / `glob` / `grep` |
| Write / Edit | `write` / `edit` |
| Bash | `pwsh`（Windows 环境：用 PowerShell 语法，路径用 `C:\...` 形式，读环境变量用 `$env:NAME`） |
| Agent（子智能体） | `subagent`（后台默认，需要结果再设为前台）或 `subagent_fork`（需要继承当前会话上下文时） |

补充约定：

- **委派子智能体**用 `subagent`：提示词必须自包含（子智能体看不到本会话），并写清「读哪些文件、有哪些约束、返回什么结论」。
- **独立评审**优先用 `subagent`（干净上下文）而非 `subagent_fork`，避免评审者继承你的实现思路而失去独立性。
- **强制约束**：本技能的「进度只能通过文件编辑更新」「校验必须由独立主体执行」「禁止直接提交到 main/master」三条在 DSH 下同样成立，不因工具名变化而放宽。

