Skip to content

Instantly share code, notes, and snippets.

@takeru
Created March 5, 2026 06:31
Show Gist options
  • Select an option

  • Save takeru/94d14c26a2777ec56436d4ccfec71213 to your computer and use it in GitHub Desktop.

Select an option

Save takeru/94d14c26a2777ec56436d4ccfec71213 to your computer and use it in GitHub Desktop.
Claude Code skill: move-session - セッションログを別プロジェクトに移動する
name description tools user_invocable
move-session
Claude Codeのセッションログを別プロジェクトに移動する。「セッション {session-id} をここに移動して」のように使う。
Bash
true

Move Session

Claude Codeのセッションログ(.jsonl)を別プロジェクトの管理下に移動するスキル。

トリガー

ユーザーがセッションIDを指定して「移動して」「持ってきて」などと言ったとき。

手順

1. セッションIDの特定

ユーザーの入力からセッションID(UUID形式: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)を抽出する。

2. 移動元のjsonlファイルを探す

find ~/.claude/projects -name "{session-id}.jsonl" -type f

見つからなければエラーを伝えて終了。

3. 移動先のプロジェクトディレクトリを算出

現在の作業ディレクトリ($PWD)からClaude Codeのプロジェクトディレクトリ名を算出する。

エンコーディングルール: パスの /. をすべて - に置換する。

例: /home/takeru/proj/playwright-login-home-takeru-proj-playwright-login

移動先: ~/.claude/projects/{エンコードされたパス}/

4. 移動元と移動先が同じでないことを確認

同じ場合は「すでにこのプロジェクトのセッションです」と伝えて終了。

5. 移動を実行

mv {移動元jsonlパス} {移動先ディレクトリ}/

6. 完了メッセージ

以下の形式で案内する:

移動完了: {移動元プロジェクト} → {移動先プロジェクト}

このセッションを終了してから、以下のコマンドで再開してください:
claude -r {session-id}

注意事項

  • ~/.claude/debug/, ~/.claude/session-env/, ~/.claude/file-history/ にもセッションIDに対応するファイル/ディレクトリがあるが、これらはプロジェクト非依存なので移動不要。
  • jsonl内の cwd フィールドは当時の作業ディレクトリの記録であり、書き換え不要。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment