1
CLAUDE.md をゼロから設計できる なぜ必要か・何を書くかを理解し、自分の環境に合ったファイルを作れる
2
セッションを意図的に管理できる AIの「記憶の仕組み」を理解し、コンテキストを自在に引き継ぎ・リセットできる
3
複数プロジェクトを整理できる プロジェクト別に CLAUDE.md を使い分け、混乱なく並走させられる
4
PM責任者設定で作業を整理・段階化できる AIに「PM役割」を演じさせることで、タスクの細分化・進捗報告・段階的実行が引き出せる
通読 20分 / 実践 45分 — コピー用テンプレートをそのまま使えば即日運用を始められます
Chapter 1

CLAUDE.md 設計の思想

Claude Code を何度か使い始めると、「毎回同じ説明をしている」という感覚が生まれてきます。 それを解決するのが CLAUDE.md です。このChapterでは、なぜ必要なのか・何を書くのか・どう使い分けるかを体系的に学びます。

なぜ CLAUDE.md が必要か

Claude Code はセッションをまたいで会話を「覚えていません」。ターミナルを閉じてまた開けば、AI は完全な新人として登場します。 あなたのプロジェクトの技術スタックも、セキュリティ上の禁止事項も、あなたのスキルレベルも——全部忘れた状態でスタートします。

比喩で理解する: CLAUDE.md は「会社の新人向けオリエンテーション資料」です。 毎朝リセットされる新人に、毎回口頭で同じ説明をするか、事前に資料を渡しておくか——どちらが効率的かは明らかです。

CLAUDE.md を置いておくと、Claude Code はセッション開始時に自動的に読み込みます。 その結果、AIは「最初から文脈を知った状態」でスタートできる——これが本格運用の第一歩です。

グローバル vs プロジェクト — 2層に分けて運用する

CLAUDE.md は実は2箇所に置けます。それぞれ役割が違うので、最初から分けて運用すると後で苦労しません。

GLOBAL(全プロジェクト共通)

~/.claude/CLAUDE.md

どのプロジェクトを開いても自動で読み込まれる。あなた専用の"基本人格"。

  • 口調・説明スタイル(敬語/タメ口・専門用語の許容度)
  • 全プロジェクト共通の禁止事項(API キー漏洩・rm -rf 厳禁・許可なき force push 禁止)
  • あなた自身の自己紹介(非エンジニア / 開発歴 / 得意不得意)
  • 共通のお願い(リスク操作の事前確認・選択肢の提示など)
LOCAL(このプロジェクトだけ)

<プロジェクトルート>/CLAUDE.md

そのフォルダで claude を起動した時だけ追加で読み込まれる。"案件メモ"。

  • 技術スタック(Cloudflare Pages + D1 / Next.js + Vercel など)
  • ディレクトリ構造(どこに何のファイルがあるか)
  • このプロジェクト固有の制約(依存ライブラリ・互換性・本番DB禁止)
  • 進行中のタスク・既知の課題(このプロジェクト固有のもの)
