CLAUDE.mdの書き方の基本は、コードから分からないことだけを短く具体的に書くことです。
AInformation編集部は2026年11月9日に、Claude Code 2.1.319で268回の実測をしました。決まりの数は8個と24個で試し、公式が目安とする200行についても確認しています。
- CLAUDE.mdに書くこと・書かないことと、そのまま使えるテンプレート3つ
- CLAUDE.mdなしで守られた決まりは8つのうち3つ。/initだけだと3〜4つで、書けば全部守られました
- 5,000行まで増やしても守られる数は変わらず、読む量だけ約10倍に増えました
- 決まりを24個に増やしてHaikuで動かすと、守られない決まりが出ました
- 置き場所ごとの読まれるタイミングと、@で読み込める深さ
- AGENTS.mdが読まれる条件と、守られないときの確かめ方
CLAUDE.mdとは?起動のたびに読まれる指示書
CLAUDE.mdは、Claude Codeが起動するたびに読むメモのファイルです。読み方は「クロード・エムディー」で、中身はふつうの文章と箇条書きです。
Claude Codeは前の会話を覚えていません。同じ説明を毎回しないために、プロジェクトの決まりをここへ書いておきます。
効果を確かめるため、AInformation編集部は練習用のプロジェクトで同じ依頼を試しました。依頼は「月別の売上を出す処理を作って、テストも書いて」です。
決まり8つが守られた回数(CLAUDE.mdなし5回・/initだけ3回・書いた5回)
| 決まり | なし | /initだけ | 書いた |
|---|---|---|---|
| 1行目に担当者の行を書く | 0回 | 0回 | 5回 |
| 金額はDecimalで計算する | 5回 | 3回 | 5回 |
| 関数名をcalc_で始める | 0回 | 0回 | 5回 |
| テストの名前をcheck_にする | 5回 | 3回 | 5回 |
| テストをmake verifyで実行する | 5回 | 3回 | 5回 |
| printでなくloggingを使う | 0回 | 0回 | 5回 |
| 作業の記録を1行足す | 0回 | 1回 | 5回 |
| 報告の先頭に決まった文言 | 0回 | 0回 | 5回 |
CLAUDE.mdがないと、守られたのは8つのうち3つでした。CLAUDE.mdに書いた場合は、5回とも8つすべての決まりを守りました。作業時間も30.1秒で、書かなかった場合の39.2秒より短い結果でした。
- 守られた3つ:金額のDecimalは自分で選び、テストの名前と実行方法はMakefileを読んで合わせました
- 守られなかった5つ:コードのどこにも書いていないので、Claudeには分かりませんでした
AInformation編集部では、Claude Codeで作った61本の仕組みを毎日決まった時間に動かしています。全部のプロジェクトで読ませる共通のCLAUDE.mdは328行あり、公式の目安を超えています。
この長さが本当に問題なのかも、あとの節で測りました。Claude Codeのインストール方法は、Claude Codeの使い方の記事で紹介しています。
そのまま使えるCLAUDE.mdのテンプレート3つ
次の3つは、AInformation編集部が実際に試して確認したテンプレートです。コピーして、プロジェクトに合わせて書き換えてください。保存先はプロジェクトの一番上のCLAUDE.mdです。
開発のテンプレート
# プロジェクトの説明
社内向けの受注集計ツール。Python 3 の標準ライブラリだけで動く。# コマンド
- テスト: make verify
- 1ファイルだけテスト: TZ=Asia/Tokyo python3 -m unittest tests/check_monthly.py -v# 決まり
- 金額は decimal.Decimal で計算する(float を使わない)
- 出力は print でなく logging を使う
- テストのファイル名は tests/check_*.py にする# 落とし穴
- src/legacy/ は動いているが、新しいコードで真似しない
- テストは東京時間で流す。make verify を使えば設定される# 終わるとき
- docs/worklog.md の末尾に「日付 やったこと」を1行足す
このテンプレートを使って同じ依頼を3回試したところ、書いた5つの決まりは毎回守られました。
業務のテンプレート(集計や報告)
# この作業フォルダについて
毎月の売上の報告を作るフォルダ。読む人は営業部の部長。# 置き場所
- 元のデータは data/ に置いてある。data/ の中は書き換えない
- できたものは output/ に保存する
- ファイル名は「YYYYMMDD_内容.md」にする# 書き方
- 金額は「1,234円」のように3桁ごとに区切る
- 結論を最初の1行に書く
- 専門用語を使わない# 終わるとき
- 最後に「確認してほしいこと」の見出しを立てて、気になった点を箇条書きで書く
- 計算に使ったファイル名を書く
売上の報告を頼むと、3回とも決まり5つを全部守りました。CLAUDE.mdなしで試した3回は、守られた決まりが1〜2つでした。ファイルは作らず、画面上で答えただけです。
記事や資料のテンプレート
# この作業フォルダについて
自社ブログの記事を書くフォルダ。読者はAIを使い始めた会社員。# 文章の決まり
- 1文は70字以内にする
- 1段落は3文までにする
- 「非常に」「まさに」「革新的」は使わない
- 数字には調べた日と出どころを添える
- 調べていない数字は書かない# 置き場所
- 下書きは drafts/ に「YYYYMMDD_題.md」で保存する
- 使った資料は最後に「参考にしたもの」の見出しで並べる# 終わるとき
- 見出しの数と本文の字数を報告する
記事を頼むと、決まり6つのうち5〜6つを守りました。「1段落3文」の決まりが守られなかったのは1回だけです。
順番は説明・コマンド・決まり・落とし穴にすると、あとから足しやすくなります。非エンジニアの方は業務のテンプレートが始めやすいと思います。端末の開き方から知りたいときは非エンジニア向けのClaude Code入門から読むと迷いません。
CLAUDE.mdの作り方は?/initで土台を作って足す
Claude Codeで/initを実行すると、CLAUDE.mdの下書きを作れます。白紙から書くより早いので、まずはこれで十分です。
- プロジェクトのフォルダで
claudeを起動する /initと打って、提案された中身を読んでから保存する- コードを読めば分かる説明を消す
- コードから分からない決まりを足す

