メインコンテンツへスキップ

Claude Code スラッシュコマンド: 長く、クリーンにセッションを回す

組み込みの Claude Code スラッシュコマンドで、セッションをまたいでコンテキスト、変更、コストを管理し、反復的なワークフローを自動化するカスタムコマンドを作成する方法を学びます。
更新 2026年6月23日  · 15 分 読む

Claude Code で複数ファイルの変更を扱ったり、長いデバッグセッションを進めたりすると、単なるチャット以上のものが必要になり、問題に直面します。必要なのは、セッション管理、計画ツール、そしてミスを巻き戻す機能です。Claude Code のスラッシュコマンドは、これらをすべて提供します。

本ガイドでは、目的別に整理した基本的なスラッシュコマンドを取り上げます。コンテキスト管理、計画とレビュー、軌道維持、セッションのナビゲーション、コストとパフォーマンスの制御です。最後に、独自のスラッシュコマンドを作成して、Claude Code を自分用に仕立てる方法を解説します。

Claude Code が初めてで、まず全体像を掴みたい場合は、先にClaude Codeチュートリアルを確認してから本ガイドに進むとよいでしょう

要点

  • Claude Code のスラッシュコマンドは5つのグループに分かれ、数ターンを超える長いセッションで発生する特定の問題を解決します。

  • コンテキスト管理: /compact/clear/context により、セッションが膨らんでも Claude の応答品質が劣化しないようにします。

  • 計画とレビュー: /plan/diff によって、ミスの連鎖を防ぎ、コミット前に変更点を明確に把握できます。

  • 集中維持: /goal は多くのターンにわたり明確な成果に向けて作業を継続させ、/btw は脱線がメインスレッドを汚すのを防ぎます。

  • ナビゲーション: /resume/branch/rewind によって、過去の作業に戻り、安全に試行し、ミスをきれいに取り消せます。

  • コストとパフォーマンス: /cost/model/effort によって、タスクに最適なモデルと推論深度を選び、定型処理にトップレートを払わずに済みます。

  • カスタムコマンド: .claude/commands/(または新しい .claude/skills/)内のファイルで、繰り返しのプロンプトを1行の呼び出しに変換します。

Claude Code のスラッシュコマンドとは?

Claude Code のスラッシュコマンドは、バンドル済みのスキル、組み込みのセッション制御、またはカスタムの自動ワークフローを、ターミナルから直接トリガーするためのショートカットです。

スラッシュコマンド vs CLI フラグ vs キーボードショートカット

CLI フラグは Claude Code の起動方法を設定し、キーボードショートカットはリアルタイムの割り込みを扱い、スラッシュコマンドはセッション内に入った後の細かな制御を提供します。 

ワークフローの異なるタイミングで異なるニーズが生じるため、この3層が存在します。毎回すべてを使うわけではありませんが、存在を知っていれば必要なときに適切なツールを選べます。

スラッシュコマンドはアクティブなセッション内で直接入力します。先頭が /(例: /compact/plan/clear など)で、即座に実行されます。今まさにその会話内で起きていることを制御します。

CLI フラグはターミナルから Claude Code を起動する際に設定します。例えば claude --model claude-opus-4-6claude --continue は CLI フラグです。セッション開始前の設定です。フラグの全容は当社の Claude Code CLI チュートリアルをご覧ください。

キーボードショートカットは UI レベルで動作します。Esc は実行中の応答を中断、Esc 連打で巻き戻しメニューを開き、Shift+Tab はプランモード/編集の承認/自動モードを切り替えます。頻繁に行う操作のため、身体で覚えたいショートカットです。

この記事はスラッシュコマンド、つまりプロンプトの合間に使うコマンドに焦点を当て、該当コマンドと重なる箇所のみキーボードショートカットにも触れます。

最重要の Claude Code コマンドはどれ?

以下の表では、本ガイドで取り上げる重要な13コマンドをまとめています。

コマンド

目的

/compact [instructions]

古いターンを要約し、任意の指示とともにコンテキストウィンドウの空き領域を確保する

/clear [name]

ハードリセット。空のコンテキストで新しい会話を開始する

/context [all]

現在のコンテキストウィンドウの使用状況をカラ―グリッドで可視化する

/plan [description]

ファイル変更前に読み取り専用のプランモードへ入る

