---
name: zsc-update-task
description: 当任务过期或需要刷新时，用于更新已有任务内容（闭环描述、TODO_LIST 等）的技能。仅编辑任务，不执行 TODO；执行请用 zsc-run-task。当用户想刷新任务上下文、更新闭环描述或 TODO_LIST 或修订任务设计而不跑任务时使用。回复请使用中文。
---

# zsc-update-task

**职责范围：仅更新（编辑）已有任务。** 本技能修订 `.agents/tasks/` 下某一任务的内容：更新闭环描述、TODO_LIST 或其他部分，使任务与当前上下文一致（例如代码变更后或任务已过期时）。**不**负责实现 TODO 或执行任务——执行请用 **zsc-run-task**。任务的**创建**由 **zsc-create-task** 负责。

## 操作边界（强制，最高优先级）

**只要使用了本技能，无论用户提示词是什么：**
- **可以**：阅读项目（包括 `.agents/tasks` 与代码库）以理解上下文；**仅编辑**所选任务在 `.agents/tasks/` 下的文件（如该任务的 `.md` 或 `task_records/log/` 下的内容）。更新闭环描述、TODO_LIST 的结构与项或其他任务内容，使任务保持准确、可执行。
- **不可以**：创建新任务目录（应使用 **zsc-create-task**）。不得实现 TODO 或修改 `.agents/tasks` 以外的项目代码（实现请用 **zsc-run-task**）。本技能**仅用于编辑任务文档**。
- 即使用户在提示词中要求「改代码」「实现 TODO」或「修改功能」，你也**只能**在 `.agents/tasks` 下更新任务内容，**绝不能**改动该目录以外的代码或测试。

## 何时使用

- 用户说任务「过期」或要「更新」「刷新」某任务。
- 用户想根据当前代码/上下文修订闭环描述或 TODO_LIST。
- 用户想修改任务设计（增删、调整 TODO 项，更新生命周期描述）而不动手做——只改任务文件。

不要用于创建新任务（**zsc-create-task**）或执行 TODO（**zsc-run-task**）。

## 任务文件位置

- 任务目录：`.agents/tasks/task_{no}_{feat_name}/`
- 任务文件：规范命名为与目录同名，如 `task_01_scan_plugin/task_01_scan_plugin.md`（便于 @ 引用）；读取时支持旧版 `task.md`。

## 工作流

### 1. 确定要更新的任务

- 若用户指定了任务（如「task_02」「zsc_task_cli」），打开该任务目录及其 `.md` 文件。
- 若未指定，可先列出任务（如运行 `zsc task list`）并询问要更新哪一个，或选最相关的一个。

### 2. 收集当前上下文

- 阅读该任务当前的闭环描述与 TODO_LIST。
- 可结合代码库或用户提示，了解发生了哪些变化或需要反映什么（如新增模块、重命名 API）。

### 3. 仅编辑任务文件

- **更新闭环描述**：若目标资源或生命周期已变化，使其与当前行为一致。
- **更新 TODO_LIST**：增删、调整顺序或改写项；保留维护说明。**不要**实现这些项（不修改 `.agents/tasks` 以外的代码）。
- **当交付物有多处项目落点**时：确保闭环描述或 TODO_LIST **逐一覆盖**每一处落点（如源码、注册/接入、打包或清单以便随发行版分发）。若发现漏掉某一处（例如缺少「打包/清单」导致制品未随安装包下发），应补充或保留对应的 TODO 或闭环条款，避免执行阶段遗漏。
- 将修改保存到该任务的 `.md`（必要时可写入 `task_records/log/` 作为备注）。

### 4. 确认

- 简要说明更新了哪些内容（如「已更新闭环描述与 3 条 TODO」）。提醒用户：要**执行**任务请使用 **zsc-run-task**。

## 说明

- **zsc-update-task** = 仅编辑任务内容（闭环描述、TODO_LIST 等）。**zsc-run-task** = 执行任务并修改项目代码。
- 始终保留 TODO_LIST 的维护说明：`> 只维护最新版本；完成后清空 TODO，仅保留"完成记录 + 日期"。` 以及已有的完成标记行。
- `zsc` 的全称是 **zig slice code**。
