mcpField
C
checkpoint-resume

checkpoint-resume

github.com/yonatangrossエージェントワークフロー299156 回インストール今日更新
リポジトリ

checkpoint-resume について

checkpoint-resume は、作業をフェーズ単位で進行させ、各フェーズ後に `.claude/pipeline-state.json` へ状態を保存する OrchestKit のスキルです。中断後は再開、別フェーズの選択、または最初からの実行ができます。

主な機能

  1. 01各フェーズ後に状態を保存
  2. 02ワークフローの進捗を表示
  3. 03再開・フェーズ選択・再開始
  4. 04独立したフェーズを並列実行
  5. 053フェーズごとにミニコミット

活用シーン

  1. 01レート制限後にワークフローを続行
  2. 02保存済みのフェーズ状態から再開
  3. 03サブエージェントで独立フェーズを調整

インストール

コマンドをコピーしてターミナルで実行します。

$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.mdCRITICALGitHub のイシュー/コミットを最初に、ファイルを多く扱うフェーズを最後に
状態の書き込み${CLAUDE_SKILL_DIR}/rules/state-write-timing.mdCRITICAL各フェーズの後に書き込み、まとめて書き込まない
ミニコミット${CLAUDE_SKILL_DIR}/rules/checkpoint-mini-commit.mdHIGH3 フェーズごとにチェックポイントコミット形式で実施

合計: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 サブエージェントを使って並列実行できます。

各フェーズの後

  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 を標準出力に表示します
  • 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/ の引き継ぎ情報をエクスポートしたりするのに適した場所です。

コメント