◉CLAUDE LABEN
●2.1.301 — vim の % モーション、VS Code パネルでの LaTeX 数式表示、使用量上限待ちのリトライ監視の上限が入りました(10/15)●2.1.299 — 200K トークン超で約54分放置した会話はアイドル圧縮。MCP の許可ルールは名指ししたサーバーだけに一致します●SONNET 4.5 — Claude API での提供終了は 11/30、残り45日。移行先は Sonnet 5.5●WINDOWS — 日本語の環境でだけフックが黙って壊れる報告があり、文字コードの確認が呼びかけられています●FAST MODE — Opus 5.5 の Fast mode がリサーチプレビューを終え、ベータヘッダーが不要になりました(10/15)●NEW — Cowork に渡したフォルダの先頭に、十行の約束ファイルを置いてみました●2.1.301 — vim の % モーション、VS Code パネルでの LaTeX 数式表示、使用量上限待ちのリトライ監視の上限が入りました(10/15)●2.1.299 — 200K トークン超で約54分放置した会話はアイドル圧縮。MCP の許可ルールは名指ししたサーバーだけに一致します●SONNET 4.5 — Claude API での提供終了は 11/30、残り45日。移行先は Sonnet 5.5●WINDOWS — 日本語の環境でだけフックが黙って壊れる報告があり、文字コードの確認が呼びかけられています●FAST MODE — Opus 5.5 の Fast mode がリサーチプレビューを終え、ベータヘッダーが不要になりました(10/15)●NEW — Cowork に渡したフォルダの先頭に、十行の約束ファイルを置いてみました
記事一覧/Claude Code
⟐ Claude Code/2026-04-28初級

Claude Code の /init で生成された CLAUDE.md を実用レベルに磨き上げる4ステップ

/initが生成するCLAUDE.mdは、そのままでは「あって当たり前のこと」しか書かれていません。当たり前を削る、やってほしくないことを明記する、プロジェクト固有の判断基準を足す、実例で型を示すという4ステップで実用レベルに磨き上げる方法を、最小テンプレートとともに共有します。

claude-code132initclaude-mdsetup3best-practices3

Claude Code を新しいプロジェクトで立ち上げると、まず /init を打って CLAUDE.md を作る方が多いと思います。私もそうしています。ただ、生成された CLAUDE.md をそのまま使い続けて「思ったほど Claude が賢く動いてくれない」と感じた経験はないでしょうか。

私自身、4サイトの個人開発を Claude Code で回す中で何度かこの壁にぶつかりました。結論から言うと、/init の出力は「下書き」であって「完成品」ではありません。ここをきちんと磨き込むかどうかで、その後の数百回のセッションの質が変わってきます。

/init で生成された CLAUDE.md を実用レベルに引き上げるために、私が毎回実施している4つのステップを順番にご紹介します。テンプレ的な解説ではなく、実際の作業順とビフォーアフターの例を交えてお伝えしますので、今日のうちにそのまま手元で試していただけるはずです。

/init コマンドが本当にやっていること

/init は「プロジェクトを読み込んで CLAUDE.md を生成するコマンド」と言われがちですが、実態はもう少し限定的です。Claude Code はリポジトリ直下のファイル一覧、package.json などのマニフェスト、README.md の内容を斜め読みして、「このプロジェクトの典型的な作業手順」を要約したファイルを書き出します。

ここで重要なのは、/init が見ているのは書かれている情報だけということです。コードベースには書かれていない暗黙のルール(例:「PR は必ず main ではなく develop から切る」「DBマイグレーションは別 PR にする」)は当然反映されません。生成直後の CLAUDE.md は、誰が読んでも当たり障りのない「ビルドコマンドはこれです」「テストコマンドはこれです」という内容で埋まりがちです。

つまり /init の出力は、チームに新人が入ったときに渡す紙のオンボーディング資料くらいの粒度です。それ自体は無駄ではありませんが、Claude が「自分の代わりに判断する」ために必要な情報としては足りません。

