mcpField
C
checkpoint-resume

checkpoint-resume

github.com/yonatangrossAgent workflows299156 installsUpdated today
Repository

About checkpoint-resume

checkpoint-resume is an OrchestKit skill that coordinates phased work and saves progress to `.claude/pipeline-state.json` after each phase. It supports resuming, selecting another phase, or restarting after an interruption.

Key features

  1. 01Save state after every phase
  2. 02Show pipeline progress
  3. 03Resume, select a phase, or restart
  4. 04Run independent phases in parallel
  5. 05Create mini-commits every three phases

Use cases

  1. 01Continue a pipeline after rate limits
  2. 02Resume work from saved phase state
  3. 03Coordinate independent phases with sub-agents

Install

Copy the command and run it in a terminal.

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

After installing, type/checkpoint-resumein Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with 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

Details

From the project README

Checkpoint Resume

Rate-limit-resilient pipeline orchestrator. Saves progress to .claude/pipeline-state.json after every phase so long sessions survive interruptions.

Quick Reference

CategoryRuleImpactKey Pattern
Phase Ordering${CLAUDE_SKILL_DIR}/rules/ordering-priority.mdCRITICALGitHub issues/commits first, file-heavy phases last
State Writes${CLAUDE_SKILL_DIR}/rules/state-write-timing.mdCRITICALWrite after every phase, never batch
Mini-Commits${CLAUDE_SKILL_DIR}/rules/checkpoint-mini-commit.mdHIGHEvery 3 phases, checkpoint commit format

Total: 3 rules across 3 categories

On Invocation

If .claude/pipeline-state.json exists: run scripts/show-status.sh to display progress, then ask to resume, pick a different phase, or restart. Load Read("${CLAUDE_SKILL_DIR}/references/resume-decision-tree.md") for the full decision tree.

If no state file exists: ask the user to describe the task, build an execution plan, write initial state via scripts/init-pipeline.sh <branch>, begin Phase 1.

Execution Plan Structure

{
  "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" }
  ]
}

Phases with empty dependencies may run in parallel via Task sub-agents (when they don't share file writes).

After Each Phase

  1. Update .claude/pipeline-state.json — see Read("${CLAUDE_SKILL_DIR}/rules/state-write-timing.md")
  2. Every 3 phases: create a mini-commit — see Read("${CLAUDE_SKILL_DIR}/rules/checkpoint-mini-commit.md")

References

Load on demand with Read("${CLAUDE_SKILL_DIR}/references/<file>"):

FileContent
references/pipeline-state-schema.mdFull field-by-field schema with examples
references/pipeline-state.schema.jsonMachine-readable JSON Schema for validation
references/resume-decision-tree.mdLogic for resuming, picking phases, or restarting

Scripts

  • scripts/init-pipeline.sh <branch> — print skeleton state JSON to stdout
  • scripts/show-status.sh [path] — print human-readable pipeline status (requires jq)

Key Decisions

DecisionRecommendation
Phase granularityOne meaningful deliverable per phase (a commit, a set of issues, a feature)
ParallelismTask sub-agents only for phases with empty dependencies that don't share file writes
Rate limit recoveryState is already saved — re-invoke /checkpoint-resume to continue

Plan mode preserved across --resume (CC 2.1.132+) — --permission-mode plan is honored on resume, and ExitPlanMode re-applies plan mode for the rest of the session. See configure/references/cc-version-settings.md (## CC 2.1.132 Settings).

Claude-managed worktrees are unlocked on finish (CC 2.1.157+) and EnterWorktree can switch worktrees mid-session — a resumed session can clean up prior worktrees with plain git worktree remove/prune.

/cd (CC 2.1.169+) moves the session to a new working directory WITHOUT breaking the prompt cache — prefer it over restarting when a checkpointed task continues in a different directory (e.g. hopping into a manually created worktree).

Self-hosted runners: the post-session lifecycle hook (CC 2.1.169+) runs after session end and before workspace deletion — the right place to snapshot uncommitted checkpoint state or export .claude/chain/ handoffs that would otherwise be destroyed with the workspace.

Comments

Markdown supported