/diff

セッション中のすべての変更を示すインタラクティブビューアを開く

/goal [condition]

Claude がターンを跨いで目指す高レベルの目標を設定する

/btw <question>

メインの会話に追加せずに脇質問を行う

/resume [session]

名前指定またはピッカーから過去のセッションを継続する

/branch [name]

別アプローチを試すために会話を分岐する(別名: /fork)

/rewind

コード、会話、またはその両方を以前のターンへ巻き戻す

/cost

/usage の別名 — トークン消費やクオータ使用量を表示

/model [model]

セッション途中でアクティブモデルを切り替える

/effort [level]

推論深度を low から max まで設定する

:最新の Claude Code では /cost/usage の別名であり、/fork/branch の別名です。

セッション内で / を入力すると、すべてのオプションを確認できます。

The slash command context menu

Claude Code のコンテキストウィンドウを管理する方法

Claude Code のコンテキストウィンドウを管理するには(上級ユーザーに不可欠なスキル)、/compact/clear/context コマンドを使います。

Claude Code におけるコンテキストウィンドウとは?

コンテキストウィンドウは、セッションの作業用メモリです。以下の情報を多く保持します: 

  • 会話履歴
  • ファイル内容
  • コマンド出力
  • CLAUDE.md の指示
  • MCP のコンテキスト
  • Claude のシステムプロンプト

溜まってくると、Claude Code はセッション冒頭で説明したファイル構造、提示した制約、その他の重要情報など、以前の内容を見失い始めます。上限に達したときだけでなく、その前から品質は低下します。

/compact

/compact は会話の古いターンを要約し、圧縮版と置き換えることでトークン予算を解放しつつ、セッション序盤の出来事を Claude に把握させ続けます。早めの実行と、保存すべき点を意図的に指定するのがベストプラクティスです。

基本は /compact だけで呼び出します。より有用なのは、保持対象を指示する形です。例えば /compact focus on the auth module/compact retain the error handling patterns we discussed のように指定します。

指示を渡すと、生成される要約はそれらのトピックを優先します。データ領域の方なら、/compact focus on the schema decisions and the pipeline DAG のように指定し、行単位のデバッグ詳細を圧縮しつつ、高レベルの設計を優先的に残すといった使い方が考えられます。

コミュニティで有用とされるルール:コンテキスト使用率が80%を超える前に compact を行うこと。満杯になってからでは、Claude がすでに劣化状態で動作しているため、要約品質が下がります。 

重要な注意点:CLAUDE.md の内容、読み込まれたスキル、メモリファイルは、コンパクション中に自動的に保持されます。明示的に保持対象として指定する必要はありません。

/clear

/clear は会話履歴を完全に消去し、白紙の状態からやり直します。タスクの境目で /clear を使ってください。

任意で名前を渡し、クリア前にセッションへラベルを付けられます:/clear payment-refactor/resume ピッカーで旧セッションに戻る際のラベルになります。

データローダーのデバッグを終え、全く無関係な可視化モジュールに取り掛かる場合、古いコンテキストを引き継ぐのは妨げになります。白紙に戻せば、参照の取り違えや不要な制約の持ち越しがなくなり、新しいタスクに完全に集中できます。

同じ作業をコンテキスト肥大化なしで続けるには /compact、作業自体を切り替えるなら /clear を使います。

/context

compact か clear かを決める前に、現状を把握することが役立ちます。/context は現在のコンテキストウィンドウ使用状況をカラ―グリッドで可視化し、トークンの消費先を正確に示します。

カテゴリ別の内訳が表示されます: 

  • 会話履歴
  • ファイル内容
  • メモリファイル
  • 読み込まれたスキル

特に便利なのは、どれかが異常に領域を消費している場合に、Claude が最適化の提案をしてくれる点です。詳細な内訳を展開するには all を渡します:/context all

大きな作業を始める前に /context を実行する習慣をつけてください。ウィンドウがすでに60%埋まっている状態で、多数ファイルの大規模リファクタを compact や clear なしに始めると、いずれフラストレーションの元になります。

/context

Claude Code で変更を計画・レビューする方法

AI に任せて場当たり的にコードを書かせると、すぐに混乱を招きます。曖昧な指示が不整合な変更を生まないよう、/plandiff を使いましょう。

