用途:根据用户给出的任务 ID 或名称(来自 $ARGUMENTS)查找并开始执行任务,适合在 taskmd 管理的任务队列中“认领”并推进工作。
主要能力与用法:
- 查找任务:运行 taskmd get $ARGUMENTS;若未找到,运行 taskmd list 展示可用任务并询问用户指哪一个。
- 用 Read 工具读取任务文件,获取完整描述、子任务和验收标准。
- 标记进行中:在当前工作目录运行 taskmd set <ID> --status in-progress。
- worklog 仅在 .taskmd.yaml 中明确写有 worklogs: true 时才启用;未显式启用就静默跳过,不向用户提及。启用时在 tasks/<组>/.worklogs/<ID>.md(根任务为 tasks/.worklogs/<ID>.md)追加带时间戳的条目。
- 执行任务:按描述完成工作,非平凡实现使用 EnterPlanMode,计划中引用原任务 ID 和任务文件路径;完成子任务后在任务文件中勾选 - [x],遇到关键决策、阻塞或完成重要子任务时追加 worklog。
- 收尾:用 /complete-task 技能(传入任务 ID)完成任务,由它处理验证和状态变更。
worklog 格式:以时间戳标题加自由笔记,例如 ## 2026-02-15T10:30:00Z,可记录方法、已完成项(- [x] 列表)和后续计划。
限制与注意:worktree 安全要求任何 taskmd 写操作前不要 cd;taskmd 从当前目录解析任务目录,先 cd 到仓库根目录会在另一分支的检出中静默改错状态。多 worktree 仓库中,若任务只存在于同级 worktree,taskmd set 会拒绝写入并提示到拥有该任务的 worktree 中运行;此时应去正确位置运行,而不是靠 cd 绕过。在当前 worktree 设为 in-progress 即视为认领,同级 worktree 可见合并视图,其 taskmd next 不会再分配同一任务。worklog 为可选功能,未启用则全部跳过。