Claude Codeの挙動を決める方法は、CLAUDE.mdだけではない。rules・skills・subagents・hooks・output styles・system prompt追記を合わせて7種類あり、それぞれ読み込まれるタイミングもコストも違う。公式が出した比較表と「よくある書き方→推奨の書き換え」を、実例つきで読み解く。
7つの方法を読み込みタイミング・compaction耐性・コンテキストコスト・向いている用途で並べた一覧、そして「今すぐ書き換えるべき5パターン」の具体例。今のCLAUDE.mdが太りすぎていないか、この記事で棚卸しできる。
Claude Codeの挙動を制御したいとき、多くの人はまずCLAUDE.mdに書き足す。手軽だからだ。だが方法によって「いつ読み込まれるか」「コンテキストの圧縮(compaction)でどう扱われるか」「常時払うコストか、必要な時だけのコストか」がまったく違う。公式記事はこれを1枚の表に整理している。
| 方法 | 読み込みタイミング | Compaction時 | コスト | 向いている用途 |
|---|---|---|---|---|
| CLAUDE.md(ルート) | セッション開始時、全体で保持 | キャッシュ化・再読込 | 高(常時) | ビルドコマンド、構成、チーム規約 |
| CLAUDE.md(サブディレクトリ) | 該当ディレクトリ操作時のみ | 再読込まで消える | 低(必要時のみ) | サブディレクトリ固有の規約 |
| Rules | セッション開始時(path-scoped除く) | Compaction時に再注入 | 中(scope限定で低下) | APIルールなど特定制約 |
| Skills | 説明のみ常時、本体は呼び出し時 | 予算内で再注入 | 低(呼び出し時のみ) | デプロイ手順など定型作業 |
| Subagents | 説明のみ常時、本体は呼び出し時 | 最終メッセージのみ返却 | 低(分離コンテキスト) | ログ分析など並列サイドタスク |
| Hooks | ライフサイクルイベント時 | Compactionの影響を受けない | 低(外部設定) | リンター実行、通知等の自動化 |
| Output styles / system prompt追記 | セッション開始時 | Compaction対象外 | 中〜高 | 役割・出力形式の大幅変更 |
ポイントは、「常に読ませたい情報」と「必要な時だけ読ませたい情報」を意図的に分けて置くということ。CLAUDE.mdルートは全セッションで常時コストを払う場所なので、ここが太るほど毎回のやり取りが重くなる。
公式記事の「Quick tips」がそのまま棚卸しチェックリストになる。
| よくある書き方 | 推奨の書き換え |
|---|---|
| 「毎回Xしたら必ずYする」をCLAUDE.mdに記述 | Hooks(settings.json)で自動実行にする |
| 「これは絶対するな」をCLAUDE.mdに記述 | Hooks(PreToolUse)で決定的にブロックする |
| 30行の手順をCLAUDE.mdに丸ごと記述 | Skills(.claude/skills/)に移す |
| APIルール全体をscope無指定のruleにする | pathsで対象ディレクトリを限定する |
| 個人的な好みをプロジェクトのCLAUDE.mdに記述 | ローカル・ユーザーレベルの設定に置く |
「絶対に守らせたいルール」は、指示文では守らせきれない。CLAUDE.mdに"やるな"と書いても、それはお願いに過ぎない。本当に確実にブロックしたいなら、Hooksで機械的に止める設計にする。ここが一番見落とされがちな差。
src/api/CLAUDE.mdにAPI固有の命名規約を書けば、ドキュメント編集など無関係な作業時には読み込まれない。ルートCLAUDE.mdを薄く保ったまま、領域ごとの規約を持てる。
「必ず実行したい5ステップの手順」は、CLAUDE.mdに書き続けるのではなく/deployのようなSkillにする。普段は説明文しか読み込まれず、呼び出した時だけ本体が展開されるので、常時コストを払わずに済む。
「このコマンドは実行させたくない」を確実に守らせたいなら、PreToolUseフックで呼び出し内容を検査し、条件に合致すれば拒否する。指示文で"お願いする"のではなく、機械的に弾く設計にできる。
以前このサイトで書いた「自作スキルは適切なトークン量に設計されていない」という話は、今回の比較表で言えば「常時コストを払う場所(CLAUDE.md)」と「呼び出し時だけコストを払う場所(Skills)」の区別そのものだった。今回の公式記事は、その区別をCLAUDE.mdだけでなくrules・subagents・hooksまで含めた7方式に広げたものと捉えると理解しやすい。
出典: Claude Blog — Steering Claude Code: CLAUDE.md files, skills, hooks, rules, subagents and more