← Back to skills
extension
Category: Development & EngineeringAPI key requirement unconfirmed

progress-manager

Summarize the work progress of the current session and persist it to the project's progress document, or restore the work context from the last session so that users can immediately continue their work. This is used for scenarios like 'save progress/log progress/update progress' or 'restore progress/continue from last work/resume from breakpoint'.

personAuthor: jakexiaohubgithub

progress-manager

本 skill 管理项目级工作进度。目标是把当前会话中已经探索清楚的代码认知、执行计划、下一步动作固化下来,让后续会话可以直接接手,少做重复搜索。

路径可见性:解析并锁定进度根目录后,在首次扫描、读取、创建或更新前,必须先显式告知用户本次操作的 .work-progress/ 绝对路径,然后直接继续,无需等待确认。save 输出 本次进度目录(读取/写入):<绝对路径>/.work-progress/;resume 输出 本次进度目录(读取):<绝对路径>/.work-progress/。

动作路由

本 skill 是统一入口,具体执行细则拆分为两个参考文档(references),按意图分流后读取对应细则执行:

  • 用户要保存、记录、更新当前进度时:读取并执行保存任务细则 save-progress.md。
  • 用户要恢复、继续、查看上次进度时:读取并执行恢复任务细则 resume-progress.md。
  • 用户意图不明确时:先根据语义判断是 save 还是 resume;仍不明确再简短询问。

共享约定

  • 任何扫描、读取或写入前,先按下文解析并锁定本次操作的“进度根目录”;不得直接把命令执行所在目录当作进度根目录。
  • 进度目录固定为进度根目录下的 .work-progress/。
  • 未完成任务放在 .work-progress/。
  • 完成任务放在 .work-progress/archive/。
  • 不维护额外状态目录;暂停、卡住、风险写入进度文件内容。
  • 文件名格式由 save-progress.md 定义;状态以目录位置为准,文件头部状态只是便于扫描的摘要。

进度根目录解析

按以下优先级只选择一个根目录:

  1. 用户显式指定:用户给出项目根目录时直接使用;给出 .work-progress/ 目录时使用其父目录;给出进度文件时向上定位最近的 .work-progress/ 并使用其父目录。将结果转为绝对路径。
  2. 宿主项目根目录:否则优先使用宿主为当前任务分配的 project root(项目根目录);没有 project root 时使用 workspace root(工作区根目录)。有多个 workspace root 时,先选择包含任务目标文件或模块的根目录,否则选择包含当前目录的根目录;嵌套候选中选路径最深的一个。
  3. Git 仓库根目录:宿主未提供根目录时,以用户指定的任务相关路径为起点,否则以当前目录为起点;起点是文件时先取其父目录。运行 git -C "<起点目录>" rev-parse --show-toplevel,该命令输出 Git(分布式版本控制系统)当前工作树的绝对根目录。
  4. 最后降级:宿主未提供根目录且起点不在 Git 仓库内时,才使用当前目录的绝对路径。

解析后将 <进度根目录>/.work-progress/ 记为本次操作的唯一进度目录。后续即使切换目录或在子包内运行命令,也不得重新解析。

失败处理:

  • 显式路径不存在或不具备当前操作所需权限时(save 需要读写,resume 需要读取),报告该绝对路径并停止;不得悄然降级到当前目录。
  • 宿主给出多个根目录时,选择包含任务目标文件或模块的根目录;仍有多个候选则列出绝对路径让用户选择,不得同时扫描或写入多个 .work-progress/。
  • 操作前按顶部“路径可见性”告知进度目录;输出摘要时再给出实际使用的进度文件绝对路径,便于下次会话显式指定。

匹配优先级

保存和恢复都按同一优先级定位目标文件:

  1. 文件名优先:用户给出完整文件名时,只操作该文件。
  2. 关键词次优先:用户给出任务关键词时,只在匹配该关键词的进度文件中选择。
  3. 自动选择最后:用户未给文件名或关键词时,按子流程规则自动新建、更新或恢复。

恢复时如果找不到明确目标,直接返回“无可恢复项”或列出候选让用户选择;不要猜测,也不要为了恢复而新建文件。

质量约束

  • 保存时优先服务下次恢复,不写流水账。
  • 恢复时优先复用进度文件中的代码认知资产,不全库重新探索。
  • 下一步 必须是动作级语句,包含要改的文件、要跑的命令或要验证的对象。
  • 如果任务卡住,当前卡点 / 风险 必须写出解除条件;无卡点时写“暂无”。
  • 默认不删除历史文件;只有用户明确要求清理时才删除。
  • 文件内容细则以对应子文档为准,避免在 SKILL.md 里重复维护模板。