AInformation編集部が/initを3回実行したところ、20.2〜29秒で22〜23行の下書きができました。テストのコマンド・check_の名前・東京時間の設定は3回とも入っています。Makefileに書いてあるからです。
一方で、担当者の行・calc_の名前・loggingの決まりは1回も入りませんでした。この下書きのまま同じ依頼を試すと、8つのうち3〜4つしか守られません。/initは土台で、完成品ではありません。

下書きは英語で書かれました。日本語で書きたいときは「日本語で書いて」と続けて頼めば直せます。質問に答えながら作りたいときは、環境変数CLAUDE_CODE_NEW_INIT=1を付けて起動します。公式の文書で紹介されている対話形式で作れます。
CLAUDE.mdに書くことは?書かないことも決める
書くのは、Claudeがコードを読んでも分からないことです。公式の文書も同じ考え方です。同じ間違いを2回されたら足すよう案内しています。
| 書くこと | 例 |
|---|---|
| 動作確認に使うコマンド | テスト・型チェック・1ファイルだけの実行方法 |
| コードに残らない決定 | エラー処理で使う部品・本番環境へ反映する手順 |
| 誤解しやすい所 | 動いているが真似してほしくない古いフォルダ |
| 2回直したこと | 同じ指摘を1行の決まりにする |