/plan

/plan を使うと、Claude は読み取り専用モードになり、コードベースを分析して実行計画を提案し、変更前に承認を待ちます。 

説明付きで使うと初動を与えられます:/plan refactor the feature engineering pipeline to support lazy evaluation。あなたの合図があるまで、書き込みや削除は行いません。レビューして承認すると、Claude が計画全体を実行します。

プランモードの切り替えショートカットは Shift+Tab です。セッション中で素早くモードを切り替えたい場合、コマンド入力より速いです。

プランモードが特に有効なのは次の3場面です: 

  • コードベースに不慣れなとき
  • 変更が多くのファイルにまたがるとき
  • 指示が本質的に曖昧なとき

これは、フィーチャーストアの移行、ETL ロジックのリファクタ、年々の場当たり変更が積み重なった学習スクリプトの更新など、あらゆるタスクに当てはまります。

詳しくは、こちらのチュートリアルをご覧ください:Claude Code Plan Mode: 設計レビュー優先のリファクタリングループ

/diff

/diff を使うと、現在のセッションでのファイル変更をすべて表示するインタラクティブな diff ビューアが開きます。

想定外のファイル変更や意図しないスコープ拡大などが起きていないか、素早く確認するのに有効です。「Claude がいろいろやった」から「このコミットに何が入るか確信できる」までの最終チェックポイントと考えましょう。

ビューア内では矢印キーで操作します。左右で現在の累積 git diff とターン単位の diff を切り替え、上下で表示中のファイル間を移動します。セッション全体と各ターンで何が起きたかを確認できます。

/DIFF

Claude Code を軌道に乗せ続ける方法

複雑なセッションが本筋を見失わず、寄り道でコンテキストが汚れないようにするには、/goal/btw を使います。

/goal

Claude Code の /goal は、高レベルの目標を設定し、ターンを跨いで維持することで、定義した成果に向けて Claude を動かし続けます。 

一度ゴールを設定すると、指定条件が満たされるまで Claude は自動で進みます。長時間の移行作業、大規模なテスト修正、継続指示が必要なタスクに特に有効です。

望む具体的な結果を添えてコマンドを使います。最終状態を明確に書くと効果的です。例:/goal All tests in the data pipeline are passing with no deprecation warnings

ゴールが有効な間は、経過時間、ターン数、トークン使用量を示す進行状況オーバーレイがステータスラインに表示されます。達成時に停止し、完了を報告します。 

途中でゴールを解除するには:/goal clear

似て非なるアプローチとして、Spec-Driven Development in Claude Code のチュートリアルも参照してください。

/btw

/btw は、メインの会話スレッドに残らない「脇質問」を投げられるコマンドです。

Claude はオーバーレイで回答し、メインの会話は元の地点から継続します:/btw what was that config option for SQLAlchemy connection pooling called again? 

よくあるのは、Claude が作業中にプロセスについて疑問が浮かぶケースです。質問のために止めるとノイズが増え、タスクをやり直す羽目になるかもしれません。無視すれば、疑問は失われます。/btw はこれを綺麗に解決します。

タスク中に自分へ渡す付箋のようなものだと考えてください。寄り道によるコンテキストや時間コストなしに、必要な答えだけを得られます。

Claude Code のセッションをナビゲートする方法

長期プロジェクトは1つのセッションに収まりません。過去の作業を再開し、進捗を壊さずに安全に試行し、ときには脱線した変更を元に戻す必要があります。/resume/branch/rewind がその助けになります。

/resume

/resume を使うと、過去のセッションを継続できます。引数なしで実行すると、最近のセッションが日付順で表示され、最後のプロンプトの概要も見られるピッカーが開きます。セッション名や ID を渡せば、直接ジャンプします:/resume payment-refactor

これはセッション開始前にコマンドラインからも可能です。claude --continue(または claude -c)は直近のセッションを再開し、claude --resume <id> は ID 指定で再開します。CLI フラグとスラッシュコマンドは同じことを行います。開始前に使うなら CLI、進行中ならスラッシュコマンドを使います。

Claude Code は各セッションを ~/.claude/projects/ に JSONL ファイルとしてローカル保存し、各メッセージ、ツール使用、結果を記録します。これが再開、巻き戻し、分岐を可能にしています。

/branch

