checkpoint-resume について
checkpoint-resume は、作業をフェーズ単位で進行させ、各フェーズ後に `.claude/pipeline-state.json` へ状態を保存する OrchestKit のスキルです。中断後は再開、別フェーズの選択、または最初からの実行ができます。
主な機能
- 01各フェーズ後に状態を保存
- 02ワークフローの進捗を表示
- 03再開・フェーズ選択・再開始
- 04独立したフェーズを並列実行
- 053フェーズごとにミニコミット
活用シーン
- 01レート制限後にワークフローを続行
- 02保存済みのフェーズ状態から再開
- 03サブエージェントで独立フェーズを調整
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ yonatangross/ orchestkit --skill checkpoint-resumeインストール後、Claude Code で/checkpoint-resumeを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
test-cases.jsonreferences/pipeline-state-schema.mdpipeline-state.schema.jsonresume-decision-tree.mdrules/_sections.md_template.mdcheckpoint-mini-commit.mdordering-priority.mdstate-write-timing.mdscripts/init-pipeline.shshow-status.sh詳細
チェックポイントからの再開
レート制限に強いパイプラインオーケストレーターです。各フェーズの後に進捗を .claude/pipeline-state.json に保存するため、長時間のセッションも中断後に継続できます。
クイックリファレンス
| カテゴリ | ルール | 影響 | 主要なパターン |
|---|---|---|---|
| フェーズの順序 | ${CLAUDE_SKILL_DIR}/rules/ordering-priority.md | CRITICAL | GitHub のイシュー/コミットを最初に、ファイルを多く扱うフェーズを最後に |
| 状態の書き込み | ${CLAUDE_SKILL_DIR}/rules/state-write-timing.md | CRITICAL | 各フェーズの後に書き込み、まとめて書き込まない |
| ミニコミット | ${CLAUDE_SKILL_DIR}/rules/checkpoint-mini-commit.md | HIGH | 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 サブエージェントを使って並列実行できます。
各フェーズの後
.claude/pipeline-state.jsonを更新します。Read("${CLAUDE_SKILL_DIR}/rules/state-write-timing.md")を参照してください。- 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 を標準出力に表示しますscripts/show-status.sh [path]— 人が読みやすい形式でパイプラインの状態を表示します(jqが必要です)
主な判断事項
| 判断事項 | 推奨 |
|---|---|
| フェーズの粒度 | 各フェーズに意味のある成果物を 1 つ設定します(コミット、イシューのセット、機能など) |
| 並列実行 | dependencies が空で、ファイルへの書き込みを共有しないフェーズに限り、Task サブエージェントを使います |
| レート制限からの復旧 | 状態はすでに保存されています。/checkpoint-resume を再度呼び出すと続行できます |
--resumeではプランモードが維持されます(CC 2.1.132+)。再開時にも--permission-mode planが適用され、ExitPlanModeによりセッションの残りの間もプランモードが再適用されます。configure/references/cc-version-settings.md(## CC 2.1.132 Settings)を参照してください。
Claude が管理するワークツリーは終了時にロック解除され(CC 2.1.157+)、
EnterWorktreeでセッション中にワークツリーを切り替えられます。再開したセッションでは、通常のgit worktree remove/pruneで以前のワークツリーをクリーンアップできます。
/cd(CC 2.1.169+)を使うと、プロンプトキャッシュを損なわずにセッションの作業ディレクトリを変更できます。チェックポイント済みのタスクを別のディレクトリで続行する場合(たとえば、手動で作成したワークツリーに移る場合)は、再起動するより/cdを優先してください。
セルフホスト型ランナーの場合、
post-sessionライフサイクルフック(CC 2.1.169+)はセッション終了後、ワークスペース削除前に実行されます。未コミットのチェックポイント状態のスナップショットを保存したり、ワークスペースとともに削除されてしまう.claude/chain/の引き継ぎ情報をエクスポートしたりするのに適した場所です。