mcpField
C
continue-claude-work

continue-claude-work

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

continue-claude-work について

continue-claude-work は、以前の Claude Code セッションから実行可能な情報を取り出し、現在の会話で作業を続けるスキルです。会話全体を再読み込みせず、スクリプトで要約、未完了タスク、エラー、ワークスペースの状態を抽出します。

主な機能

  1. 01セッション要約と直近の依頼の抽出
  2. 02中断した呼び出しと未完了作業の特定
  3. 03変更ファイルと Git 状態の集約
  4. 04終了理由に応じた再開方針の選択
  5. 05編集の続行と決定的な検証の実行

活用シーン

  1. 01中断された Claude Code セッションの作業再開
  2. 02過去のセッションからトピック別の作業を検索
  3. 03マルチエージェントの進捗の復元
  4. 04以前の変更を確認して開発を再開

インストール

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

$npx skills add https://github.com/daymade/claude-code-skills --skill continue-claude-work

インストール後、Claude Code で/continue-claude-workを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

.security-scan-passed
references/
file_structure.md
scripts/
extract_resume_context.py
scripts/_core/
__init__.py
claude.py
codex.py
homes.py
kimi.py
model.py
parse.py
sources.py
text.py

詳細

Continue Claude Work

概要

以前の Claude Code セッションから実行可能なコンテキストを復元し、現在の会話で作業を続けます。ローカルのセッションファイルを信頼できる情報源として、単に要約するだけでなく、具体的な編集や確認を続けます。

claude --resume を使わない理由:claude --resume はセッションのトランスクリプト全体をコンテキストウィンドウに再読み込みします。長いセッションでは、解決済みの問題や古い状態にトークンを浪費します。このスキルでは、実行可能なコンテキスト(最新の簡潔な要約、保留中の作業、既知のエラー、現在のワークスペースの状態)だけを選択的に再構成し、過去の知識を引き継いだ状態で新たに開始できます。

ファイル構成の参照

ディレクトリ構成、JSONL スキーマ、圧縮ブロックの形式については、references/file_structure.md を参照してください。

ワークフロー

ステップ 1:コンテキストを抽出する(スクリプトを 1 回実行)

同梱の抽出スクリプトを実行します。セッションの検出、圧縮境界の解析、ノイズのフィルタリング、ワークスペースの状態確認を 1 回の実行で行います。

# Latest session for current project
python3 scripts/extract_resume_context.py

# Specific session by ID
python3 scripts/extract_resume_context.py --session <SESSION_ID>

# Search by topic
python3 scripts/extract_resume_context.py --query "auth feature"

# List recent sessions
python3 scripts/extract_resume_context.py --list

スクリプトは、以下を含む構造化された Markdown のブリーフィングを出力します。

  • sessions-index.json のセッションメタデータ
  • 圧縮された要約 — 最後の圧縮境界にある Claude 自身がまとめた要約(最も重要なコンテキスト)
  • 直近のユーザーリクエスト — 直近の明示的な依頼
  • 直近のアシスタントの応答 — 完了したと報告された内容
  • 発生したエラー — ツールの失敗とエラー出力
  • 未解決のツール呼び出し — セッションが中断されたことを示します
  • サブエージェントのワークフロー状態 — 完了したサブエージェント、中断されたサブエージェント、およびそれぞれの最後の出力
  • セッション終了理由 — 正常終了、中断(ctrl-c)、エラーの連鎖、または放棄
  • 変更されたファイル — セッション中に作成、編集、読み取りされたファイル
  • MEMORY.md — セッションをまたいで保持されるメモ
  • Git の状態 — 現在の状態、ブランチ、最近のログ

スクリプトは、現在アクティブなセッション(60 秒未満前に変更されたもの)を自動的にスキップし、自分自身の情報を抽出しないようにします。

ステップ 2:セッション終了理由に応じて対応する

ブリーフィングにはセッション終了理由が含まれています。これに基づいて、適切な継続方法を選択します。

終了理由方針
正常終了セッションは通常どおり完了しています。対応済みの最後のユーザーリクエストを読みます。保留中の作業があれば、そこから続けます。
中断ツール呼び出しが実行されたものの、結果が返されていません(ctrl-c またはタイムアウトの可能性があります)。中断されたツール呼び出しを再試行するか、引き続き必要かを判断します。
エラーの連鎖複数の API エラーが原因でセッションが失敗しています。むやみに再試行せず、まず根本原因を診断します。
放棄ユーザーがメッセージを送信したものの、応答がありません。最後のユーザーメッセージを現在のリクエストとして扱います。

