checkpoint-resume
Rate-limit-resilient pipeline with checkpoint/resume for long multi-phase sessions. Saves progress to .claude/pipeline-state.json after each phase. Use when starting a complex multi-phase task that risks hitting rate limits, when resuming an interrupted session, or when orchestrating work spanning commits, GitHub issues, and large file changes.
pinned to #0e54dbcupdated 2 weeks ago
Ask your AI client: “install skills/checkpoint-resume”.
Requires the metahub MCP server installed in your client. Set up MCP.
mh install skills/checkpoint-resumemetahub onboarded this repo on the author's behalf.
If you own github.com/yonatangross/orchestkit on GitHub, claim the listing to take over publishing. Your claim preserves the existing eval history and badges; only the curator label is replaced with verified-publisher on your next publish.
Stars
201
Last commit
2 weeks ago
Latest release
published
- #agent-orchestration
- #agents
- #ai-agents
- #ai-development
- #anthropic
- #claude-code
- #claude-code-plugin
- #claude-plugin
- #developer-tools
- #fastapi
- #langgraph
- #llm
- #mcp
- #rag
- #react
- #security
- #testing
- #typescript
About this skill
Pulled from SKILL.md at publish time.
Rate-limit-resilient pipeline orchestrator. Saves progress to `.claude/pipeline-state.json` after every phase so long sessions survive interruptions.
Allowed tools
- [Bash
- Read
- Write
- Edit
- Grep
- Glob
- TaskCreate
- TaskUpdate
- TaskList]
Evaluation report
WarningsAutomated checks the publisher passed at publish time — structure, docs, safety, and whether the artifact behaves as claimed.0e54dbc· 2 weeks ago
Kind-specific
31Skill: SKILL.md present
found at src/skills/checkpoint-resume/SKILL.md · frontmatter source: SKILL.md
Skill: body content present
478 words · 3,779 chars · 7 sections · 1 code block
Skill: triggers declaredwarn
No `trigger` phrases in SKILL.md frontmatter
Add `trigger:` lines so Claude knows when to activate this skill — e.g. `when building MCP servers` or `for diagram creation`.
Skill: allowed-tools scope
9 declared: [Bash, Read, Write, Edit, Grep (+4)
Release history
1- releasecurrent0e54dbcwarn2 weeks ago
Contents
Rate-limit-resilient pipeline orchestrator. Saves progress to .claude/pipeline-state.json after every phase so long sessions survive interruptions.
Quick Reference
| Category | Rule | Impact | Key Pattern |
|---|---|---|---|
| Phase Ordering | ${CLAUDE_SKILL_DIR}/rules/ordering-priority.md | CRITICAL | GitHub issues/commits first, file-heavy phases last |
| State Writes | ${CLAUDE_SKILL_DIR}/rules/state-write-timing.md | CRITICAL | Write after every phase, never batch |
| Mini-Commits | ${CLAUDE_SKILL_DIR}/rules/checkpoint-mini-commit.md | HIGH | Every 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
- Update
.claude/pipeline-state.json— seeRead("${CLAUDE_SKILL_DIR}/rules/state-write-timing.md") - 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>"):
| File | Content |
|---|---|
references/pipeline-state-schema.md | Full field-by-field schema with examples |
references/pipeline-state.schema.json | Machine-readable JSON Schema for validation |
references/resume-decision-tree.md | Logic for resuming, picking phases, or restarting |
Scripts
scripts/init-pipeline.sh <branch>— print skeleton state JSON to stdoutscripts/show-status.sh [path]— print human-readable pipeline status (requiresjq)
Key Decisions
| Decision | Recommendation |
|---|---|
| Phase granularity | One meaningful deliverable per phase (a commit, a set of issues, a feature) |
| Parallelism | Task sub-agents only for phases with empty dependencies that don't share file writes |
| Rate limit recovery | State is already saved — re-invoke /checkpoint-resume to continue |
Plan mode preserved across
--resume(CC 2.1.132+) —--permission-mode planis honored on resume, andExitPlanModere-applies plan mode for the rest of the session. Seeconfigure/references/cc-version-settings.md(## CC 2.1.132 Settings).
Claude-managed worktrees are unlocked on finish (CC 2.1.157+) and
EnterWorktreecan switch worktrees mid-session — a resumed session can clean up prior worktrees with plaingit 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-sessionlifecycle 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.
Reviews
No reviews yet. Be the first.
Related
React Doctor
Your agent writes bad React. This catches it
orchestration-patterns
>
migration-patterns
>
mh install skills/checkpoint-resume