mcpField
S
session-management

session-management

github.com/atholaエージェントワークフロー343116 回インストール5 日前に更新
リポジトリ

session-management について

Claude Code でセッションに名前を付け、コンテキストを保ちながら長期作業を再開するスキルです。デバッグ、機能開発、PR レビュー、調査に対応します。

主な機能

  1. 01/rename によるセッション命名
  2. 02REPL またはターミナルからの再開
  3. 03セッションの一覧表示・プレビュー・整理
  4. 04プルリクエストに紐づくセッションの再開
  5. 05セッションの欠落や不完全なコンテキストへの対処

活用シーン

  1. 01数日にわたるデバッグ作業の中断と再開
  2. 02長期的な機能開発でのマイルストーン管理
  3. 03複数回に分けた PR レビューの継続
  4. 04既存のコンテキストを引き継いだ調査の再開

インストール

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

$npx skills add https://github.com/athola/claude-night-market --skill session-management

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

詳細

セッション管理

使用する場合

  • セッションのチェックポイントと状態の保持を管理する
  • 複数の Claude Code セッションをまたいで作業を再開する

使用しない場合

  • チェックポイントが不要な短時間のセッション
  • 以前のセッションコンテキストが存在しない、新規に始める場合

概要

Claude Code は、ワークフローをより適切に整理できる名前付きセッションに対応しています。このスキルを使って、複数のセッションにまたがる複雑で長時間の作業を管理します。

使用可能なコマンド

コマンド説明
/rename現在のセッションに名前を付けます(引数が指定されていない場合は名前を自動生成します。2.1.41+)
/resume以前のセッションを再開します(REPL)
claude --resume <name>ターミナルから再開します

ワークフローパターン

1. デバッグセッション

再開しやすいように、デバッグセッションに名前を付けます。

# Start debugging
/rename debugging-auth-issue

# ... work on the issue ...

# If you need to pause, session is auto-saved
# Resume later:
claude --resume debugging-auth-issue
2. 機能開発のチェックポイント

長時間にわたる機能開発の途中でチェックポイントを作成します。

# After completing milestone 1
/rename feature-x-milestone-1

# Continue in new session
# Reference old session if needed
3. PR レビューセッション

複数回にわたる複雑な PR レビューの場合:

# Start review
/rename pr-review-123

# Take breaks without losing context
# Resume:
claude --resume pr-review-123
4. PR にリンクされたセッション(Claude Code 2.1.27+)

gh pr create を使って作成すると、セッションは PR に自動的にリンクされます。後から PR 固有のセッションを再開します。

# Resume session for a specific PR
claude --from-pr 156
claude --from-pr https://github.com/org/repo/pull/156

# Workflow: review → pause → resume with full context
/rename pr-review-156
# ... review work ...
# Later:
claude --from-pr 156
5. 調査セッション

調査が必要になる可能性のある問題を調べる場合:

# Start investigation
/rename investigate-memory-leak

# Pause to gather more info externally
# Resume with full context:
claude --resume investigate-memory-leak

再開画面の機能

/resume 画面には次の機能があります。

  • フォークされたセッションのグループ化:関連するセッションをまとめて表示します
  • キーボードショートカット(デフォルト設定。/keybindings でカスタマイズ可能):
    • セッションの内容をプレビューする
    • セッション名を変更する
  • 最近のセッション:最終アクティビティ順に並べ替えます
6. 終了時の再開ヒント(Claude Code 2.1.31+)

Claude Code は終了時に、会話を続けるためのコマンドを表示する再開ヒントを表示するようになりました。これによりセッションの再開が見つけやすくなり、ユーザーは事前に --resume を知っている必要がなくなります。

ベストプラクティス

命名規則

内容が分かりやすい、ハイフン区切りの名前を使います。

パターン例用途
debugging-<issue>debugging-auth-401バグの調査
feature-<name>-<milestone>feature-search-v2機能開発
pr-review-<number>pr-review-156PR レビュー
investigate-<topic>investigate-perf調査
refactor-<area>refactor-api-layerリファクタリング作業
セッションに名前を付けるタイミング

次の場合はセッションに名前を付けます。

  • 作業が複数日にわたる場合
  • 予期せず中断する可能性がある場合
  • セッションに価値のあるコンテキストが含まれている場合
  • 後で参照したい場合
セッションのクリーンアップ

名前のないセッションは、いずれガベージコレクションされます。名前付きセッションはより長く保持されます。不要になった古い名前付きセッションは、定期的にクリーンアップしてください。

Sanctum との連携

