Last updated on

CLAUDE.md の書き方と育て方【実運用ガイド】


Claude Code を使い始めてしばらく経つと、「なんか指示が守られてない」「毎回同じことを言い直してる」という場面が出てきます。

そのほとんどは CLAUDE.md をちゃんと育てることで解決できます。

CLAUDE.md とは?

CLAUDE.md は、Claude Code に「このプロジェクトでの振る舞い方」を覚えさせるための設定ファイルです。

Claude Code はセッションをまたぐとコンテキスト(会話履歴や指示)がリセットされます。CLAUDE.md に書いておくことで、毎回言い直さなくてもルールが引き継がれます。

例えばこんなことを書いておけます。

  • 「ですます調で書いて」「英語スラングは使わないで」などのトーン指定
  • 「記事の pubDate には今日の日付を入れて」などのプロジェクト固有ルール
  • 「コミット前にスマホで確認したか聞いて」などのフロー指定
  • 使っている技術スタックやファイル構成の説明

要するに「Claude への引き継ぎ書」です。新しいセッションを始めるたびに口頭で説明し直す手間がなくなります。

3種類の CLAUDE.md を使い分ける

CLAUDE.md には3つの置き場所があり、スコープが違います。

ファイル置く場所効くスコープ
グローバル~/.claude/CLAUDE.md全プロジェクト共通
プロジェクトプロジェクトルート/CLAUDE.mdそのプロジェクトのみ
ローカルプロジェクトルート/CLAUDE.local.md自分のPCのみ(gitignore推奨)

グローバル CLAUDE.md に書くこと

どのプロジェクトでも共通して使いたいルールを書きます。

## コミュニケーション
- 砕けた日本語OK(「ざっくり」「サクサク」など)
- 「ですます調」ベース、フレンドリーに

## Python
- コードを実行するときは必ず `uv run` を使う

## 提案の出し方
- 選択肢(A / B / C)を明示して、おすすめも言う

言語・口調・よく使うツールの設定など、一度書けばどこでも効きます。

プロジェクト CLAUDE.md に書くこと

そのプロジェクト固有のルールを書きます。このブログでは以下を書いています。

  • サイト名・ドメイン・ターゲット読者などの基本情報
  • 記事執筆のルール(pubDate の扱い、文字数制限、トーンなど)
  • 使っているURL一覧(公式ドキュメントのパスなど)
  • デプロイ手順

ローカル CLAUDE.md に書くこと

自分の環境固有の設定や、他人に見せたくない情報を書きます。CLAUDE.local.md というファイル名で .gitignore に入れておくのが定番です。

## 私の環境
- Node.js プロジェクトは C:\Users\xxx\dev\ に置くこと(OneDrive外)
- シェルは PowerShell を使っている

何を書くか:3つのカテゴリで整理する

書く内容は大きく3つに分けて考えると整理しやすいです。

① プロジェクトの文脈

Claude はセッションをまたぐと「このプロジェクトが何なのか」を一から読み解こうとします。あらかじめ教えておくと精度が上がります。

## サイト基本情報
- サイト名: AI Coding
- ターゲット読者: 日本人エンジニア(初心者〜中級)
- フレームワーク: Astro v6
- ホスティング: GitHub Pages

② 繰り返す指示

毎回言い直してることがあれば、CLAUDE.md に書いてしまいましょう。

  • 「コミットメッセージは日本語で」
  • 「push の前にスマホ確認を促して」
  • 「新しい情報は公式ドキュメントを先に確認して」

③ ミスの再発防止

やらかしたことを書いておくと、同じミスが起きにくくなります。

⚠️ 過去にやらかしたミス(再発防止メモ):
- プラン契約のリンクに console.anthropic.com を貼った
  → 正しくは claude.com/ja/pricing(API用コンソールとは別)

長くなりすぎると守られなくなる

CLAUDE.md を育てていくと、どんどん行数が増えていきます。Anthropic公式のベストプラクティスガイドでも「各行について『これを消したらClaudeがミスするか?』を自問し、ミスしないなら削る」という考え方が推奨されています。具体的な行数の目安は明記されていませんが、長くなるほどコンテキストを消費し、後半のルールが守られにくくなるのは同じです。

実際にこのブログの CLAUDE.md は、気づいたら 306行になっていました。検証エージェントへの詳細な指示書がそのまま入っていたのが主な原因です。

対策は2つあります。

対策① スキルに切り出す

繰り返す手順や長い指示書は、スキルファイルに分離できます。

.claude/skills/verify-article/SKILL.md を作ってそこに指示書を移し、CLAUDE.md には「/verify-article を使って」と1行書くだけ。

### 検証スキル
`/verify-article <記事パス>` を実行すると、3エージェントが並列で起動する。
詳細は `.claude/skills/verify-article/SKILL.md` を参照。

これだけで95行分を削れました。

スキルの作り方については別記事で解説予定です。

対策② 重複・冗長な部分を削る

テーブルを2つに分けていたのを1つにまとめたり、箇条書きの細かすぎる補足を削ったり。「Claude が理解できる最低限の情報量」まで絞り込むイメージです。

このブログではこの2つの対策で 306行 → 173行 に削減できました。

発展:rules/ フォルダで必要な時だけ読み込む

.claude/rules/ というフォルダを作ってルールファイルを置くと、特定のファイルを触ったときだけ自動でロードされる機能があります(2026年7月4日確認)。

---
paths:
  - "src/api/**/*.ts"
---
# APIファイルを触る時だけ読まれるルール
TypeScript の型定義は必ず明示してください。

この paths: を指定しておくと、対象ファイルを操作した時だけコンテキストに追加されます。常時ロードと違い、コンテキストを節約できるのがメリットです。

⚠️ 注意点paths: によるロードは、対象ファイルを読んだ時に効きます。新規ファイルを書き込んだ(Write)だけの場合は読み込まれないケースが報告されています。「新規作成したファイルにルールが効いてない」と感じたら、この挙動が原因かもしれません。

ただし、小規模プロジェクトでは管理ファイルが増えるだけです。CLAUDE.md が200行を超えてきたタイミングで検討するくらいで十分です。

まとめ

CLAUDE.md は「書いて終わり」じゃなく、使いながら育てていくものです。

  • 毎回言い直してることに気づいたら → CLAUDE.md に書く
  • やらかしたミスに気づいたら → 再発防止メモを追記
  • 200行を超えてきたら → スキル分離・圧縮でスリム化

最初は数行から始めて、少しずつ育てていくのがコツです。

次のステップ


このブログでは、Claude Code の使い方や Tips を 初心者向けにわかりやすく 発信しています。お気に入り登録お願いします 🙌

🧑‍💻
この記事を書いた人
AI-Nyanko

某外資系コンサルのインフラエンジニア。Claude Code の実践ノウハウを失敗談も含めて正直に発信しています。

プロフィールを見る →