/branch は現在の会話をその時点でコピーし、新しいブランチに切り替え、元の会話はそのまま残します。ブランチに名前を付けることもできます:/branch try-polars-instead-of-pandas

これは会話版の git ブランチです。既存のやり方を残しつつ、別アプローチを試したい場合に便利です。分岐して試し、ダメなら元に /resume で戻り、良ければより良い道筋を反映したクリーンなブランチが得られます。

また、コンテキストウィンドウが埋まりつつあり、アクティブなチャットで収集したコンテキストに依存する別々の問題が2つある場合にも有効です。

/branch/fork としても利用できます。コミュニティ資料や古いチュートリアルでは /fork をよく見かけます。現行の公式ドキュメントでは正規名は /branch ですが、どちらも動作します。

/rewind

やり過ぎてミスに気づいた場合は、/rewind でセッションを以前のターンへ巻き戻せます。便利な「元に戻す」ボタンのようなものです。 

インタラクティブなメニューが開くのが利点です。矢印キーで移動し、戻したいターンを選びます。 

鍵となるのは、巻き戻す対象を選べることです:

  • 両方(既定):そのターン時点のファイル状態を復元し、それ以降の会話メッセージを削除します。連続する変更が誤った方向に進み、既知の良好状態からクリーンに再開したい場合に。
  • 会話のみ:選択時点以降のメッセージを削除し、ファイル変更は維持します。後半の応答が役立たなかったが、コードは問題ない場合に。
  • コードのみ:ファイルを選択時点へ戻し、会話は維持します。Claude の分析や推論は残し、実際のファイル変更だけを取り消したい場合に。

キーボードショートカット Esc Esc でも、コマンド入力なしで同じ巻き戻しメニューを開けます。

重要な注意点:Claude の公式ツール経由で実行されたファイル操作のみが追跡・可逆です。セッション中に別エディタで手動変更した内容は対象外です。

Claude Code でコストとパフォーマンスを制御する方法

コスト対パフォーマンスを制御するには、/cost/model/effort を使います。

API プランの場合はトークン消費が現実的な考慮点です。Pro や Max プランの場合は利用クオータの範囲内に収めることが重要です。いずれにせよ、あらゆるタスクに最強モデル+最大推論深度を使うのは無駄です。

/cost

/cost/usage の別名で、ここまでの消費状況を表示します:

  • API ユーザーには、モデル別にトークン数、キャッシュ使用、ドル換算費用を表示。 
  • Pro / Max 契約者には、請求期間のクオータに対する利用状況を表示。

重いセッションの冒頭で /cost を確認して基準値を決め、長時間の実行中に定期的にチェックして予算の減り具合を把握すると良いでしょう。 

費用が想定より早く膨らむ場合、次の2つのコマンドが調整レバーになります。

/model

セッション途中で /model によりアクティブモデルを切り替えても、コンテキストは失われません。セッションの進行に応じて柔軟に対応できます。

引数なしで実行すると、矢印キーで選べるインタラクティブピッカーが開きます。モデル名を直接渡すことも可能です:/model claude-haiku-4-5

実用的な戦略: 

  1. 複雑なアーキテクチャ検討には、まずClaude Opusで開始
  2. 実装タスクに移ったら、Claude Sonnet に切り替え
  3. 変数名変更、docstring 生成、ボイラープレート作成のような機械的作業には、Claude Haiku に落とす 

Opus と Haiku のコスト差は、スケール時におおよそ 10〜20 倍です。

v2.1.153 時点では、/model で選んだモデルが新規セッションの既定値として保存されます。インタラクティブピッカーで s を押すと、既定値は変えず現セッションのみに適用できます。

/effort

モデルが費やす /effort、つまり現在のモデルの推論深度を調整できます。引数なしならインタラクティブスライダーが開き、/effort low のように直接設定も可能です。

利用可能なレベルは次のとおりです: 

  • low

  • medium

  • high

  • xhigh(2026年4月)

  • max(2026年5月)

  • ultracode(2026年5月)

maxultracode はセッション限定で、既定値として保存できません。/effort auto で現行モデルの既定に戻せます。

ultracodexhigh の推論に自動ワークフローオーケストレーションを組み合わせ、最も複雑な多段タスクに対応します。自動オーケストレーションが100を超えるエージェントを起動し得るため、トークン消費が非常に大きくなる点に注意してください。