セッション管理を他の Sanctum スキルと組み合わせます。

  1. 開始前:Skill(sanctum:git-workspace-review) を実行してコンテキストを記録します
  2. セッションに名前を付ける:/rename <descriptive-name>
  3. 作業する:タスクに適したスキルを使います
  4. 必要に応じて再開する:claude --resume <name>

トラブルシューティング

セッションが見つからない

名前付きセッションが /resume に表示されない場合:

  • 名前に誤字がないか確認します
  • 長期間操作がないと、セッションの有効期限が切れることがあります
  • /resume 画面で利用可能なセッションを確認します
VS Code でセッションが重複する

VS Code で再開する際にセッションの項目が重複して表示される場合:

  • Claude Code 2.1.38+:修正済みです。再開時に重複を作成せず、既存のセッションが正しく再利用されます
  • 旧バージョン:重複した項目は無視してください。同じ基盤のセッションを参照しています
再開後にコンテキストが失われる場合

コンテキストが不完全に見える場合や、再開に時間がかかる場合:

  • Claude Code 2.1.30+:統計情報に基づくセッション読み込みと段階的な情報補完により、--resume のメモリ使用量が 68% 削減されます。セッションを多数利用している場合に特に効果があります。また、文字起こしファイルが破損したセッション(parentUuid の循環)を再開するとハングする問題も修正されます。
  • Claude Code 2.1.29+:once: true のフックが多数あるセッションを再開する際の起動の遅さが修正されました。saved_hook_context の読み込みが最適化されています。
  • Claude Code 2.1.21+:ツール実行中に中断されたセッションを再開する際の API エラーが修正されました。以前は、こうしたセッションをまったく再開できない場合がありました。
  • Claude Code 2.1.20+:セッションの圧縮/再開が修正されました。再開時に全履歴ではなく、圧縮された要約が正しく読み込まれます。
  • /catchup を使って Git の状態を更新します。
  • /debug(Claude Code 2.1.30+)を使って、セッションのトラブルシューティング診断を行います。
  • 必要に応じて Skill(sanctum:git-workspace-review) を再実行します。
  • 古いバージョンを使用している場合:再開したセッションで圧縮前の履歴が再読み込みされ、コンテキストの使用量が予期せず増えることがあります。
macOS での孤立プロセス(Claude Code 2.1.46+)

以前は、macOS でターミナルとの接続を切断すると、孤立した Claude Code プロセスが実行されたままになることがありました。この問題は 2.1.46+ で修正されています。古いバージョンで古い CC プロセスが見つかった場合は、手動で確認して終了してください:

# Find orphaned claude processes
ps aux | grep -i claude | grep -v grep
7. 自動メモリ(Claude Code 2.1.32+)

Claude は作業中に、メモリを自動的に記録して呼び出すようになりました。セッションの要約、重要な結果、作業ログが暗黙的に保存され、今後のセッションで呼び出されます。これにより、チェックポイントを手動で管理することなく、セッションをまたいだ継続性が受動的に確保されます。

  • 操作は不要です:Anthropic のファーストパーティ API では、メモリの記録が自動的に行われます。
  • 名前付きセッションを補完します:自動メモリが暗黙的な継続性を担い、名前付きセッションが明示的な整理を担います。
  • トークンのオーバーヘッド:呼び出されたメモリは基本コンテキストに加算されるため、MECW の予算に含めてください。
8. 再開時のエージェントの保持(Claude Code 2.1.32+)

--resume は、デフォルトで前回の会話の --agent の値を再利用するようになりました。再開されたエージェント固有のワークフローでは、エージェントを再指定しなくても、同じエージェント設定が引き継がれます。

# Start with a specific agent
claude --agent my-agent

# Resume later — my-agent is automatically used
claude --resume

関連項目

  • /catchup - Git の変更からコンテキストを更新します
  • /clear - 新しいセッションを開始します
  • Skill(sanctum:git-workspace-review) - リポジトリのコンテキストを記録します

完了条件

  • /rename を使い、文書化されたパターン(例:debugging-*、 feature-*、pr-review-*)のいずれかに一致する、ハイフン区切りの 説明的な名前でセッションに名前が付けられている
  • claude --resume <name> でセッションを再開しても、以前の コンテキストが失われない(以前の会話が残っていることを確認する)
  • 再開時にセッション名が見つからない場合、トラブルシューティングの 手順(入力ミス、セッションの有効期限を確認する)がエラーとともに 表示される
  • PR に紐付いたセッション(Claude Code 2.1.27+)の場合、 claude --from-pr <number> で、その PR に関連付けられたセッションが 正しく再開される
  • 再開後にセッションのコンテキストが不完全に見える場合、 Skill(sanctum: git-workspace-review) を再実行し、その出力で現在のリポジトリの 状態が確認できる

コメント