CLAUDE.mdの書き方:効果が出る3種類の指示
この記事で学べること
- CLAUDE.mdがClaude Codeへプロジェクト前提を渡す役割
- Non-Negotiable Rulesを含む、効果がある3種類の記載内容
- 常時必要な指示へ絞り、具体的で検証可能なルールを書く方法
CLAUDE.mdには繰り返し必要な前提だけを書く
CLAUDE.mdは、Claude Codeへプロジェクト固有の前提を継続して渡すための指示ファイルです。このサイトでは、承認が必要な操作、用語、参照先を常時指示へ寄せることで、会話ごとの説明漏れを減らしました。ただし、Markdownの指示だけで操作を確実に止めることはできないため、機械的な制御とは役割を分けます。
この記事では、「CLAUDE.mdへ何を書き、何を会話や別の仕組みに残すべきか」という問いに焦点を当て、機能によって変わる作業、適用条件、利用前の確認事項を扱います。
最後まで読むと、「CLAUDE.mdへ何を書き、何を会話や別の仕組みに残すべきか」という問いを、自分の状況に照らして判断するための材料を持ち帰れます。
CLAUDE.mdで常時指示の境界を設計する
プロジェクトの背景や方針をClaude Codeへ渡す指示ファイルがCLAUDE.mdです。この記事では説明を簡単にするため、プロジェクトルートに置く構成を扱います。実際には、Claude Codeのメモリや設定には複数のスコープがあり、作業対象や設定によって参照される指示が変わる場合があります。[1][2]
言い換えると、「このプロジェクトではどう振る舞うべきか」をAIに事前に伝えるファイルです。
設定前と設定後の違い
CLAUDE.mdを用意していない状態でAIにプロジェクト作業を依頼すると、AIは一般的な判断で動作します。その結果として起きた具体的な問題を一つ挙げます。
私がこのサイトを構築していたとき、AIに「本番環境へのデプロイ操作は私の明示的な承認後のみ実行すること」という意図を伝えていましたが、プロジェクト指示ファイルに明記していませんでした。別の作業の流れの中でAIが本番向けビルドのコマンドを実行しようとする場面が複数回ありました。AIは悪意を持ってそうしたわけではなく、「作業を完結させるために必要なステップ」と判断していたためです。
CLAUDE.mdに次のように記載してからは、AIが確認を挟む可能性が高まりました。Markdownだけでは操作を強制停止できません。確実に止める場合は、Hooks(コマンド実行の前後など決まったタイミングで自動処理を動かす仕組み)やpermission settingsを併用します。
## Non-Negotiable Rules
- `npm run build` はユーザーの明示承認なしに実行しない。本番向け成果物が生成される。CLAUDE.mdには禁止事項・用語定義・ディレクトリ構造を書く
CLAUDE.mdに記載すると効果が高い内容は、大きく3種類あります。
禁止ルール
「やってほしくないこと」や「承認を必要にしたいこと」を明示します。たとえば「本番向けビルドコマンドは承認なしに実行しない」「既存のナビゲーション構造を変更しない」「機密情報をコミットしない」といった内容です。Markdownの指示はAIの判断を促すものなので、確実に止めたい操作にはpermission settingsやHooksなどの実行環境側の制御を併用します。[2]
用語の定義
プロジェクト固有の言葉の意味を記述します。「このプロジェクトにおけるブログとはsrc/content/blog/配下を指す」「ドキュメントはsrc/content/docs/配下を指す」といった定義がこれに当たります。定義がないと、AIが「記事を書いて」という指示に対してどのディレクトリを使うべきか判断できないことがあります。
ディレクトリ構造の説明
「何がどこにあるか」を示します。プロジェクトの規模が大きくなるほど、AIがファイルの配置を誤解しやすくなります。CLAUDE.mdで主要なディレクトリの役割を説明することで、AIが適切な場所にファイルを配置・参照できるようになります。
CLAUDE.mdは短く具体的な常時指示に絞る
CLAUDE.mdが長いと、AIは作業に関係しない指示まで毎回処理し、最重要ルールを見つけにくくなります。
CLAUDE.mdには、プロジェクトの全体像と最重要ルールだけを書きます。詳細なルールや手順はshared/rules/やshared/skills/へ分け、CLAUDE.mdから参照します。
まとめ:CLAUDE.mdは短い常時指示に絞り、強制制御と分ける
CLAUDE.mdは、AIに「このプロジェクトでどう動くべきか」を事前に伝え、会話のたびに同じ説明を繰り返す負担を減らすファイルです。特に承認ルール・用語定義・ディレクトリ構造の3種類を書くと、AIの動作を揃えやすくなります。次の記事では、過去のミスを記録して繰り返しを減らす「lessons.md」の設計を説明します。
まず、直近の作業で繰り返し説明した前提を1つ選び、短く具体的な常時指示へ書き換えてください。一度限りの依頼や、権限・フック・CI(変更時に動く自動検証)で機械的に止めるべき操作は、CLAUDE.mdだけに任せないことが適用上の境界です。
参考文献
- Anthropic, How Claude remembers your project, Claude Code Docs
- Anthropic, Claude Code settings, Claude Code Docs
最新のリリースやアップデートの詳細は、公式サイト・公式ドキュメントを確認してください。