実践的な指針: 

  • low または medium はボイラープレート、単純なコード生成、単純なリファクタに。

  • high または xhigh は複雑なデバッグ、アーキテクチャ判断、多ファイル分析など、初回で正確に仕上げると往復回数を大幅に減らせる場面に。

  • ultracode は大規模リファクタ、コードベースの書き換え、多数の要素が絡むタスクに限定。

Effort は品質とトークンコストに直結するため、タスクに合わせて調整する価値があります。

Claude Code でカスタムスラッシュコマンドを作成する方法

組み込みコマンドで運用の基礎は網羅されています。カスタムスラッシュコマンドこそ、Claude Code を「自分の道具」に感じさせる部分です。

発想はシンプルです。繰り返し入力しているプロンプトは、コマンドファイルとして保存し、/command-name の1行呼び出しにしてしまいましょう。チームのコードレビュー標準チェックリスト、プロジェクトのデプロイ検証手順、テスト生成の依頼スタイルなどが、共有可能になります。 

スラッシュコマンド vs エージェントスキル

最初に注意点を1つ:Anthropic はカスタムコマンドをスキルと統合しました。.claude/commands/ 形式は現在レガシー扱いです。引き続き動作し、CLI でもサポートされますが、今後推奨されるのは .claude/skills/<name>/SKILL.md 形式です。 

スキルは同じ /name 呼び出しに対応し、説明がタスクに一致する場合は Claude が自律的に起動できます。さらに、プロンプトと一緒に(スクリプト、テンプレート、リファレンス文書などの)補助ファイルをバンドルできます。 

スキルの詳細は、チュートリアル Claude Skills を参照してください。

カスタムコマンドの配置場所

カスタムコマンドは、以下いずれかの場所に保存する Markdown ファイルです。

  • プロジェクト単位:プロジェクトのルート直下 .claude/commands/。そのプロジェクトに限定され、バージョン管理にコミットでき、同じリポジトリで作業する全員と共有されます。

  • 個人(グローバル):ホームディレクトリの ~/.claude/commands/。マシン上のすべてのプロジェクトで利用でき、個人専用です。

拡張子 .md を除いたファイル名がコマンド名になります。.claude/commands/fix-issue.md/fix-issue を作成します。.claude/commands/frontend/component.md/component を作成し、frontend サブディレクトリ由来であることを示す名前空間ラベルが付きます。

スキル形式を使う場合の同等パスは、プロジェクト単位が .claude/skills/<command-name>/SKILL.md、個人が ~/.claude/skills/<command-name>/SKILL.md です。以下で説明するフロントマターとプロンプト本文の挙動は同じです。

ファイル形式

Markdown ファイル本文がプロンプトテンプレートです。コマンドを呼び出すと、Claude はファイルを読み込み、置換を処理し、まるであなたがそのプロンプトを直接入力したかのように実行します。

以下は .claude/commands/summarize-pr.md に置く最小例です。

Review the current git diff and write a concise pull request description.
Include: what changed, why it changed, and any important implementation notes.
Format as plain prose, not bullet points.

/summarize-pr を実行すると、Claude は現在のセッションに対してこのプロンプトを実行します。

YAML フロントマターの追加

コマンドの挙動をより細かく制御するには、ファイル先頭に YAML フロントマターを追加します。

description: Generate a PR description from the current diff
allowed-tools: Bash(git diff *), Read
model: claude-sonnet-4-6

フロントマターは以下の用途で重要です。

  • description/help の一覧に表示され、コマンドの用途を思い出せます。また、コマンド/スキル名を直接指定せずに用途を説明した際、Claude が自動的にマッチングする助けになります。

  • 名前のとおり allowed-tools は、そのコマンド実行中に Claude が使用できるツールを制限します。スコープやコンテキストの制御に有効です。 

  • model は、セッション内のアクティブモデルに関わらず、そのコマンドを特定モデルに固定します。

$ARGUMENTS の活用

$ARGUMENTS プレースホルダーにより、カスタムコマンドは非常に柔軟になります。コマンド名の後に入力したテキストが、$ARGUMENTS の位置にそのまま差し込まれます。

完全な例を示します。リポジトリの課題修正用のコマンド .claude/commands/fix-issue.md を作成します:

