「CLAUDE.mdって、結局どこまで書けばいいんでしょうか」。指示ファイルを書きはじめた方から、いちばん多く受ける質問です。

書けば書くほど守ってもらえる気がして、気づくと長くなる。ところが長くなるほど、いちばん守ってほしかった一行が埋もれていく。そういう手応えのなさを抱えたまま、この記事にたどり着いた方が多いのではないかと思います。

この記事は、CLAUDE.mdの書き方を章立て・禁止事項・分割の3点にしぼって整理します。根拠は公式ドキュメントと、運営元WEBMARKSがいま実際に運用しているルートCLAUDE.mdの実測です。進行役は3人。若葉さん(Web担当2年目)が用語のそもそもを聞き、高梨課長(マーケ課長)が自分の手で動かす側の疑問を出し、鈴木さん(本誌監修)が答えます。

本記事の検証環境:claude-opus-5 / Claude Code v2.1.x / macOS 15 / 2026-07-28検証。

こんなふうに調べていませんか

  • CLAUDE.mdに何を書けばいいのか、章立ての段階で手が止まっている
  • ルールを書いたのに、そのとおりに動いてくれない

この記事を読み終えたときに手に入るもの

  • 章立てを7つの型から選んで埋められるようになります
  • 書いても止まらない指示を、止まる仕組みへ切り分けられるようになります
  • 長くなったファイルの分け先を、目的から選べるようになります

結論30秒でわかる、この記事の結論

  • CLAUDE.mdに書くのは、コードを読んでも分からないことだけです
  • 禁止事項の文章そのものに強制力はありません。越えてほしくない操作は仕組み側へ移します
  • 分けても読み込む量が変わらない手段があります。整理と軽量化は別ものです
CLAUDE.mdは、この3つを決めれば書けます何を書くか・どこで止めるか・どう分けるかCLAUDE.mdは、この3つを決めれば書けます決めごと1何を書くかコードを読めば分かることは入れない決めごと2どこで止めるか越えさせない一線は、仕組みの側へ決めごと3どう分けるか見通しを良くするのと、軽くするのは別鈴木さん何を書くか・どこで止めるか・どう分けるか
CLAUDE.mdは、この3つを決めれば書けます — 何を書くか・どこで止めるか・どう分けるか

01CLAUDE.mdの書き方は、AIエージェントに任せる範囲とどうつながるんですか?

若葉さん
若葉さんの発言

CLAUDE.mdって、細かく書くほど守ってもらえるものなんでしょうか。

鈴木さん
鈴木さんの発言

そこは逆のことが起きやすいところです。行が増えるほど、一行あたりの重みは下がっていきます。書く量ではなく、どこで効かせるかを決めると整理しやすくなりますよ。

結論は3つです。

1つめ。CLAUDE.mdは、セッションを始めるたびにまるごと読み込まれます。だからこそ、コードを読めば分かることは書きません。

2つめ。公式ドキュメントは、1ファイル200行を目安にすることを勧めています(出典: Claude Code公式/Best practices)。

3つめ。書いた禁止事項そのものに強制力はありません。本当に止めたい操作は、PreToolUseフックやpermissions.denyへ切り出します。

この3点を外すと、行数だけが増えて誰も読まないファイルが残ります。

任せる範囲との関係で見ると、位置づけがはっきりします。どこまで任せるかを決めるのが先にあって、CLAUDE.mdはその範囲の内側で迷ったときの判断基準を置く場所です。範囲の外側、つまり越えてほしくない操作は、文章ではなく仕組みで囲います。

この章のまとめ

書く量ではなく、効かせ方で分けます。判断基準は文章に、止めたい操作は仕組みに置きます。

02そもそもCLAUDE.mdは、エージェントが起動のたびに読む指示書なんですか?

CLAUDE.mdは、プロジェクトやユーザーの単位で置く指示ファイルです。一度書けば残り、Claude Codeはセッションを始めるたびにこれを読み込みます(出典: Claude Code公式/Memory)。

紛らわしいのが、Claudeが自分で書き足すauto memoryMEMORY.md)との関係です。名前も置き場所も近いのですが、役割は違います。人が決めて書くのがCLAUDE.md、AIが学習した気づきを書き足していくのがauto memoryです。

