Claude Code の新しいセッションは、前の会話を自分では持ち越しません。起動時にはシステムプロンプトと、リポジトリの CLAUDE.md、自動メモリが載ります。CLAUDE.md はあなたが足すマークダウンです。ビルドコマンド、決まり、仕事の終わり方が毎回ついてきます。
Claude はこのファイルを強制される設定ではなく、読んで従おうとする文脈として扱います。指示を見て従おうとします。判断にかかわらず止めたい動作は、このファイルではなく、ツールを使う前に実際に止める仕組みに置いてください。/permissions で拒否するか、ツール呼び出しの直前に走ってその呼び出しを拒める PreToolUse フックです。
置く場所
チームで共有するプロジェクトファイルは CLAUDE.md か .claude/CLAUDE.md を git に載せます。共有しない個人メモは CLAUDE.local.md に書き、gitignore に入れます。リポジトリをまたぐ個人設定は ~/.claude/CLAUDE.md です。Claude は見つけたファイルをつなぎます。規則が矛盾すると、片方しか守られないことがあります。
リポジトリから下書きが欲しければ /init を実行し、package.json を見れば分かる行は削ってください。Claude Code は CLAUDE.md を読み、AGENTS.md は読みません。別のツールがすでに AGENTS.md を使うなら、CLAUDE.md に次の一行を書いて同じ指示を読み込ませてください。内容を複製しないでください。
@AGENTS.md
書くべきこと
二百行未満を目指してください。普通の CLAUDE.md は全文が載ります。長くなるとトークンを使い、守りにくくなります。4 MiB を超えるファイルは読み飛ばされます。コードを見ただけでは分からない事実を書いてください。
- インストール、型検査、テスト、ビルドのコマンド
- 言語の既定と違う決まり
- どの種類のファイルをどこに置くか
- 仕事が終わったことの確認
「きれいに整形」は曖昧すぎます。「インデントは2スペース」「触ったファイルで pnpm test を回してから止める」は確認できます。
複数ステップの手順はスキルへ。スキルは使うときに載ります。CLAUDE.md は毎セッション載ります。
例
小さなタスク管理アプリ向けの見本です。コマンドはリポジトリに合わせて変えてください。Commands は毎回使うコマンド、Layout はファイルの置き場所、Done when は終わりの確認です。
# タスク管理
## Commands
- インストール: `pnpm install`
- 開発サーバ: `pnpm dev`
- テスト: `pnpm test`
- 型検査: `pnpm check`
## Layout
- UI は `src/components/`
- サーバールートは `src/api/`
## API errors
- JSON `{ error, code }` を、対応する HTTP ステータスと一緒に返す。
- クライアントでネットワーク失敗を握りつぶさない。失敗したらエラー状態を出す。
## Done when
- タスク一覧の空・読み込み中・エラーがすべて描画される。
- 触ったファイルで `pnpm test` が通る。
Claude が同じミスを繰り返したら、具体的な一行を足してください。同じ段落がチャットに貼る手順になったら SKILL.md へ移してください。自動メモリは Claude 自身が書いた訂正を保てます。チームが見るべき規則は、いまも CLAUDE.md です。