【Claude Code】スラッシュコマンドでセッション引き継ぎを仕組み化する

【Claude Code】スラッシュコマンドでセッション引き継ぎを仕組み化する

2026.02.18

データ事業本部の川中子(かわなご)です。

私は普段からClaude Codeを利用しているのですが、
規模の大きいタスクを実施する際のコンテキスト管理に苦戦していました。

CLAUDE.mdを適宜Claude自身に更新させる運用も試していたのですが、
同じファイルを繰り返し修正することでファイルに情報が混在してしまい、
Claudeのコンテキストが不要な情報で汚染されてしまうことがありました。

最近はCompactionの精度も上がってきているような気もするのですが、
どちらにせよコンテキストの長期保存については引き続き課題だと思っています。

そんな課題の解決方法として、以下の記事を見つけたので早速取り入れてみました。

https://izanami.dev/post/3b2789ca-30ee-403f-af43-83e2c7009fb1

私なりに使い方をカスタマイズしてみたので、記事にしてみたいと思います。

Claude Codeのベストプラクティス

Claude Code公式で紹介されているベストプラクティスを確認してみると、
コンテキストウィンドウの管理が最も重要なポイントとして挙げられています。

https://code.claude.com/docs/en/best-practices

Most best practices are based on one constraint: Claude's context window fills up fast, and performance degrades as it fills.

コンテキストが埋まるとClaude Codeは自動的にCompactionを実行しますが、
Compactionを繰り返すようなセッションの使い方はパフォーマンスの低下を招きます。

公式ドキュメントでも単一セッションで複数のタスクを往復するような使い方は
The kitchen sink sessionというアンチパターンとして紹介されており、
タスクの区切りで/clearによるコンテキストのリセットが推奨されています。

A clean session with a better prompt almost always outperforms a long session with accumulated corrections.

つまりセッションはタスクごとに適切に区切ることが推奨されているのですが、
実際は前段タスクの情報を引き継いで作業をしたいことが多いと思います。

冒頭に紹介した記事の通り、セッション情報の要約を能動的に作成することで、
必要な情報のみを次のセッションに引き継ぐことができます。

今回はClaude Codeのカスタムスラッシュコマンド/handoverを作成して、
自分なりに運用をカスタマイズしてみたので、そちらの内容をご紹介します。

やること

本記事で実装するのは以下の3つです。

  • カスタムスラッシュコマンド/handoverの定義:
    • セッション終了時にhandoverファイルを自動生成するコマンドを作成
  • グローバルCLAUDE.mdへの運用ルール追加:
    • セッション開始時にhandoverファイルを読み込むルールを設定
  • プロジェクトごとの引き継ぎファイル管理:
    • .claude/handovers/ディレクトリにタイムスタンプ付きで出力

スラッシュコマンドの定義

~/.claude/commands/handover.mdを以下の内容で作成します。

# セッション引き継ぎノート生成

セッション終了時や作業の区切りで、引き継ぎノートを生成する。

## 手順

