progress-manager
使用本技能处理两类动作:
save:保存或更新进度resume:恢复并继续进度
目录与命名约束
- 进度目录:
docs/progress/ - 文件名格式:
<what>__<updated_at>__<status>.md - 状态仅允许:
doing、blocked、done
字段说明:
what:任务标识,使用小写英文和-(例:resume-skill-redesign)updated_at:最后更新时间,格式YYYYMMDD-HHMMSS,每次 save 时更新(文件重命名)status:当前状态,变更时通过重命名文件更新
save 规则
文件名优先
- 用户给了完整文件名时,只更新该文件,不再按
what自动查找。
what 次优先
- 用户未给文件名但给了
what时,仅在该what下定位目标;有则更新,无则新建...__doing.md。
自动生成
- 用户既未给文件名也未给
what时,从当前任务生成what,先查找该what下已有的非done文件;有则更新,无则新建...__doing.md。
状态通过文件名表达
- 状态变化通过重命名文件实现。每次 save 同时更新文件名中的
updated_at。
保存输出
- 返回目标文件路径,并给出当前状态与下一步首要动作。
resume 规则
文件名优先
- 用户给了完整文件名时,只恢复该文件,不做自动选择。
what 次优先
- 用户只给
what时,仅在该what下选目标;默认选最近更新且状态不是done的文件。
自动恢复
- 用户未给文件名和
what时:- 活跃任务(doing + blocked)> 1 个:先列出概览(what / 状态 / 更新时间),让用户选择。
- 仅 1 个:直接恢复。
- 同状态排序:
doing>blocked,同状态按更新时间倒序。done不参与自动恢复。
找不到明确失败
- 没有符合条件的 progress 时,直接返回”无可恢复项”,不猜测、不新建。
恢复输出
- 当前状态与目标(一句话)
- 已完成项概要
- 下一步 1-3 条(可直接执行)
- 阻塞项(如有)
- 关键文件列表
进度文件模板
# <title>
- created_at: <YYYYMMDD-HHMMSS>
## 目标
<一句话目标>
## 已完成
- <已完成项>
## 下一步
- <可直接执行动作 1>
- <可直接执行动作 2>
## 阻塞
- 无
## 关键文件
- <absolute-or-repo-relative-path>
质量约束
- 不写空泛描述,
下一步必须是动作级语句。 阻塞必须写出依赖对象或解除条件;无阻塞时写“无”。- 若用户输入与目录规则冲突,先归一化文件名再写入。
- 默认不删除历史文件;仅在用户明确要求时做清理。