はじめに
Claude Code をインストールしてコードを書かせてみた。でも、なんとなく指示を出すだけで使っているとしたら、その力を半分も引き出せていないかもしれません。
本記事では「インストールはした、でも使いこなせていない」という方を対象に、Claude Code を本当に武器にするための3つのコア機能を解説します。
- Plan Mode:実行前に計画をレビューする安全弁
- CLAUDE.md:プロジェクトの文脈をAIに伝える設定ファイル
- セッション管理:コンテキストを賢くコントロールする技術
1. Plan Mode:「実行前に確認する」習慣を作る
Plan Mode とは何か
Claude Code はデフォルトで、指示を受けると即座に実行に移ります。簡単な作業なら問題ありませんが、複数ファイルにまたがるリファクタリングや、スキーマ変更を伴うマイグレーションなど、影響範囲が広い作業では予期しない変更が発生することがあります。
Plan Mode は、Claude が実行計画を立てて提示し、ユーザーが承認するまで一切の変更を行わないモードです。考えてから動く「熟慮型」の動作に切り替えることができます。
Plan Mode の起動方法
# セッション内でコマンドを使う
/plan
# または shift+tab を2回押してモード切替(ターミナル版)
あるいはプロンプトに明示的に含めることもできます。
「Userモデルにemailフィールドを追加するマイグレーションを計画してください。実行はしないでください。」
Plan Mode が有効な場面
| シナリオ | 理由 |
|---|---|
| 初めて触るコードベースの変更 | 依存関係を把握してから動く |
| データベーススキーマの変更 | 影響範囲を事前確認 |
| 複数サービスにまたがるリファクタリング | 変更リストを先にレビュー |
| 本番環境に近い作業 | 不可逆な操作の前に立ち止まる |
Plan Mode の出力例
計画:
1. models/user.py に email フィールドを追加(nullable=False, unique=True)
2. migrations/ 配下に 0023_add_email_to_user.py を生成
3. admin.py の UserAdmin に email カラムを追加
4. tests/test_user.py にバリデーションテストを追加
影響するファイル: 4件
実行してよろしいですか? (yes/no)
このように変更リストを確認してから Go サインを出せるため、「意図しないファイルが変更されていた」というトラブルを防げます。
2. CLAUDE.md:AIへの「プロジェクト説明書」
CLAUDE.md がなぜ重要か
Claude Code はセッションをまたいで記憶を保持しません。毎回「このプロジェクトは何か」「どんなコーディングスタイルか」「どのコマンドでテストを実行するか」を伝え直すのは非効率です。
CLAUDE.md はプロジェクトルートに置くMarkdownファイルで、Claude が毎セッション自動的に読み込む「プロジェクト説明書」です。ここに書いた内容は、チーム全員の Claude Code セッションで共有されます。
初期ファイルの生成
claude
> /init
/init コマンドを実行すると、Claude がコードベースを走査して CLAUDE.md の初期版を自動生成します。生成後に内容を確認・加筆するのが基本の流れです。
効果的な CLAUDE.md の構成
# プロジェクト概要
ECサイトのバックエンドAPI(Python / FastAPI / PostgreSQL)
## 技術スタック
- Python 3.12 / FastAPI 0.115
- PostgreSQL 16(Alembic でマイグレーション管理)
- テスト: pytest + httpx
## よく使うコマンド
- テスト実行: `pytest tests/ -v`
- 開発サーバー起動: `uvicorn app.main:app --reload`
- マイグレーション適用: `alembic upgrade head`
## コーディングルール
- 型アノテーションを必ず付ける
- 関数コメントは日本語で書く
- 新機能には必ずテストを追加する
## やってはいけないこと
- 本番DBに直接接続しない
- secrets.py を Git にコミットしない
CLAUDE.md の配置場所
CLAUDE.md は複数の場所に配置できます。
| パス | スコープ |
|---|---|
~/CLAUDE.md |
全プロジェクト共通(個人設定) |
{project}/CLAUDE.md |
プロジェクト全体 |
{project}/src/CLAUDE.md |
サブディレクトリ限定 |
チームで統一したいルールはプロジェクトルートの CLAUDE.md に書き、個人の好みは ~/CLAUDE.md に書くのが推奨パターンです。
3. セッション管理:コンテキストを賢くコントロールする
なぜセッション管理が重要か
Claude Code のコスト構造として、トークン消費の99%以上は入力(読み込み)です。会話が長くなるほど、過去のやり取りがコンテキストに蓄積され、トークン消費が膨らみます。適切なセッション管理は品質とコストの両方に直結します。
/compact:コンテキストを圧縮する
/compact
長いセッションの途中でコンテキストが肥大化してきたら /compact を実行します。これまでの会話を要約し、重要なコンテキストだけを保持した状態にリセットされます。
- 実行タイミングの目安: 1つの作業が一区切りついたとき
- 効果: コンテキスト使用量を大幅に削減しつつ、重要な決定事項は保持
/context:現在のコンテキスト状況を確認
/context
現在のセッションがどれくらいのコンテキストを消費しているかを確認できます。上限に近づいてきたら /compact のタイミングです。
セッション再開:過去の作業を継続する
# 最後のセッションを再開
claude --continue
# 特定のセッションを選んで再開
claude --resume
作業の途中でターミナルを閉じてしまっても、--continue フラグで直前の状態から再開できます。
実践:3つの機能を組み合わせたワークフロー
効果的な Claude Code 活用は、この3機能を組み合わせることで実現できます。
1. セッション開始 → CLAUDE.md が自動読み込まれ、プロジェクト文脈をゼロから説明不要
2. 複雑な作業の前 → /plan でまず計画をレビュー。意図と合っているか確認してから実行
3. 作業の区切りごと → /compact でコンテキストを整理。品質を保ちながらコストを抑制
4. 翌日再開 → claude --continue で昨日の続きからスムーズに
まとめ
Claude Code を使いこなすうえで最初に習得すべき3機能をまとめます。
| 機能 | 目的 | 使うタイミング |
|---|---|---|
| Plan Mode | 安全確認 | 影響範囲が広い作業の前 |
| CLAUDE.md | 文脈共有 | プロジェクト開始時・チーム展開時 |
| セッション管理 | 品質・コスト管理 | 日常の開発サイクルに組み込む |
これらを使いこなすことで、Claude Code は「たまに使うコード補完ツール」から「開発の中心に置けるAIパートナー」へと変わります。より高度な機能(Hooks / Subagents / MCP)については別記事で解説しています。