ステップ1: 「あって当たり前のこと」を削る

最初にやるのは追加ではなく削除です。意外に思われるかもしれませんが、/init が出力した内容のうち、半分くらいは消したほうが Claude の動きが良くなります。

具体的には、以下のような項目はほぼ全削除して構いません。

  • 「This project uses TypeScript and Next.js」のような技術スタックの紹介文(package.json を見れば Claude は分かります)
  • 「ファイル構成」セクションの一般的な説明(src/ public/ などの自明な階層)
  • ビルドコマンドの羅列(npm run dev のような標準的なもの)

CLAUDE.md は Claude が毎回読むファイルなので、自明な情報を載せておくとコンテキストウィンドウを浪費するだけです。私の経験では、生成された CLAUDE.md をまず3〜5割カットしてから後続のステップに進むと、Claude の集中力が目に見えて上がります。

# 生成直後の CLAUDE.md の行数を確認
wc -l CLAUDE.md
# 例: 180 lines
 
# 思い切って削った後
wc -l CLAUDE.md
# 例: 95 lines(半分弱でも十分)

ステップ2: 「やってほしくないこと」を明記する

ここが一番効きます。Claude Code の挙動を制御したいなら、「こうしてください」よりも「これだけはやらないでください」を書いたほうが安定します。

たとえば私は、各サイトの CLAUDE.md にこういう項目を入れています。

## やってはいけないこと
 
- ワークスペース内の Git リポジトリで `git push` を直接実行しない
  → 権限問題が発生するため、必ず /tmp/repos/ で作業すること
- 既存ファイルを書き直すときに「全文書き直し」を提案しない
  → 必ず Edit ツールで最小差分のパッチを当てる
- API キーをコード例にハードコードしない
  → YOUR_API_KEY のようなプレースホルダーを使う

このセクションを書く前と後で、Claude が同じ間違いを繰り返す頻度が体感で半分以下になりました。「やらない」ルールは抽象的になりがちなので、必ず理由を一行で添えるのがコツです。理由が書いてあれば、Claude はエッジケースで自分で判断できます。

ステップ3: プロジェクト固有の判断基準を足す

/init には絶対書けない情報、つまり「あなた個人がこのプロジェクトをどう運営したいか」を入れていきます。私が実際に書いている例を挙げます。

  • 「記事は必ず日本語版と英語版をセットで作成すること」(Dolice Labs の運用ルール)
  • 「機能追加より既存機能の安定化を優先する」(このサイトの方針)
  • 「テストは振る舞いベース。実装詳細をテストしない」(チーム合意事項)
  • 「変更を入れる前に必ず _backup/ に当該ファイルをコピーする」(事故防止)

これらは全部、コードを読んでも分からない情報です。CLAUDE.md にあるかないかで、Claude の提案クオリティが大きく変わります。

書き方のコツは、判断基準を明示することです。「なるべく〜してください」ではなく「Aの場合は X、Bの場合は Y」のような分岐を書くと、Claude は迷わず動けます。

ステップ4: 実例で「型」を示す

最後のステップは、文章ではなくコード例・コミットメッセージ例・ファイル構成例で「型」を見せることです。

たとえば私は、CLAUDE.md の末尾に「お手本となる過去の作業例」を1〜2件貼り付けています。

## お手本: 良い作業例
 
### Issue #74 の対応(記事HTMLをassets分離)
- 問題: articles.json が62MiBを超えてWorker制限突破
- 対応: HTMLは public/content/ に個別ファイル化、JSONはメタデータのみ
- 学び: Cloudflare Workers の制約は「総バンドルサイズ」で効くため、
  動的読み込みできるアセットは可能な限り分離する
 
この方針は他の容量問題でも適用してください。

文章のルールだけだと Claude は曖昧なケースで揺れますが、具体例があると一気に解像度が上がります。私は新しいプロジェクトを始めるとき、最初の1週間で発生した代表的な作業を1つ選んで CLAUDE.md にこの形式で残すようにしています。

