CLAUDE.mdはSession Start Hook — 起動時初期化の発想
CLAUDE.mdの本質的な理解
CLAUDE.mdは「System Prompt」ではありません。実際には最初のUser Messageとして注入されます。つまり、セッションが進むにつれて他のメッセージに埋もれ、効果が薄れていきます。
この性質を理解すると、CLAUDE.mdに何を書くべきかの判断基準が明確になります。
判断基準: 「セッション開始直後に必要か?」
CLAUDE.mdに書くべき情報は、セッション起動時の初期化に必要な情報に絞るべきです。
Session Start Hookとして配置すべき情報
- プロジェクト概要 — 何のプロジェクトか(3行以内)
- 技術スタック — 使用言語・フレームワーク・主要ライブラリ
- コマンド — ビルド・テスト・lint等の実行コマンド
- ディレクトリ構造 — 主要ディレクトリの役割
Session Start Hookに書くべきでない情報
- 詳細なコーディング規約 →
.claude/rules/に配置 - 特定ファイルに関するルール → Conditional Rulesで必要な時に注入
- ワークフローの詳細手順 → skillsファイルに移行
なぜConditional Rulesの方が効果的か
.claude/rules/ のファイルは、該当ファイルが使われた時点でコンテキストに注入されます。これはCLAUDE.mdより新しいメッセージ位置に挿入されるため、セッション後半でも効果が持続します。
トークン管理の観点
CLAUDE.mdは毎セッション無条件に消費されるトークンです。1000トークンのCLAUDE.mdは、100セッションで10万トークン分のコストになります。
目安は50行以内。 簡潔であるほど、すべての行が確実に読まれ、効果を発揮します。