---
description: Find and fix a GitHub issue by number
allowed-tools: Read, Edit, Bash(git diff *)
argument-hint: [issue-number]
---

Find and fix issue #$ARGUMENTS in this repository.

Steps:
1. Read the relevant source files to understand the current behavior
2. Identify the root cause
3. Implement the fix with minimal scope — do not change unrelated code
4. Verify the fix does not break anything obvious
5. Write a brief explanation of what changed and why

/fix-issue 847 と実行すると、$ARGUMENTS が 847 に置換された完全なプロンプトを Claude が受け取ります。複数の独立入力を取るコマンドでは、位置引数 $0$1 なども使えます。

シェルのライブ出力を注入する

コマンドは ! 接頭辞を用いてシェルのライブ出力を注入できます。常に最新状態を対象に動かしたいコマンドで有効です。

allowed-tools: Read, Bash(git *)
description: Review staged changes before committing

Current staged diff:
!git diff --cached

Review these changes and suggest a clear, conventional commit message.
Flag any obvious bugs, missing tests, or incomplete logic before I commit.

Claude がこのコマンドを読み込むと、まず git diff --cached を実行し、出力を取得してプロンプトに注入します。Claude はプレースホルダーではなく実際の diff 内容を認識します。

この $ARGUMENTS、シェル注入、フロントマターの組み合わせにより、Claude Code のカスタムコマンドはプロンプト作成を大幅に効率化します。 

さらに多くのパターンや実例は、DataCamp の Claude Code ベストプラクティスClaude Code Hooks のチュートリアルで、これらのツールが本番ワークフローでどのように組み合わさるかを解説しています。

まとめ

スラッシュコマンドは上級者だけの高度な機能ではありません。Claude Code の基本的な運用レイヤーであり、早期に習得すれば AI 支援開発の向き合い方が変わります。

初めてであれば、小さく始めてください。/compact/plan/cost をまず身につけると、セッション最適化に大きく効きます。それが自然になったら、コミット前に /diff、数ターンを超えるタスクに /goal を追加しましょう。他は必要になった場面で追って覚えれば十分です。

カスタムコマンドの発想を広げるには、Claude Code Terminal チュートリアルをおすすめします。Claude モデルの思考様式と設計意図を体系的に学ぶには、Introduction to Claude ModelsClaude Code 101 のコースが最適です。

Claude Code スラッシュコマンド FAQ

Compact と Clear の違いは?

/compact は会話履歴を要約・圧縮しつつ、セッション序盤の出来事を Claude に把握させ続けます。/clear は会話履歴を完全に削除します。コンテキストの占有を小さくして同じ作業を続けたいときは /compact、全く別のタスクへ切り替え、過去のコンテキストが不要なときは /clear を使ってください。

/fork は /branch と同じですか?

はい。現在の Claude Code では /fork/branch の別名です。どちらも、現在の会話をその状態でコピーします。古いチュートリアルや文書では /fork を見かけるかもしれませんが、正規名は /branch です。

/effort は既定ではなく high をいつ使うべき?

2026年6月時点で、Max と Team プランの Opus 4.6 の既定 Effort は high です。複雑なデバッグ、多ファイルにまたがるアーキテクチャ変更、推論深度が本当に重要な課題では、/effort xhigh/effort max を使ってください。単純なコード生成やフォーマットでは low または medium が適切で、コストも抑えられます。

カスタムスラッシュコマンドはチームで共有できますか?

はい。プロジェクトディレクトリ内の .claude/commands/ に保存したコマンドはプロジェクトの一部であり、バージョン管理にコミットできます。リポジトリを取得して Claude Code を使う人は、同じコマンドに自動的にアクセスできます。

/goal と /btw をサポートする Claude Code のバージョンは?

/goal は v2.1.139、/btw は 2026年3月の v2.1.72 で追加されました。より古いバージョンでこれらが使えない場合は、npm update -g @anthropic-ai/claude-code もしくは導入方法に従ってアップデートしてください。

トピック

DataCamp で Claude を学ぼう!

Courses

Claude モデル入門

3時間
10.7K
Anthropic API を用い、AI アプリの構築やビジネスの課題解決に Claude を活用する方法を学びます。
詳細を見るRight Arrow
コースを開始
もっと見るRight Arrow