CLAUDE.md の設計をさらに深めたい方は、CLAUDE.md デザイン生産性ガイド もあわせてどうぞ。プロジェクト全体を制御する設計の話を扱っています。

私が使っている CLAUDE.md の最小テンプレート

/init の出力を磨く方向性が見えたところで、私が新規プロジェクトで実際に使っている最小テンプレートを共有します。30〜60行程度ですが、これだけで Claude の挙動はかなり安定します。

# {プロジェクト名} — CLAUDE.md
 
## このプロジェクトについて
(1〜2行:目的とユーザーは誰か)
 
## やってはいけないこと
- {具体ルール1}
  → 理由: {一行}
- {具体ルール2}
  → 理由: {一行}
 
## 判断基準
- {状況A} → {こうする}
- {状況B} → {こうする}
- 迷ったら {デフォルト方針}
 
## ファイル変更ルール
- 既存ファイル編集は Edit ツールで最小差分
- 新規作成は {命名規則}
- {特殊なルール}
 
## お手本: 良い作業例
(実際の作業1件をビフォー・アフターで記述)

このテンプレートは私の4サイトすべてで使っています。最初は短くて不安かもしれませんが、プロジェクトが進むにつれて自然と必要な箇所が増えていくので、足りなくなってから足すほうが結果的に効率的です。

なお、CLAUDE.md と並行して .claude/settings.json でツール権限やコマンド許可も整えておくと、運用がさらに楽になります。詳しくは Claude Code settings.json 完全ガイド を参考にしてください。

全体を振り返って — まず削ることから始めてみてください

/init で生成された CLAUDE.md を磨く4ステップを振り返ります。削る、禁止事項を書く、判断基準を足す、実例で型を示す。この順番で進めるのが、私の経験では一番効率がいいです。

今日のうちに試していただきたいのは、ステップ1の「削る」だけです。生成された CLAUDE.md を半分くらいの長さにしてみてください。それだけで Claude の応答が引き締まるのが分かるはずです。残りの3ステップは、プロジェクトを動かしながら少しずつ足していけば十分です。

Claude Code の出力スタイル自体をプロジェクトに合わせたい場合は、Claude Code 出力スタイルガイド も合わせて読んでみてください。CLAUDE.md と組み合わせると、Claude の「振る舞いの個性」を細かく調整できるようになります。

新しいプロジェクトに /init を打つたびに、今回の4ステップを思い出していただけたら嬉しいです。

シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • ✦コピー&ペーストで使える実装コード付き
  • ✦毎日新しい上級ガイドを追加
  • ✦¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

⟐ Claude Code2026-08-28
名前に混ざった見えない文字を、プラグインを入れる前に洗い出す小さなスクリプト
プラグインやスキルの名前に不可視文字や制御文字が混ざっていても、ターミナルの一覧では見分けがつきません。実際に6つの紛らわしい名前を並べて ls の出力を比べ、導入前に走らせる点検スクリプトと、その点検が拾えない範囲までを整理しました。
⟐ Claude Code2026-08-26
キャッシュのTTLを1時間に延ばすかは、離席の長さではなく戻る場所で決めています
Claude Code v2.1.242 で promptCacheTtl と subagentPromptCacheTtl が追加されました。1時間キャッシュが効く条件は離席時間ではなく、同じ作業ディレクトリと同じ git 状態へ戻るかどうかです。判断の順番と、効いているかを確かめる手順を書き残します。
⟐ Claude Code2026-06-12
Android の戻るボタン広告ゲートを入れ子から並列独立構造へ — Claude Code と進めた終了フロー再設計の記録
戻るボタンの広告が「出ない」と「出すぎる」を同時に起こした原因は、入れ子分岐に埋め込まれた暗黙の優先度でした。壁紙アプリ v2.1.0 で広告ゲートを並列独立構造へ作り直した過程を、Kotlin実装・Claude Codeへの依頼内容・テストまで含めて記録します。