職場に置きかえると、混ざらなくなります名前は近いのに、書く人も届く先も違います職場に置きかえると、混ざらなくなります名前は近いのに、書く人も届く先も違います職場でいうとClaude Codeでいうと全員に配られる就業規則人が決めて置くルール担当者が手帳に足していく覚え書きAIが自分で書き足す気づき規則は朝いちばんに全員へ配る起動のたびに読み込まれる手帳は本人しか開かない共有したい決めごとの置き場ではない書こうとしているのが決めごとなのか覚え書きなのか。そこだけ先に選びます。
職場に置きかえると、混ざらなくなります — 名前は近いのに、書く人も届く先も違います

役割を取り違えると、チームに配るつもりだった規約を、AIの覚え書き側へ書いてしまうことがあります。いま書いているのは全員に届けたい決めごとなのか、自分の環境の覚え書きなのか。手を動かす前に、そこだけ選んでおきます。

03AI導入をチームに広げるとき、CLAUDE.mdはどこに置けばいいんですか?

置き場所は1つではありません。公式は4段階のスコープを定義しています。

スコープ置き場所(例:macOS)誰と共有するか
管理者ポリシー/Library/Application Support/ClaudeCode/CLAUDE.md組織の全ユーザー(個別設定で除外不可)
ユーザー~/.claude/CLAUDE.md自分だけ(全プロジェクト共通)
プロジェクト./CLAUDE.md または ./.claude/CLAUDE.mdチーム全員(バージョン管理で共有)
ローカル./CLAUDE.local.md自分だけ(このプロジェクトのみ・.gitignore推奨)

4段階は上書きではなく連結です。Claude Codeは作業ディレクトリから上位へたどっていき、途中で見つけたCLAUDE.mdとCLAUDE.local.mdを全部読み込みます。並ぶ順番も決まっています。ルートに近いものが先に、作業ディレクトリに近いものほど後に置かれます(出典: Claude Code公式/Memory)。

下へ行くほど、届く相手は狭くなります上の段は消えず、下の段が重なっていきます下へ行くほど、届く相手は狭くなります上の段は消えず、下の段が重なっていきますローカル自分の環境だけの追記を逃がす段プロジェクトチームで持ち合う決めごとの段ユーザー自分の作法をまとめておく段管理者ポリシー外させたくない一線を置く段
下へ行くほど、届く相手は狭くなります — 上の段は消えず、下の段が重なっていきます
高梨課長
高梨課長の発言

チームで同じ規約を使いたいんですが、個人用の設定と混ざりませんか。

鈴木さん
鈴木さんの発言

混ざる前提で、置き場所のほうを分けます。共有したい規約はプロジェクト側、自分だけの追記はローカル側です。連結されるので、同じ内容を二度書かずに済みますよ。

高梨課長
高梨課長の発言

上に置いたものが下で消える、みたいなことは起きないんですね。

鈴木さん
鈴木さんの発言

そこがsettings.jsonとの大きな違いです。

管理者ポリシーだけは性質が異なり、個別の設定で除外できません。組織として越えさせたくない一線があるなら、この段に置くかどうかが分かれ目になります。

この章のまとめ

置き場所は共有範囲で決めます。上書きされないので、上位に置いた規約は下位でも生きています。

04AIエージェントに渡すCLAUDE.mdの書き方は、どんな章立てにすればいいんですか?

何を書くかで迷ったら、公式が挙げる採用基準がそのまま骨格になります。含めるのは「Claudeがコードを読んでも分からないこと」。外すのは「Claudeがコードから推測できること」です(出典: Claude Code公式/Best practices)。この基準を章へ落とし込むと、次の表になります。