ブリーフィングに中断されたサブエージェントを含むサブエージェントのワークフローセクションがある場合は、それぞれが何をしていたかを確認し、再試行するかスキップするかを判断します。

ステップ 3:状況を確認して続行する

変更を加える前に、次の点を確認します。

  1. 現在のディレクトリがセッションのプロジェクトと一致していることを確認します。
  2. Git ブランチがセッション時のブランチから変わっている場合は、その旨を記録し、切り替えるかどうかを判断します。
  3. 保留中の作業に関連するファイルを調べ、以前の説明が今も正しいかを確認します。
  4. 確認せずに、以前の説明が正しいと仮定しないでください。

そのうえで、次の作業を行います。

  • 最新のユーザーリクエストに沿って、次の具体的な手順を実施します。
  • 決定論的な検証(テスト、型チェック、ビルド)を実行します。
  • 作業が妨げられている場合は、具体的な阻害要因を示し、次の行動を 1 つ提案します。
ステップ 4:報告する

簡潔に回答します。

  • 復元したコンテキスト:対象のセッションと、ブリーフィングから得られた主な情報
  • 実施した作業:変更したファイル、実行したコマンド、テスト結果
  • 残りの作業:保留中のタスクがあれば記載

スクリプトの仕組み

圧縮境界を考慮した抽出

スクリプトは、セッションの JSONL から最後の圧縮境界を見つけ、その要約を抽出します。これは、長いセッションの中で最も重要なコンテキストです。つまり、その時点までの会話全体を Claude 自身がまとめた内容です。圧縮形式と JSONL スキーマについては、references/file_structure.md を参照してください。

サイズに応じた戦略
セッションサイズ戦略
コンパクションあり最後のコンパクト要約と、コンパクション後のすべてのメッセージを読み込みます
500 KB 未満、コンパクションなしメッセージの最後の 60% を読み込みます
500 KB ~ 5 MBメッセージの最後の 30% を読み込みます
5 MB 超メッセージの最後の 15% を読み込みます
サブエージェントのコンテキスト抽出

セッションにサブエージェントのディレクトリ(<session-id>/subagents/)がある場合、スクリプトは各サブエージェントの JSONL を解析し、エージェントの種類、完了状況、最後のテキスト出力を抽出します。これにより、マルチエージェントのワークフローを復旧できます。たとえば、32 個のサブエージェントによる評価パイプラインが中断された場合、ブリーフィングで完了したエージェントと再試行が必要なエージェントを確認できます。

セッション終了理由の検出

スクリプトは、セッションの終了方法を分類します。

  • completed — アシスタントが最後に発言した(正常終了)
  • interrupted — 未解決のツール呼び出しがある(ctrl-c またはタイムアウト)
  • error_cascade — API エラーが 3 件以上
  • abandoned — ユーザーがメッセージを送信したが、応答がない
ノイズのフィルタリング

以下のメッセージタイプはスキップされます(実際のセッションでは行の 37~53% を占めます)。

  • progress、queue-operation、file-history-snapshot — 運用上のノイズ
  • api_error、turn_duration、stop_hook_summary — システムサブタイプ
  • <task-notification>、<system-reminder> — ユーザーテキストの抽出時にフィルタリングされます

ガードレール

  • claude --resume または claude --continue を実行しないでください — このスキルは、現在のセッション内でコンテキストを復旧します。
  • コンパクト要約を完全な事実として扱わないでください — 情報が失われている可能性があります。主張は必ず現在のワークスペースで確認してください。
  • 無関係な作業ツリーの変更を上書きしないでください。
  • セッションファイル全体をコンテキストに読み込まないでください — 必ずスクリプトを使用してください。

制限事項

  • ~/.claude/projects/ から .jsonl ファイルが削除されたセッションは復旧できません。
  • 他のマシン上のセッションにはアクセスできません(ファイルはローカルにのみ存在します)。
  • Edit ツールの操作では差分のみが表示され、ファイル全体の内容は表示されません。ファイル全体を復旧するには claude-code-history-files-finder を使用してください。
  • コンパクト要約は情報が失われているため、会話の初期の詳細が抜けている場合があります。
  • sessions-index.json が古く、削除済みファイルを指すエントリが含まれている場合があります。スクリプトはファイルシステムに基づく検出にフォールバックします。

トリガーフレーズの例

  • 「セッション abc123-... の作業を続けて」
  • 「再開はせず、.claude ファイルだけを読んで続けて」
  • 「前回のセッションで何をしていたか確認して、続きを進めて」
  • 「PR レビューの作業をセッションから検索して」

コメント