mcpField
C
checkpoint-resume

checkpoint-resume

github.com/yonatangrossAgent 工作流299156 次安装今天更新
代码仓库

关于 checkpoint-resume

checkpoint-resume 是 OrchestKit 的分阶段任务编排技能,每个阶段后将进度保存到 `.claude/pipeline-state.json`。发生中断后,可继续执行、选择其他阶段或重新开始。

主要功能

  1. 01每个阶段后保存状态
  2. 02显示工作流进度
  3. 03继续、选择阶段或重新开始
  4. 04并行执行互不依赖的阶段
  5. 05每三阶段创建小型提交

适用场景

  1. 01遇到速率限制后继续工作流
  2. 02从已保存的阶段状态恢复
  3. 03通过子 Agent 协调独立阶段

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/yonatangross/orchestkit --skill checkpoint-resume

安装后在 Claude Code 中输入/checkpoint-resume确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

test-cases.json
references/
pipeline-state-schema.md
pipeline-state.schema.json
resume-decision-tree.md
rules/
_sections.md
_template.md
checkpoint-mini-commit.md
ordering-priority.md
state-write-timing.md
scripts/
init-pipeline.sh
show-status.sh

详细介绍

检查点续接

具备抗速率限制能力的流水线编排器。每个阶段结束后都会将进度保存到 .claude/pipeline-state.json,确保长时间会话在中断后仍可继续。

快速参考

类别规则影响关键模式
阶段顺序${CLAUDE_SKILL_DIR}/rules/ordering-priority.mdCRITICAL优先处理 GitHub issues/commits,文件密集型阶段放在最后
状态写入${CLAUDE_SKILL_DIR}/rules/state-write-timing.mdCRITICAL每个阶段后写入,绝不批量写入
迷你提交${CLAUDE_SKILL_DIR}/rules/checkpoint-mini-commit.mdHIGH每 3 个阶段提交一次,使用检查点提交格式

共计:3 个类别中的 3 条规则

调用时

**如果 .claude/pipeline-state.json 存在:**运行 scripts/show-status.sh 显示进度,然后询问是继续、选择其他阶段,还是重新开始。加载 Read("${CLAUDE_SKILL_DIR}/references/resume-decision-tree.md") 以查看完整决策树。

**如果状态文件不存在:**请用户描述任务,制定执行计划,通过 scripts/init-pipeline.sh <branch> 写入初始状态,然后开始阶段 1。

执行计划结构

{
  "phases": [
    { "id": "create-issues", "name": "Create GitHub Issues", "dependencies": [], "status": "pending" },
    { "id": "commit-scaffold", "name": "Commit Scaffold", "dependencies": [], "status": "pending" },
    { "id": "write-source", "name": "Write Source Files", "dependencies": ["commit-scaffold"], "status": "pending" }
  ]
}

dependencies 为空的阶段可以通过 Task 子 Agent 并行运行(前提是它们不会写入相同文件)。

每个阶段结束后

  1. 更新 .claude/pipeline-state.json——参见 Read("${CLAUDE_SKILL_DIR}/rules/state-write-timing.md")
  2. 每 3 个阶段:创建一次迷你提交——参见 Read("${CLAUDE_SKILL_DIR}/rules/checkpoint-mini-commit.md")

参考资料

按需通过 Read("${CLAUDE_SKILL_DIR}/references/<file>") 加载:

文件内容
references/pipeline-state-schema.md完整的逐字段架构及示例
references/pipeline-state.schema.json用于验证的机器可读 JSON Schema
references/resume-decision-tree.md继续、选择阶段或重新开始的逻辑

脚本

  • scripts/init-pipeline.sh <branch> — 将状态 JSON 框架打印到 stdout
  • scripts/show-status.sh [path] — 打印易读的流水线状态(需要 jq)

关键决策

决策建议
阶段粒度每个阶段交付一项有意义的成果(一次提交、一组 issues、一项功能)
并行执行仅对 dependencies 为空且不会写入相同文件的阶段使用 Task 子 Agent
速率限制恢复状态已保存——重新调用 /checkpoint-resume 继续

--resume 会保留计划模式(CC 2.1.132+)——恢复时会遵循 --permission-mode plan,而 ExitPlanMode 会在本次会话的剩余时间内重新应用计划模式。参见 configure/references/cc-version-settings.md(## CC 2.1.132 Settings)。

Claude 管理的 worktree 会在结束时解锁(CC 2.1.157+),且 EnterWorktree 可以在会话中切换 worktree——恢复的会话可以通过普通的 git worktree remove/prune 清理先前的 worktree。

/cd(CC 2.1.169+)可将会话移动到新的工作目录,且不会破坏提示词缓存——当带检查点的任务要在不同目录中继续时(例如切换到手动创建的 worktree),应优先使用它,而不是重新启动。

可自托管运行器:post-session 生命周期钩子(CC 2.1.169+)会在会话结束后、工作区删除前运行——这是快照未提交检查点状态或导出 .claude/chain/ 交接内容的理想位置,否则这些内容会随工作区一并销毁。

评论

支持 Markdown