#書く内容判定材料(出典: 公式ドキュメント)
1目的このプロジェクトが何をする場所か、1〜2文新しいセッションが最初に戸惑わない範囲
2読む順序他のルールファイルへの入口と、読む順番大きい指示は分割して案内する設計
3ディレクトリ構成・置き場所成果物やコードをどこに置くか「ファイルごとの説明」は書かない
4実行コマンドビルド・テスト・Lintなど、推測できないコマンドClaudeが推測できないBashコマンド
5規約・慣習デフォルトと違うコーディング規約、命名規則標準的な言語の慣習は書かない
6禁止事項・人間ゲート超えない一線と、人の承認が要る操作次章で単独に扱う
7記録の残し方引き継ぎ・ログ・完了の記録方法セッションをまたぐ運用ルール

7つの章は、埋めていく順番でもあります。上から書いていくと、途中で「これはコードを読めば分かることでは」と気づく行が出てきます。そこで削れることが、この型のいちばんの効きどころです。

同じ章立てでも、効き方は同じではない読ませれば伝わる章と、裏づけが要る章に割れます同じ章立てでも、効き方は同じではない読ませれば伝わる章と、裏づけが要る章に割れます読ませれば伝わる章この場所が何をするところかどこから読み、どこへ渡すか推測できないコマンドと命名知らなければ間違える、を埋める章です裏づけが要る章越えない一線人の承認が要る操作読んでも越えられる。組にして初めて止まります
同じ章立てでも、効き方は同じではない — 読ませれば伝わる章と、裏づけが要る章に割れます

この章のまとめ

迷ったら採用基準に戻ります。コードから推測できることは書かない。それだけで、章の中身は絞れます。

05章が増えたCLAUDE.mdでも、AIエージェントが迷わないのはどんな構成ですか?

7章の型は最小構成です。プロジェクトが1つなら7章で足ります。組織全体のルールを1本にまとめると、章は増えていきます。運営元WEBMARKSの実際のルートCLAUDE.mdはwc -l288行、見出しは15章です(章番号0〜14、末尾に更新履歴1本・2026-07-28実測)。

7章より多いのは、「読む順序」の章を厚くし、詳細を個別ファイルへ渡しているためです。同じCLAUDE.md本体をgrepすると、00-rules/配下の個別ルールファイルへの参照が10件見つかります(2026-07-28実測)。本体は索引に寄せて、条文そのものは分割先へ置いている構成です。

章数そのものは問題ではありません。読み手が迷わないのは、本体が条文ではなく案内で埋まっているからです。逆に条文を本体へ足し続けると、行数の割に何が書いてあるか分からないファイルになります。

06CLAUDE.mdに禁止事項を書けば、AIエージェントは止まってくれるんですか?

先に答えを書きます。文章だけでは、止まるとは限りません。

禁止事項が効くのは、後から検証できる形で書けたときだけです。公式ドキュメントも、「フォーマットを整えて」より「2スペースインデントを使う」の粒度を勧めています(出典: Claude Code公式/Best practices)。抽象的な一線は、そのままでは伝わりません。

書き方曖昧な例検証可能な例
操作の範囲危険な操作はしない本番データベースへの直接書き込みを禁止し、マイグレーションファイル経由に限定する
承認の要否大事な変更は確認する課金・削除・外部送信は、実行前に一度立ち止まって理由を1行提示する
例外の扱い例外的な場合は柔軟に対応例外を認める条件を1つだけ書き、それ以外は例外として扱わない

ここで押さえたいのは、禁止事項の文章そのものには強制力がない、という点です。公式ドキュメントは、CLAUDE.mdの内容は文脈として渡されるだけで、判断はClaudeに委ねられると明記しています。行動そのものを止めたいならPreToolUseフックを使う、とも書かれています(出典: Claude Code公式/Memory)。

フック側のドキュメントも、同じ役割分担を示しています。変わらない静的な規約は、スクリプトを起動せずに読み込まれるCLAUDE.md側へ書くほうがよい、という位置づけです(出典: Claude Code公式/Hooks)。対立ではなく、静的な規約と動的な強制の分担だと考えると腑に落ちます。

助言と強制は、重ねて置きます真ん中に来るのは、越えたら困る操作だけです助言と強制は、重ねて置きます真ん中に来るのは、越えたら困る操作だけです文章で伝える仕組みで止める判断の基準/そう決めた理由実行の直前で判定/越えさせない両方に置くもの両方に置くもの : 越えたら困る操作文章だけなら助言で終わり、仕組みだけなら理由が残りません。
助言と強制は、重ねて置きます — 真ん中に来るのは、越えたら困る操作だけです