1. 今回のセッションで行ったことを振り返る
2. プロジェクトルートの `.claude/handovers/` ディレクトリが存在しない場合は作成する
3. `YYYY-MM-DD_HHmm.md` のファイル名で引き継ぎノートを生成する(例: `2026-02-17_1430.md`
4. 既存のファイルと同名になる場合は末尾に `_2` などの連番を付与する

## 引き継ぎノートの構成

必ず以下のセクションを含める。該当なしのセクションは「なし」と記載する。

### 今回やったこと

- 作業内容と進捗を箇条書きで

### 決定事項

- 確定した設計判断、方針、ルールなど

### 捨てた選択肢と理由

- 検討したが採用しなかったアプローチとその理由

### ハマりどころ

- 詰まったポイント、エラー、想定外の挙動など

### 学び

- 今回得られた知見、気づき

### 次にやること

- 未完了のタスク、次のセッションで着手すべきこと
- 優先度がわかるように書く

### 関連ファイル

- 今回触った主要ファイルのパス一覧

## ルール

- 簡潔に書く
- 箇条書き中心
- 推測や曖昧な表現は避け、事実ベースで書く
- 「捨てた選択肢と理由」は特に重要。次のセッションで同じ議論を繰り返さないために

内容はほぼ参考記事で紹介されたものと同じになっているのですが、
主に出力ファイルの運用方法の部分をカスタマイズしています。

このコマンドの運用方法について、いくつか補足します。

出力先をhandovers/ディレクトリにする

参考記事では単一のHANDOVER.mdに出力する方式でしたが、
プロジェクトごとの.claude/handovers/ディレクトリを作成して、
その中にタイムスタンプ付きのファイル名で出力する方式にしています。

分けた理由としては、うまくファイル情報を更新できなかった場合に、
過去セッションの大切な情報が消失してしまう可能性があると考えたためです。

フォルダはプロジェクトルートの.claude/配下に管理されていくので、
ユーザーがhandoverファイルを意識する必要はありません。

「捨てた選択肢と理由」セクション

この機能の中で特に重要なのは「捨てた選択肢と理由」だと感じています。
これらを明記することで修正指示などの無駄なやり取りを防ぐことができます。

またタスク終了時に全てのhandoverファイルを参照することで、
タスクにおける意思決定の履歴を記録するADRも作成できます。

https://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/architectural-decision-records/welcome.html

ADR作成自体もskillsとしてグローバル単位で作成してみるのもいいかも知れません。

また同様に学びセクションについてもグローバル単位で外部管理するようにして、
個人のナレッジとして横断的に収集・蓄積する仕組みにするのも面白そうです。

CLAUDE.mdへの記載

この機能の運用として、ユーザーが任意のタイミングで実行することを前提としています。
逆にファイルの読み込みについては、セッション開始時に読み込むようにしました。

CLAUDE.mdには以下の運用ルールを記載しています。

# セッション引き継ぎ

- セッション開始時にプロジェクトルートの `.claude/handovers/` ディレクトリを確認し、ファイルが存在すれば最新のものを読み込む
- セッション終了時や作業の区切りでは `/handover` の実行を促す

これにより、以下の動作が実現します。

  • セッション開始時: Claudeが.claude/handovers/を確認し、最新のhandoverファイルを読み込んで前回の作業文脈を把握する
  • セッション終了時: Claudeが/handoverの実行を促してくれるので、handoverファイルの作成を忘れにくくなる

実際は同一プロジェクト内の作業でも前回セッションに関係しないタスクもあるので、
ファイルの読み込みについてはユーザーが能動的に指示する形でもいいかも知れません。

このあたりは実際の作業ディレクトリの構造に合わせて、
handoverファイルの管理場所を変えながら運用を修正していきたいと考えています。

フォルダ構成について

私の環境では以下のようなフォルダ構成で運用しています。

コマンド自体はグローバルで定義してどこでも利用できるようになっていて、
実際のhandoverファイルはプロジェクトごとに管理されています。

~/.claude/
├── CLAUDE.md                    # グローバル設定
└── commands/
    └── handover.md              # コマンド定義

{プロジェクトルート}/
└── .claude/
    └── handovers/               # /handover 実行時に自動作成
        ├── 2026-02-15_1430.md
        ├── 2026-02-16_0945.md
        └── 2026-02-17_1100.md   # 最新のノートを次回セッションで読み込む

前述の通り、プロジェクト内で複数タスクを実行する場合、
handovers/ディレクトリをプロジェクトルートに置く運用よりも、
実際のタスク単位のフォルダ内に配置する運用がいい気もしています。

使ってみてよかったこと

セッションの区切りを意識するようになる

/handoverがあることで「ここで一度セッションを区切ろう」という意識が生まれます。

また単一のセッションが修正指示などで無駄に長くならないように、
タスクの開始時点で必要な情報が渡るよう、事前に整理する意識も強まります。

Claude Codeのベストプラクティス遂行には非常に親和性の高い機能だと思います。

Claudeフレンドリーなフォルダ構造を考えるきっかけになる

今回この機能の運用を考えるうえで、フォルダの構造について考えさせられました。

グローバルで使いたいものとプロジェクトで使いたいものを区別したり、
各プロジェクト内にどんな情報を置いて、Claudeに何を読み込ませるのか、
実際の業務内のファイルの導線などについて考えるきっかけになりました。

さいごに

今回は参考記事をもとにClaude Codeのカスタムスラッシュコマンドを作成し、
セッション間の引き継ぎを仕組み化する方法とその運用を紹介しました。

実装自体はMarkdownファイルを2つ作成するだけなので簡単に試せます。
Claude Codeに参考記事を渡して、追加で少し対話すれば実装できると思います。

少しでも参考になれば幸いです。
最後まで記事をご覧いただきありがとうございました。

この記事をシェアする

FacebookHatena blogX

関連記事