どっちに書く? 1秒判断フロー
全プロジェクトで同じ?
グローバル(~/.claude/CLAUDE.md
このプロジェクトだけ?
ローカル(プロジェクトルートの CLAUDE.md
迷ったら ローカル に書いて、3プロジェクトで同じことを書いていると気づいたタイミングでグローバルに昇格させるのが現実的です。
CLAUDE.md の 3 つの構成要素

何でも書けばいいわけではありません。効果が高い要素は次の 3 つです。

① インフラ & スタック定義 必須

使っている技術を明記します。「HTML/CSS/JavaScript のみ」「Next.js + Vercel + PostgreSQL」など。 これがないと AI は毎回「どんな環境ですか?」と確認してくる羽目になります。 書くほど、初動の質問ゼロで作業に入れます。

② 禁止事項(セキュリティ guardrails)必須

「やってはいけないこと」を明記します。API キーをコードに書かない・本番 DB を直接触らない・個人情報を Git にコミットしない、など。 AI は言われなければリスクを判断しません。事前に書いておくことで、致命的なミスを事前に防げます。

上級者向け: Claude Code のセキュリティ設定(CLAUDE.md とは別の仕組み)
CLAUDE.md の禁止事項はあくまで「AIへのお願い」です。より強制力の高い設定として .claude/settings.json があります:
  • "permissions": { "deny": ["Bash(rm -rf*)"] } — 特定の操作を機械的にブロックできる
  • 起動時の --allowedTools フラグ — 使えるツールを特定のものに制限できる

これらは ~/.claude/settings.json(グローバル)または .claude/settings.json(プロジェクト)に書く設定で、CLAUDE.md とは独立した仕組みです。日常用途では CLAUDE.md の禁止事項で十分です。

③ 自己紹介 推奨

あなたのスキルレベルと「どう説明してほしいか」の希望を書きます。 「専門用語は使わない」「複数の選択肢を提示してほしい」「操作前にリスクを教えてほしい」——これを書くと、 AI の応答スタイルが格段にあなたに合ったものになります。

ユースケース別 CLAUDE.md テンプレート

以下の 3 つのテンプレートから、あなたの状況に最も近いものを選んでコピーしてください。 CLAUDE.md というファイル名でプロジェクトのルートフォルダに置くだけで有効になります。

使い方の基本: まずは該当テンプレをそのままコピーして ~/.claude/CLAUDE.md(または各プロジェクトの CLAUDE.md)に貼り付けるだけでOK。あとは使いながら自分仕様に育てていく前提です。「こう変えてほしい」が3回出たら追記する、くらいの軽さで運用してください。

まずはコピーして ~/.claude/CLAUDE.md に貼り付けるだけでOK。あとは使いながら自分仕様に育てます。

CLAUDE.md — テンプレート A(非エンジニア向け・最低限の安全装備)
# わたしのClaude Code設定

## わたしのこと
- プログラミング初心者です
- 技術用語は最小限で、必要な時だけ使ってください
- 専門用語が出る時は意味も一緒に教えてください
- 日本語でやりとりしてください

## 絶対やらないでほしいこと
- APIキー、パスワード、個人情報をコードに直書きしない
- わたしの確認なしにファイルを削除しない
- わたしの確認なしに `git push` しない
- GitHubリポジトリをpublicにしない(明示指示時のみ可)
- 自前の認証システムは作らない(既存サービスを使う)

## やってほしいこと
- リスクや副作用は先に教えてください
- 「できません」より「できる方法を3つ」考えてください
- エラーは「原因/対策/確認方法」で説明してください
- 不明点は推測せず、わたしに質問してください

## 進め方
- 大きな変更前は必ずプランを共有してください
- 1つずつ確認しながら進めてください
- 完了時は何をやったかを箇条書きで報告してください

まずはコピーして ~/.claude/CLAUDE.md(または案件の CLAUDE.md)に貼り付けるだけでOK。あとは使いながら自分仕様に育てます。

CLAUDE.md — テンプレート B(フリーランス・業務利用ベース)
# わたしのClaude Code設定(業務利用版)

## ロール
- あなたはわたしの作業パートナーです
- 専門用語は使ってOKですが、初出時は1行注釈をつけてください
- 重要な判断はわたしに確認してください

## セキュリティ(絶対)
- APIキー、パスワード、顧客情報、個人情報をコードに直書きしない
- `.env` 等の機密ファイルはgit管理外(`.gitignore` に必ず登録)
- 自前認証は作らない(Auth0/Clerk/Firebase Auth等の既製品を使う)
- GitHub Publicにする時は事前に必ず確認

## コード品質
- 関数は単一責任。20行超えそうなら分割を提案
- 命名は英語。コメントは日本語OK
- エラーハンドリングを省略しない(try-catch / 戻り値チェック)
- 外部API呼び出しはタイムアウトとリトライ方針を必ず確認

## 進行
- 大きな変更前にプラン共有 → 同意 → 実行 → 報告 の順
- 不明点は推測せず確認
- 完了時は変更ファイル一覧 + 動作確認手順を報告

## 言語
- やりとりは日本語
- コード内コメントは日本語OK

まずはコピーして ~/.claude/CLAUDE.md に貼り付けるだけでOK。あとはプロジェクトのスタックに合わせて編集していきます。

CLAUDE.md — テンプレート C(開発者・厳格版)
# Claude Code Configuration

## Identity
- You are my engineering collaborator on this codebase.
- Default language: 日本語. Switch to English on request.
- Be concise. Skip preamble.

## Stack & Conventions
- Language: TypeScript / Python / etc. (← プロジェクトに合わせて編集)
- Style: prettier + eslint / black + ruff
- Test: vitest / pytest
- Branch strategy: trunk-based, feature branches off main

## Security (HARD STOPS)
- Never commit secrets (API keys, tokens, credentials, PII).
- Never `git push --force` to main/master.
- Never delete files without explicit confirmation.
- Never disable type checking, lint, or tests to "make it pass".
- Never bypass pre-commit hooks (`--no-verify`).
- No DIY auth; use established providers.

## Workflow
1. Plan first. Share approach before non-trivial changes.
2. One concern per commit. Descriptive messages.
3. Tests with new behavior. Update tests with refactors.
4. After completion: report changed files + verification steps.

## Communication
- Surface risks and edge cases proactively.
- Replace "I can't" with "Here are 3 ways and their tradeoffs".
- Errors → root cause / fix / verification.
実践ポイント: テンプレートは出発点です。使っていくうちに「この禁止事項も追加したい」「説明スタイルをもっと変えたい」と感じたら、 積極的に編集してください。育てていくドキュメントです。
Chapter 2

セッション管理の技術

「セッション」を意図的に管理できると、AIとの作業効率が劇的に変わります。 思いつきで長時間作業するのではなく、区切り・引き継ぎ・再開を設計する——それがR4レベルの使い方です。

セッションとは何か

1つのターミナルウィンドウで Claude Code を起動したとき、それが「1セッション」です。 ターミナルを閉じる・exit する・別のウィンドウで新しく起動する——このいずれかでセッションが終わります。

重要な仕組み: セッションが終わると、AIの「短期記憶(会話の流れ)」はリセットされます。 CLAUDE.md はファイルとして残るため次回も読まれますが、「さっき話していた内容」は消えます。 この仕組みを理解することが、セッション管理の出発点です。

逆に言えば、セッション内では文脈がどんどん積み上がります。 長すぎるセッションは「AIが古い会話に引っ張られて精度が下がる」「処理が重くなる」という問題を引き起こします。 意図的に区切ることが、品質とコストの両方に効きます。

セッションを意図的に区切るタイミング

「いつ区切ればいい?」に迷わないよう、4つのサインを覚えておきましょう。

タスクが完了したとき 1つの機能・修正が動いた瞬間が最高の区切りポイント。ここでコミットして終了が理想的。
🔀
別プロジェクトに移るとき プロジェクト A の文脈を持ったまま B に入ると混乱の元。必ず新しいセッションで始める。
🔄
エラーが深刻でリセットしたいとき ループにはまったら迷わず区切る。新しいセッションで「エラーの状況説明」から入り直す。
1〜2時間経過したとき 作業量にもよるが、長くなりすぎる前に区切ると精度が保たれる。要約して引き継ぎを。
コンテキストを引き継ぐ技術

セッションを終える前に「引き継ぎ文書」を作ってもらいましょう。 次のセッション冒頭でこれを貼るだけで、AIは前回の続きから始められます。

引き継ぎ文書の依頼プロンプト
ここまでの作業を要約してください。
・何を作ったか
・現在の状態(動く / 動かない)
・次にやること(優先順位つきで)
次のセッションでこの要約を渡すので、引き継ぎ文書として書いてください。

生成された引き継ぎ文書は、ターミナルからコピーしてメモアプリや handover.md などのファイルに保存しておきます。 次のセッションでそのまま貼り付けるだけで、スムーズに再開できます。

セッション制御コマンド(実用3選)

長いセッションで文脈が積み上がってきたら、以下のコマンドでコントロールする。

/compact まず試す

会話履歴を自動圧縮。文脈を保ちながらトークンを節約。「迷ったらまず /compact」が実用的な使い方。

/clear

会話履歴を完全リセット。深刻なエラーループに陥ったときや、完全に別のタスクに切り替えるときに使う。CLAUDE.mdは読み直されるので設定は維持される。

フォーク(別ウィンドウ)

新しいターミナルで claude を起動 = 独立したセッション。並行して別タスクを進めたいときに有効。上級者はこれを複数同時に動かす。

CLAUDE.mdは「お守り+確認の仕組み」
CLAUDE.mdに書いた禁止事項はAIへの「お願い」です。強制設定ではないため、危険操作が心配な場合は .claude/settings.jsonpermissions.deny と人間による確認をセットで使いましょう。
セッション開始の定石プロンプト

新しいセッションを始めるとき、「昨日の続きです」だけでは AI は何も分かりません。 以下のフォーマットで状況を整理して渡すのが定石です。

セッション開始プロンプト(フォーマット)
[前回の作業] 単語帳メーカーのCSV読み込みを実装した
[現在の状態] index.html がブラウザで動く。スコア機能はまだない
[今日やること] スコア機能を追加したい
[注意事項] デザインはいじらなくてOK。既存のCSSは変えないで
なぜ効果的か: このフォーマットは AI が「何を知っていれば十分か」を先に伝えています。 余分な確認往復がなくなり、最初のレスポンスから具体的な作業に入れます。
Chapter 3

複数プロジェクト管理

副業・個人開発・学習プロジェクトが増えると、「どのプロジェクト用の指示だっけ?」という混乱が生まれます。 プロジェクトごとに CLAUDE.md を持ち、フォルダ構成を整えることで、すっきりと並走できます。

フォルダ構成のベストプラクティス

最もシンプルで効果的な構成は「プロジェクトごとにフォルダを分け、各フォルダに CLAUDE.md を置く」です。

推奨フォルダ構成
~/projects/
  ├── word-app/         ← 単語帳プロジェクト
  │   ├── CLAUDE.md    ← このプロジェクト専用の指示
  │   ├── index.html
  │   └── words.csv
  ├── pomodoro/         ← ポモドーロタイマー
  │   ├── CLAUDE.md    ← 別の指示ファイル
  │   └── pomodoro.html
  └── business/         ← 副業プロジェクト
      ├── CLAUDE.md    ← クライアント情報含む(.gitignore 推奨)
      ├── .gitignore   ← CLAUDE.md を除外する設定を追記
      └── src/

Claude Code はカレントディレクトリ(今いるフォルダ)の CLAUDE.md を自動で読みます。 つまり cd word-app してから起動すれば単語帳の指示が、cd business してから起動すれば副業の指示が自動的に適用されます。

プロジェクト別 CLAUDE.md の管理ルール

ルール 1:各プロジェクトフォルダに必ず 1 つ置く

グローバル設定(ホームフォルダの ~/.claude/CLAUDE.md)だけに頼ると、プロジェクト固有の指示が効きません。 プロジェクト固有の情報(スタック・禁止事項・クライアント情報)は必ずプロジェクトフォルダ内に置きます。

グローバル設定とプロジェクト設定の読み込み順序

Claude Code は以下の順に両方を読み込みます。どちらか一方ではなく、両方が有効になります。

① グローバル ~/.claude/CLAUDE.md 全案件共通のスタイル指示 ② ローカル プロジェクト/CLAUDE.md このプロジェクト専用の指示 両方が有効 グローバル + ローカル ローカルがより具体的に 上書きされる 読み込み順序 マージ結果

グローバルに書く例:「私は非エンジニア」「専門用語禁止」「リスクは先に教えて」など全案件共通のスタイル指示
ローカルに書く例:技術スタック定義・プロジェクト固有の禁止事項・クライアント情報

ルール 2:個人情報が入るなら .gitignore に追加

クライアント名・連絡先・社内情報などを書いた CLAUDE.md を GitHub に push すると情報漏洩になります。 副業プロジェクトでは必ず .gitignoreCLAUDE.md を追記してください。

ルール 3:テンプレートを 1 つ作って使い回す

毎回ゼロから書くのは非効率です。Chapter 1 のテンプレートをベースに「自分の基本テンプレート」を 1 つ用意し、 新しいプロジェクトでは cp template/CLAUDE.md ./CLAUDE.md してから編集するフローを作ると楽になります。

.gitignore への追記方法
# .gitignore に追記(個人情報が入る場合)
CLAUDE.md

# または特定のパスだけ除外
/CLAUDE.md
よくある間違い
  • グローバル設定だけで全プロジェクト兼用 「汎用の CLAUDE.md を一個だけ作れば楽」と思いがちですが、プロジェクト固有の技術スタックや禁止事項が適用されず、AI が汎用的な応答をしてしまいます。
    ✓ 解決: プロジェクトフォルダに個別の CLAUDE.md を必ず作る
  • CLAUDE.md を Git にコミットして秘密情報が漏れる クライアント名・API キー・社内情報を書いた CLAUDE.md をうっかり git add . で含めてしまうパターン。副業案件で致命的なミスになりえます。
    ✓ 解決: 副業・クライアント案件は必ず .gitignore に CLAUDE.md を追加
  • 古い CLAUDE.md をそのまま別プロジェクトに流用 前のプロジェクトの禁止事項や技術スタックが新しいプロジェクトに混入し、AI が「前のプロジェクトのルール」で動いてしまいます。
    ✓ 解決: テンプレートから作り直す習慣をつける
Chapter 4

PM責任者設定

Claude Code の標準的な動作は「1つのタスクを逐次実行」です。 PM責任者設定を使うと、AIがタスクを自ら細分化・段階化して進捗を報告するようになります。

PM責任者設定とは

これは真のマルチスレッド並列処理ではなく、AIに「PM役割」を演じさせるプロンプトエンジニアリングです。 Claude Code のトークン処理はシングルスレッドですが、PM役割を与えると以下の変化が起きます:

  • タスクを細分化して段階的に処理する傾向が強まる
  • 「今〇〇を処理中、完了したら報告します」という進捗報告を行うようになる
  • 大きなタスクを自分で分割して順番に実行する
⚠️ 期待値の調整: 「PM設定したのに並列になっていない」と感じることがあります。これは仕様です。 AIが作業を整理・段階化してくれることがこの設定の本質的な価値です。 真の並列実行(複数プロセスの同時実行)とは異なります。
具体的に何が変わるか: 大量ファイルのリファクタリング中も「今 src/utils.ts を処理中です。他に何か質問はありますか?」という形で会話を継続できます。 「終わるまで待つ」から「進捗を確認しながら次の作業を考える」に変わります。
PM責任者設定プロンプト

次のプロンプトをセッション開始時に貼り付けるだけです。 一度設定すれば、そのセッションが終わるまで有効です。

PM設定プロンプト(コピーして使う)
PM責任者設定
あなたがPMとして動いてください。
窓口・部下・サブエージェントの採用・役割分担・統括を全てあなたにお任せします。
重い作業は部下に任せて、あなた自身は全体把握と判断に専念してください。
部下に作業させている間も、ユーザーとの会話を止めないようにしてください。
重要なことは忘れずに覚えておいてください。
迷ったら曖昧な状態で動かず確認してください。
この役割は常時有効、セッション終わりまで忘れないでください。
PM設定が活きるシーン
  • 📁
    複数ファイルを同時に書き換えるとき
    「コンポーネント全体のプロップ名を変更したい」「全ページのナビゲーションを更新したい」などの横断的変更。PMに「全ファイルを調査してリストを作ってから実行して」と指示すると安全です。
  • 🧪
    テスト実行しながら別のコードを書くとき
    「テストを走らせながら、失敗した箇所の修正案を並行して考えてほしい」という使い方。処理待ちゼロで作業が進みます。
  • 🔧
    大きなリファクタリング中に進捗を確認したいとき
    「このリファクタリング、どこまで終わった?」「残りどのくらい?」と途中でリアルタイムに確認できます。 全部終わるまで黙って待つ必要がなくなります。
注意点: PM設定は強力ですが、自律的に動きすぎることがあります。 「迷ったら確認」という一文を必ず入れておくのが安全運用のコツです。 大きな変更の前に「実行する前に変更リストを見せて」と追加するのも有効です。
Chapter 5 — コラム

コストと使い方の最適化

「使いすぎ」への不安は多くのユーザーが感じます。 原則を知っておけば、必要以上に怖がらず、かつ無駄なく使えます。

短いプロンプトより「良いプロンプト」を
✏️

曖昧な指示はやり直しコスト倍

「やってください」は AI に判断させすぎます。ゴール・形式・制約の 3 点を最初に書くだけでやり直しが減ります。

🎯

具体的な形式を指定する

「〇〇を〇〇の形式で〇〇してください」という構造が最も効率的。「JSON で」「リスト形式で」などの指定が有効。

🧩

大きなタスクは分割する

「全部一気に」より「まずAだけ」の方が精度が高い。分割実行はコストの観点でも効果的です。

セッション区切りでのトークン節約

Claude Code の処理コストは、会話の長さ(コンテキストの量)に比例します。 1つのセッションで何時間も作業を続けると、AI が「序盤の会話」を参照するコストが高くなります。

意図的にセッションを区切り、引き継ぎ文書を使って再開する運用は、 品質を保ちながらコストを下げる一石二鳥の方法です。 Chapter 2 のセッション管理テクニックが、コスト最適化にも直結しています。

得意なことと不得意なことを知る
カテゴリ 得意 ✓ 苦手 ✗(または要注意)
コード 生成・変換・リファクタリング・デバッグ補助 外部 API の最新仕様(バージョン依存)
文書 要約・書き換え・翻訳・形式変換 最新ニュース・リアルタイム情報
判断 選択肢の整理・リスクの指摘・比較分析 仕様が曖昧なまま推測で動かすこと
操作 ファイル作成・編集・bash コマンド実行 外部サービスへのログイン・ブラウザ操作(標準では)

「苦手」を理解しておくと、AI に任せるべきでない場面を正しく判断できます。 特に「推測が必要な仕様」は、曖昧なまま動かせると後で大きな修正が必要になるので、 迷ったら必ず確認させる習慣が大切です。

さらに上を目指すなら → エージェント自動化へ

本格運用を習得したら、次は「AIエージェントに自律的に動かせる」世界へ。 複数エージェントの連携・自動化ワークフロー・ツール活用を網羅したツールキットです。

aiagent_toolkit.html を開く →