コードを読めば分かる構成の説明は要りません。テストの実行方法はMakefileから確認できましたが、CLAUDE.mdに書かなかった場合はツールを10回使いました。書いた場合は6回で済んだため、よく使うコマンドは書いておくほうが効率的です。
CLAUDE.mdのベストプラクティスは?具体的に書くだけで差が出た
決まりを守ってもらうには、機械で確かめられるくらい具体的に書くことが大切です。AInformation編集部が書き方を変えて各5回試すと、差が出たのは具体的かどうかだけでした。
書き方を変えたときの守られた数(各5回・8個×5回=40が満点)
| 書き方 | 守られた数 | 補足 |
|---|---|---|
| 短い命令で書く(基準) | 40/40 | 500行の中に散らした |
| IMPORTANT・必ずを付ける | 40/40 | 全部の行に付けた |
| 理由を添える | 40/40 | 全部の行に理由を足した |
| 箇条書きにせず文章で書く | 40/40 | 1段落にまとめた |
| 曖昧に書く(500行の中) | 21/40 | 「ログはきちんと残す」など |
| 曖昧に書く(決まりだけ) | 20/40 | 短くても同じ |
| 英語で書く(決まりだけ) | 40/40 | 最初に読む量は339トークン増 |
「ログはきちんと残す」のような曖昧な指示では、守られた数が20/40まで減りました。決まりを短くしても同じです。読む量の問題でなく、何をすればいいかが伝わっていません。
| 曖昧な書き方 | 具体的な書き方 |
|---|---|
| ログはきちんと残す | printを使わずloggingで出力する |
| テストは決まった方法で実行する | テストはmake verifyで実行する |
| 報告は確認が分かるように | 報告の先頭に「確認済み:」と書く |
「IMPORTANT」や「必ず」を全部の行に付けても、40/40で基準と同じでした。Haiku 5.5の2,000行でも、付けた回と付けない回はどちらも39/40です。公式の文書も、付けてもおそらく解決しないと書いています。
- 理由を添える:基準と同じ結果でした
- 文章でまとめる:これも基準と同じで、短い命令の箇条書きで十分です
- 英語で書く:40/40で、日本語でも守られ方は変わりません
同じ決まりを書いて増えるトークン数は日本語が385、英語が339でした。短いファイルなら読みやすい言葉で書いて困りません。
CLAUDE.mdは何行まで?5,000行でも守られたが読む量が増えた
今回の実測では、CLAUDE.mdが長くなるほど決まりを守らなくなる傾向は見られませんでした。AInformation編集部は決まり8つを200〜5,000行のファイルの先頭・途中・末尾に置いて、各5回試しました。行数ごとに15回です。
CLAUDE.mdの行数と、守られた数・読む量(決まり8つ・Sonnet 5.5)
| 行数 | 守られた数 | 最初に読む量(トークン) | 1回の作業で読む量(トークン) |
|---|---|---|---|
| 決まりだけ | 40/40 | 19,117 | 101,679 |
| 200行 | 119/120 | 24,561 | 128,796 |
| 500行 | 120/120 | 33,259 | 207,590 |
| 1,000行 | 120/120 | 47,741 | 291,421 |
| 2,000行 | 120/120 | 76,589 | 467,708 |
| 5,000行 | 120/120 | 163,822 | 990,079 |
75回の検証で確認した600件のうち、守られなかった決まりは1件だけでした。短い作業で決まりが8つなら、長さは問題になっていません。Haiku 5.5でも5,000行で40/40を守りました。

条件も書いておきます。Claude Code 2.1.319をMacで動かし、1回ごとに練習用のプロジェクトを作り直しました。依頼は短い作業です。自分のプロジェクトでは結果が変わることがあります。
大きく変わったのは、読み込むトークン数です。5,000行にすると、最初に読み込むトークン数が145,090増えました。Claude Codeは1回の作業で何度も読み直すので、合計は約10万から約99万へ約10倍です。
この合計はキャッシュ(再利用された分)も含むので、利用上限への影響が同じ倍率になるとは限りません。それでも読む量が多いほど、使える回数は減っていきます。上限の仕組みはClaude Codeのエラーと上限の記事にまとめました。AInformation編集部の328行のファイルは約3.7万字で、30,659トークンを毎回読んでいます。公式の目安より長いので、削る候補です。
決まりの数を増やすと、モデルで差が出ます。テストの書き方まで含めて24個に増やして比べました。
決まりを24個に増やすと(5回ずつ・24個×5回=120が満点)
| CLAUDE.mdの長さ | Sonnet 5.5 | Haiku 5.5 |
|---|---|---|
| 決まりだけ | 120/120 | 119/120 |
| 2,000行に散らす | 120/120 | 111/120 |
| 5,000行に散らす | 120/120 | 118/120 |
Sonnet 5.5は5,000行でも全部守りました。Haiku 5.5は2,000行で111/120まで落ち、外れたのは定数の置き方やロガーの名前のような細かい決まりです。
5,000行のHaikuは118/120で、2,000行より多く守っています。長さに比例して落ちるわけではありません。決まりが多い場合は、ファイルの行数よりもモデルによる違いが大きいと考えています。
作業が長くなっても崩れませんでした。6つのファイルを続けて作らせると、CLAUDE.mdがある回はどのファイルでも決まりを守っています。
6ファイルを続けて作る長い作業で守られた数(各3回・ファイルの数は18)
| CLAUDE.md | 1行目の担当者の行 | 関数名calc_ | printを使わない |
|---|---|---|---|
| なし | 0/18 | 0/18 | 3/18 |
| 決まりだけ | 18/18 | 18/18 | 18/18 |
| 500行 | 18/18 | 18/18 | 18/18 |
| 2,000行 | 18/18 | 18/18 | 18/18 |
| 5,000行 | 18/18 | 18/18 | 18/18 |
| Haiku・決まりだけ | 18/18 | 18/18 | 18/18 |
| Haiku・2,000行 | 18/18 | 18/18 | 18/18 |
警告が出る長さ
警告は行数でなく字数で出ます。コンテキストが1MのAInformation編集部の環境では、2,000行(約6.5万字)で出ませんでした。5,000行(約16.3万字)では「150.0k」を超えたと出ています。
公式の文書によると、あとから読むファイルの上限はコンテキストが200Kの環境で4万字です。1Mの環境なら15万字になります。4MiBを超えるファイルは読まれません。