矛盾した禁止事項が複数のCLAUDE.mdに散らばっているときの挙動も、公式に記載があります。2つのファイルが同じ行動について違う指示を出すと、Claudeはどちらか一方を任意に選びます(出典: Claude Code公式/Memory)。だから禁止事項の章は、1つのファイルに集めるか、上位ファイルと重ならないように書きます。

高梨課長
高梨課長の発言

書いた禁止事項が守られなかったとき、実際どこから手をつければいいんでしょう。

鈴木さん
鈴木さんの発言

順番があります。まず読み込まれているかを見て、次に言葉を検証できる粒度へ直す。それでも越えてほしくない操作は、文章のままにせずフックへ移します。

高梨課長
高梨課長の発言

文章を直すより先に、読み込みを見るんですね。

鈴木さん
鈴木さんの発言

そこが逆になっている例をよく見ます。

07200行を超えたCLAUDE.mdは、エージェントが読む量をどう減らすんですか?

200行を超えたら、内容ごとに向いた分割先が変わります。公式ドキュメントに載っている分割の手段を、効果と一緒に整理します。

手段何をする機能か起動時の負荷向いている内容
.claude/rules/のパス限定ルールファイルパターンに一致したときだけ読み込む該当ファイルを開いたときのみ特定の拡張子・ディレクトリだけに関係する規約
@pathインポート別ファイルの中身を展開して取り込む起動時に全文展開される(軽くならない)内容の整理・再利用(サイズ削減が目的ではない)
CLAUDE.local.md個人だけの追記をバージョン管理から外す通常のCLAUDE.mdと同じサンドボックスURLなど、自分専用の設定
skills(.claude/skills/呼ばれたとき・関連すると判断されたときだけ読み込む常時は0、発火時のみ常に使うわけではない手順・ドメイン知識

4つとも、口では同じ「分ける」と呼ばれています。ただし分けた先で起きることは同じではありません。そこが次の章の話になります。

08CLAUDE.mdを分けたのに軽くならないのは、AIエージェントが何を読んでいるからですか?

仕様の細部も公式に書かれています。@pathインポートは相対指定・フルパス指定のどちらも使え、再帰的な取り込みは最大4段階までに制限されています(出典: Claude Code公式/Memory)。auto memoryの索引ファイルMEMORY.mdは、先頭200行か25KBのどちらか早い方までしか読み込まれません(出典: 同ドキュメント)。

この上限はMEMORY.mdだけの制約です。一方でCLAUDE.md本体は、行数に関わらず全文が読み込まれます。ただし公式は、短いファイルほど指示への追従率が上がるとも述べています(出典: 同ドキュメント)。

分けたつもりと、実際に減る分け方外へ出しただけでは、開かれる量は変わりません分けたつもりと、実際に減る分け方外へ出しただけでは、開かれる量は変わりません分けたつもり別ファイルへ出して短く見せる起動時にそのまま展開される見通しだけが良くなる整理としては有効です実際に減る分け方開かれる条件を付けて外す呼ばれたときだけ読ませる常時の読み込みから外れる選べるのは、この形にできる内容だけです
分けたつもりと、実際に減る分け方 — 外へ出しただけでは、開かれる量は変わりません

分割の手段のうち、起動時に読む量を減らせるのはパス限定ルールとskillsの2つだけです。@pathインポートは整理に向きますが、読み込む量そのものは減りません。ここを混同すると、分けたつもりのまま文脈量が変わらない状態になります。

この章のまとめ

分けた本数ではなく、起動時に開かれる本数を見ます。そこが減っていなければ、整理が済んだだけです。

09書いたCLAUDE.mdを、AIエージェントが本当に読んだかはどこで確かめるんですか?

書き方が合っているかどうかは、書いた本人の手応えでは決まりません。実際に読み込まれたかどうかで確かめます。見る場所は2つです。

  1. /contextを実行する:出力の「Memory files」欄に、自分が編集したCLAUDE.mdのパスが並んでいるかを見ます。並んでいなければ、内容ではなく置き場所(前章の4段階のいずれか)がずれています。
  2. /memoryを実行する:CLAUDE.md・CLAUDE.local.md・auto memoryの一覧が開きます。存在しないファイルを選ぶとその場で新規作成されるので、置き場所をこれから作るときにも使えます。
効かないときに見ていく順番文章を書き直すのは、いちばん後にします効かないときに見ていく順番文章を書き直すのは、いちばん後にします1届いているかを先に見る読み込まれたものの一覧に、自分のパスがあるか2無ければ置き場所を直す内容ではなく、段を間違えている状態です3あれば言葉を直す後から合否を判定できる粒度へ書き換える4それでも越えさせたくないなら移す文章のまま置かず、止まる側へ渡します
効かないときに見ていく順番 — 文章を書き直すのは、いちばん後にします

動作確認をしても指示が反映されないときは、内容ではなく置き場所を先に疑います。公式ドキュメントも、機能しないときの最初の切り分けとして/contextでの存在確認を挙げています(出典: Claude Code公式/Memory)。読み込まれているのに従われない。そのときにはじめて、指示を検証可能な粒度へ書き直します。

10AI活用が進むほどはまる、CLAUDE.mdの3つの思い込みはどこが違うんですか?

思い込み1:settings.jsonと同じ「上書き」だと思い込む。 settings.jsonは同じキーが複数スコープにあるとき、より優先度の高いスコープが上書きします(出典: Claude Code公式/Settings)。一方CLAUDE.mdは上書きではなく連結です。矛盾した指示を上位・下位に分けて書いても、両方とも文脈に残ります。

思い込み2:禁止事項を書けば行動が止まると思い込む。 前述のとおりCLAUDE.mdは文脈であって強制ではありません。止めたい操作ほど、CLAUDE.mdの文章とセットでPreToolUseフックかpermissions.denyを用意します。

思い込み3:@pathインポートで軽くなると思い込む。 インポートは起動時に展開されて読み込まれるため、行数を1つのファイルにまとめるか複数ファイルに分けるかの整理でしかありません。読ませる量そのものを減らすのは、パス限定ルールとskillsだけです。

3つに共通するのは、「階層」「指示」「分割」という同じ言葉が、settings.json・フック・skillsではそれぞれ違う仕組みで動いている点です。CLAUDE.mdの書き方を学ぶときは、隣接する仕組みの動作もセットで確認します。

若葉さん
若葉さんの発言

名前の似た仕組みが多くて、どれがどれだか分からなくなります。

鈴木さん
鈴木さんの発言

同じ言葉でも動きが違う、とだけ覚えておけば十分です。その「階層」は連結なのか上書きなのか。そこを毎回たしかめると、混ざらなくなりますよ。

この章のまとめ

似た言葉に引きずられないことです。連結か上書きか、助言か強制か、整理か軽量化か。この3組の違いを押さえます。

11AIエージェントに渡す前に、CLAUDE.mdの書き方はどこを見返すんですか?

書き上げた直後は、どうしても書いた側の目線で読んでしまいます。渡す前に、次の項目を上から確認してください。「いいえ」が残る項目があれば、そこがそのまま直す場所です。

  • CLAUDE.mdの内容は、コードを読めば分かることになっていないか
  • 目的・読む順序・ディレクトリ構成・実行コマンド・規約・禁止事項・記録の残し方の7章が揃っているか
  • 各行について「これを消すとClaudeが間違えるか」を自問したか
  • 禁止事項は「危険な操作をしない」のような曖昧な一文になっていないか
  • 本当に止めたい操作は、フックやpermissions.denyとセットで設計したか
  • 複数のCLAUDE.mdに矛盾する指示が散らばっていないか
  • 200行を超えたら、パス限定ルールとskillsのどちらに分けるかを決めたか
  • /contextを実行し、編集したCLAUDE.mdが読み込まれているのを確認したか
  • 個人だけの設定をCLAUDE.local.mdに逃がし、.gitignoreに入れたか
  • 人が書く規約と、AIが書き足すauto memoryを混同していないか

チェックが全部埋まっても、運用のなかで章は動きます。増えたら「読む順序」へ寄せる、という戻り先だけ決めておけば、次に開いたときに崩れません。

12よくある質問

CLAUDE.mdはどこに置けばいいですか

チーム全員に共有したい規約は./CLAUDE.mdに置きます。自分だけの設定は./CLAUDE.local.md、全プロジェクト共通の個人設定は~/.claude/CLAUDE.mdです。組織全体で守らせたい内容だけ、管理者ポリシーの置き場所を使います。4段階は上書きではなく連結されるので、共有したい規約を上位に置いたまま、個人の追記を下位で足す形にできます。どこに置いたか分からなくなったら、/contextの「Memory files」欄で読み込まれているパスを確かめてください。

CLAUDE.mdの行数に上限はありますか

行数そのものに上限はありません。ただし公式ドキュメントは、1ファイルあたり200行を目安に勧めています。超えたら、本記事で挙げた分割の手段から、内容に合うものを選びます。ここで注意したいのは、分ければ軽くなるとは限らない点です。読み込む量そのものを減らせるのはパス限定ルールとskillsで、@pathインポートは整理のための手段です。行数を減らしたいのか、見通しをよくしたいのかを先に決めると、選び間違えません。

CLAUDE.mdとAGENTS.mdは両方書く必要がありますか

Claude Codeが読むのはCLAUDE.mdだけです。AGENTS.mdを他エージェント向けに使っているなら、CLAUDE.mdから@AGENTS.mdとインポートします。これで二重管理を避けられます(出典: Claude Code公式/Memory)。ただしインポートは起動時に展開されるため、読み込む量は減りません。両方を保守する手間を減らす手段であって、文脈を軽くする手段ではない、と分けて考えてください。

CLAUDE.mdに書いた禁止事項が守られないときはどうすればいいですか

まず/contextで読み込みを確認し、次に指示を検証可能な粒度に書き直します。「危険な操作をしない」ではなく「本番データベースへの直接書き込みを禁止する」のように、後から見て判定できる言葉にします。それでも越えてほしくない操作は、CLAUDE.mdの文章だけに頼らずPreToolUseフックへ切り出します。文章は助言、フックと権限は強制。この線引きを先にしておくと、直す場所で迷わなくなります。

CLAUDE.mdは毎回全部読み込まれますか

作業ディレクトリの階層にあるCLAUDE.mdとCLAUDE.local.mdは、セッション開始時に全文読み込まれます。サブディレクトリのCLAUDE.mdは、その中のファイルを読んだときに追加で読み込まれます(出典: Claude Code公式/Memory)。全文が入るからこそ、長さがそのまま文脈の重さになります。公式が短いファイルを勧めているのも、この読み込まれ方があるからだと考えています。

13まとめ|今日やる3つのこと

分かれ目は、文章で伝えるものと仕組みで止めるものを分けられているか、でした。章立てから入り、禁止事項の置き場所を決め、長くなった分を切り出す。この順で手をつけると戻り作業が減ります。

今日はこの順で手を動かします

  1. いま使っているCLAUDE.mdを7章の型に並べ替える

    足りない章と、いらない章が同時に見えます

  2. 禁止事項を「後から判定できる言葉」に書き直す

    曖昧なままではフックへ移すこともできません

  3. /contextを開いて、読み込まれているパスを数える

    直す前に、届いているかどうかが先です

AI検索では、こう聞かれています

  • CLAUDE.mdには何を書けばいいんですか?

    「AIエージェントに渡すCLAUDE.mdの書き方は…章立てに」の章で7章の型を出しています

  • CLAUDE.mdに書いた禁止事項は、そのとおり守られるんですか?

    「CLAUDE.mdに禁止事項を書けば…止まってくれるんですか?」の章で扱っています

  • CLAUDE.mdが長くなったら、どこに分ければいいんですか?

    「200行を超えたCLAUDE.mdは…読む量をどう減らすんですか?」の章に分け先を並べています

  • 書いたCLAUDE.mdが読み込まれているか、確かめられますか?

    「書いたCLAUDE.mdを…どこで確かめるんですか?」の章で説明しています

次に読むなら、この記事です