/contextを打つと、ファイルごとのトークン数と削れる量の目安が出ます。2,000行では「約1.7万トークン節約できる」という提案が出ました。

公式の目安の200行は、守らせるためだけでなく読む量を抑える面でも妥当です。200行なら増える量は5,829トークンで、1回の作業の合計も約1.3倍で済みました。
CLAUDE.mdの置き場所は?読まれるタイミングが場所で違う
CLAUDE.mdはプロジェクトの一番上に置くのが基本です。置き場所を増やすと、読まれる範囲とタイミングが変わります。AInformation編集部はそれぞれの場所に別の合言葉を書き、Claude Codeが答えられるかを確認しました。
置き場所と読まれるタイミング(合言葉を置いて確かめた)
| 置き場所 | いつ読まれるか | 向いていること |
|---|---|---|
| ~/.claude/CLAUDE.md | 起動したとき | 全部のプロジェクトで守る自分の好み |
| ./CLAUDE.md | 起動したとき | チームで共有する決まり |
| ./.claude/CLAUDE.md | 起動したとき | 直下を散らかしたくないとき |
| ./CLAUDE.local.md | 起動したとき | 自分だけのメモ(.gitignoreへ) |
| 親フォルダのCLAUDE.md | 起動したとき | 複数のプロジェクトの共通の決まり |
| .claude/rules/*.md | 起動したとき | 決まりを話題ごとのファイルに分ける |
| paths付きのrules | 合うファイルを触ったとき | 一部のファイルだけの決まり |
| サブフォルダのCLAUDE.md | 中のファイルを読んだとき | フォルダごとの決まり |
| 組織の管理の場所(公式の文書) | 起動したとき | 会社全体で配る決まり |

どのファイルが読まれたかは、/context allで見られます。「Memory files」の欄に、読まれたファイルとトークン数が並びます。

サブフォルダのCLAUDE.mdは起動時には読まれません。中のファイルを読んだ時点で「Loaded sub/CLAUDE.md」と画面に出ました。

読み込まれた内容は上書きされず、まとめてClaude Codeに渡されます。起動した場所に近いファイルほど後ろに置かれます。
- 編集:メモ帳でもできますし、Claude Codeの中なら
/memoryで開けます - 親フォルダ:親のファイルも読まれるので、知らないフォルダで起動するときは気をつけてください。ダウンロードしたフォルダの指示書にAIが従った話は指示書の攻撃を試した記事に書きました
- 外したいとき:他チームのファイルは、設定の
claudeMdExcludesで外せます --add-dir:足したフォルダのCLAUDE.mdは、公式の文書によると既定では読まれません
長くなったら.claude/rulesへ分ける
決まりが増えたら、話題ごとに.claude/rules/へ分けます。pathsを付けると、合うファイルを触ったときだけ読まれます。AInformation編集部の確認でも、.pyを読むまで読まれず、.ts向けの決まりは読まれませんでした。
---
paths:
- "tests/**/*.py"
---
- テストのデータは tests/fixtures/ に置く
- 外部へ通信するテストは書かない
@で別のファイルを読み込む
CLAUDE.mdに@docs/extra.mdと書くと、別のファイルを一緒に読ませられます。別ファイルの読み込みは4段まででき、AInformation編集部の検証でも5段目は読み込まれませんでした。
# 詳しい決まり
@docs/extra.md
@~/.claude/my-rules.md
```で囲んだ中や、`@README`のように書いた所は読み込まれません。<!-- -->のコメントも渡されないので、人向けのメモに使えます。読み込みで分けても起動時に全部読むので、量は減りません。量を減らしたいときはpaths付きのrulesにします。
AGENTS.mdとCLAUDE.mdの違いは?CLAUDE.mdがあると読まれない
AGENTS.mdは、CodexやCursorなど複数のツールで共有する指示書です。Claude Codeは2.1.277から直接読みます。ただしCLAUDE.mdが同じ場所にあると読みません。
AGENTS.mdとCLAUDE.mdの組み合わせで読まれたファイル
| 置いたファイル | 読まれたもの |
|---|---|
| AGENTS.mdだけ | AGENTS.md(中の@の読み込みも) |
| CLAUDE.mdとAGENTS.md | CLAUDE.mdだけ |
| CLAUDE.local.mdとAGENTS.md | CLAUDE.local.mdだけ |
| CLAUDE.mdに@AGENTS.mdと書く | 両方 |
| AGENTS.local.md・AGENTS.override.md | 読まれない |
注意したいのはCLAUDE.local.mdです。自分用のメモを置いただけで、AGENTS.mdが読まれなくなりました。両方読ませたいときは、CLAUDE.mdに@AGENTS.mdと書くのが確実です。

/configの「Project instructions」でも切り替えられます。公式の文書によると、claude-md-and-agents-mdにすると両方を読みます。CodexとClaude Codeの違いはAIコーディングのハブで比べています。
skills・hooks・自動メモリとの違いは?役割で分ける
毎回読ませたい短い決まりはCLAUDE.mdに書き、それ以外は別の仕組みへ移すと読む量が減ります。迷ったら次の表で決めてください。

CLAUDE.md・rules・skills・hooks・自動メモリの違い
| 仕組み | 読まれる・動くとき | 向いていること |
|---|---|---|
| CLAUDE.md | 毎回の起動 | コマンドと毎回守る決まり |
| .claude/rules | 起動か、合うファイルを触ったとき | 話題や場所ごとの決まり |
| skills | 必要なときだけ | 長い手順や作業の型 |
| hooks | 決めた時点で毎回 | 必ず止めたい・必ず動かしたいこと |
| 自動メモリ | 毎回の起動(200行か25KBまで) | Claudeが自分で覚えた好みや訂正 |
長い手順はskillsに向いています。必要なときだけ読まれるからです。書き方はClaude Skillsの作り方の記事にまとめました。
絶対に止めたいことはhooksに書きます。CLAUDE.mdは守ってほしい決まりを伝えるファイルですが、hooksはClaudeの判断に関係なく設定した処理を実行します。書き方はClaude Codeのhooksの使い方の記事を見てください。
自動メモリは、Claudeが自分で書くメモです。/memoryで読めて、直したり消したりもできます。チームで共有したい決まりは、ここに任せずCLAUDE.mdへ書きます。
CLAUDE.mdが守られないときは?5つの順で確かめる
守られないときは、まず読まれているかを確かめます。読まれていても、決まりどうしが食い違っていることがよくあります。
/context allで読まれているかを見る- 曖昧な書き方を、確かめられる形に直す
- ほかのファイルや依頼と食い違っていないかを見る
/doctor prompt-auditで古い行と矛盾を探す- それでも破られるならhooksへ移す
食い違いの結果は次のとおりです。同じ依頼を5回ずつ試しました。
決まりが食い違ったとき、どちらが通ったか(各5回)
| 食い違わせた内容 | 結果 |
|---|---|
| 同じファイルの上にdo_、下にrun_ | 上のdo_が3回・下のrun_が1回・両方使ったのが1回 |
| 同じファイルの上にrun_、下にdo_ | 上のrun_が5回・下のdo_が0回 |
| CLAUDE.mdはcalc_、rulesはget_ | CLAUDE.mdのcalc_が5回 |
| CLAUDE.mdはlogging、依頼で「printで」 | printを使ったのが4回・loggingのままが1回 |
上下に矛盾を書くと、10回のうち8回は先に書いた決まりが選ばれました。ただ、下を選んだ回も両方使った回もあります。一方で、10回とも最後の報告で指示の矛盾を伝えていました。
その場の依頼とぶつかると、5回のうち4回は依頼が通りました。1回は決まりを優先して、そのことを報告しています。矛盾は置かないのが一番です。
意図的に6か所の不備を入れたファイルで、/doctor prompt-auditを試しました。無いファイルの指定や矛盾を全部見つけ、34〜60秒で直す案を出しています。ファイルは自動では書き換えないので、案を見てから頼みます。

/compactで会話を縮めたあとも、CLAUDE.mdの決まりはそのまま守られました。公式の文書にも、一番上のCLAUDE.mdは読み直されるとあります。会話の中で伝えただけの決まりは残らないので、残したいものはファイルへ書きます。
許可の設定で気をつけたい点はClaude Codeの許可から鍵が漏れる話に書きました。CLAUDE.mdに秘密の情報を書かないのも同じ理由です。Gitに入ると共有されてしまいます。
まとめ
CLAUDE.mdの書き方は、コードから分からないことを具体的に書くのが基本です。実測で分かったことは次の4つです。
- 書くと守られます。なしでは8つのうち3つで、書けば全部守られました
- 曖昧な書き方は通りません。「きちんと」は半分に落ちました
- 長さの問題は読む量です。5,000行で約10倍に増えました
- 決まりが増えて弱いモデルで動かすと、守られない決まりが出ます
まず/initで下書きを作り、不要な説明を削ってから必要な決まりを追加してください。同じことを2回言ったら1行足す。この繰り返しで十分です。
よくある質問
- CLAUDE.mdとは何ですか?
- Claude Codeが起動のたびに読む指示書のファイルです。プロジェクトのコマンドや決まりを書いておくと、毎回説明しなくて済みます。
- CLAUDE.mdの読み方は?
- 「クロード・エムディー」と読みます。末尾の.mdは、Markdown形式のファイルであることを示します。
- CLAUDE.mdはどこに置きますか?
- プロジェクトの一番上に置きます。全部のプロジェクトで使う決まりは~/.claude/CLAUDE.mdです。自分だけのメモはCLAUDE.local.mdにして、.gitignoreへ足します。
- CLAUDE.mdは何行までがいいですか?
- 公式の目安は200行以下です。AInformation編集部の実測では5,000行でも決まり8つは守られましたが、読むトークンは約10倍になりました。読む量を抑えるために短くします。
- CLAUDE.mdを自動で作れますか?
- /initと打つと下書きを作れます。AInformation編集部の3回は20.2〜29秒で22〜23行でした。コードから分からない決まりは入らなかったため、必要なものは自分で追加します。
- CLAUDE.mdは日本語で書いてもいいですか?
- 日本語で問題ありません。同じ決まりを英語と日本語で書いて試しても、守られた数は同じでした。読みやすい言葉で書いて大丈夫です。
- IMPORTANTと書くと守られやすくなりますか?
- AInformation編集部の実測では差が出ませんでした。付けた回も付けない回も全部守られています。守られないときは、具体的に書き直すほうが有効です。
- AGENTS.mdは読まれますか?
- Claude Code 2.1.277以降は読みます。ただし同じ場所にCLAUDE.mdかCLAUDE.local.mdがあると読みません。両方読ませるならCLAUDE.mdに@AGENTS.mdと書きます。
- CLAUDE.mdとskillsはどう使い分けますか?
- 毎回守る短い決まりはCLAUDE.md、長い手順はskillsです。skillsは必要なときだけ読まれるので、毎回の読む量が増えません。
- CLAUDE.mdが読まれているか確かめるには?
- /context allと打つと、Memory filesの欄に読まれたファイルとトークン数が出ます。サブフォルダのファイルは、中のファイルを読むまで出ません。
次に読む記事
- 入れ方から知りたい:Claude Codeの使い方の記事
- 料金とプランを比べたい:Claude Codeの料金の記事
- 手順を覚えさせたい:Claude Skillsの作り方の記事
- 必ず動かしたい:Claude Codeのhooksの使い方の記事
- 外のサービスとつなぎたい:MCPの使い方の記事
- コマンドを調べたい:Claude Codeのコマンド一覧
- ほかのAIコーディングと比べたい:AIコーディングのハブ
