告白:CLAUDE.mdを、自分で書いたことがない
Claude Codeを使っていて、こんな経験はありませんか?
「さっきも言ったのに、また同じミスをする」「毎回ゼロから説明し直すのが面倒」
僕もそうでした。Claude Codeは優秀ですが、何も伝えなければ毎回まっさらな状態で仕事を始めます。 前回の会話で伝えたルールも、デザインの好みも、使っている技術も覚えていません。
CLAUDE.mdは、この問題を解決するファイルです。そして、ここで一つ告白があります。
僕はCLAUDE.mdを1行も自分で書いたことがありません。
すべてAIとの会話の中で、AIに書いてもらっています。
1行も自分で書いていない
AIが分類して配置した
「ルール化して」と言っただけ
CLAUDE.mdとは何か
CLAUDE.mdは、プロジェクトの一番上の階層(ルートフォルダ)に置くテキストファイルです。Claude Codeは会話を始めるたびにこのファイルを自動で読み込んで、書かれたルールに従って動きます。
イメージとしては、新しいアルバイトに渡す「業務マニュアル」のようなものです。
- 「うちの店では、お客さんには敬語で話してね」 → 文体のルール
- 「冷蔵庫の食材は左から使ってね」 → ファイル管理のルール
- 「レジ締めの手順はこの紙を見てね」 → ワークフローの指示
CLAUDE.mdがない状態は、マニュアルなしでアルバイトに仕事を任せるようなもの。毎回「あ、それはこうして」「いや、そうじゃなくて」と口頭で指示し直す必要があります。
Cursor Rulesで知った「AIにルールを渡す」概念
僕がこの仕組みを知ったのは、実はClaude Codeの前に使っていたCursorがきっかけです。
Google Discoverで流れてきた記事で「CursorならプロジェクトのファイルをすべてAIが理解して実行できる」と知り、YouTubeで「Cursor」と検索。いろいろ見ている中で、「Cursor Rules」というものにルールを定義すれば、AIがより安定したアウトプットを出してくれると知りました。Claude Codeに乗り換えるとき、AIに「同じような仕組みはある?」と聞いて、CLAUDE.mdにたどり着いたんです。
僕のCLAUDE.mdの中身を公開
実際に僕がこのブログ「AIと暮らす。」で使っているCLAUDE.mdの主要な部分を紹介します。繰り返しますが、これを書いたのはAIです。 僕は「こうしたい」と伝えただけ。
Role & Identity(AIの人格設定)
## Role & Identity
あなたはブログ「AIと暮らす。」の執筆者です。
30代・共働き・子育て中の男性として振る舞ってください。一人称は「僕」。
- 読者ターゲット: 30-40代の非エンジニア
- 文体: 丁寧だが堅苦しくない「です・ます」調
- 構成: 結論ファースト
- NG: 抽象的な表現(「簡単です」ではなく「15分で完了」と具体的に)
なぜこのルールが生まれたか: Claude Codeに記事を書いてもらったとき、最初は一般的な解説口調で返ってきました。「もっとカジュアルに、僕が書いているような感じにして」とフィードバックを繰り返すうちに、「いい感じ」のトーンが見つかった。そこで「これをルール化して」と伝えたら、AIがこの形にまとめてくれました。
Tech Stack(使う技術の明示)
## Tech Stack
- パッケージマネージャ: pnpm(npm は使用しない)
- リンター/フォーマッター: Biome(ESLint/Prettier は使用しない)
- フレームワーク: Astro v5 + React 19 + MDX
- ホスティング: Cloudflare Pages
なぜこのルールが生まれたか: ブログを始める前に、まずGeminiに「最新のブログ運営に最適な技術スタックを教えて」とディスカッションしました。Geminiが提案してくれた構成をそのままClaude Codeに渡して「これで構築して」とお願いしたのが始まりです。技術的なことは僕からは一切指示していません。「使わないもの」まで書いてくれるのがAIの気が利くところで、間違えないようにAIが先回りして明記してくれています。
Development Workflow(作業の流れ)
## Development Workflow
1. 実装完了後、pnpm dev でサーバーを起動し、ローカル確認を行う
2. レスポンシブ確認(375px / 768px / 1280px)も実施する
3. この時点では git 操作を一切提案しない
4. ユーザーから「OK」の返答があった後に初めてコミット・プッシュを提案する
5. ユーザーの承認なしに git push しないこと
なぜこのルールが生まれたか: 最初は逆で、AIからコミットの提案がなかったんです。毎回僕の方から「コミット・プッシュ・mainにマージお願いします」と依頼していました。それを「AIから提案してもらう形にしたい」と伝えたところ、ただ提案するだけでなく、僕の確認を挟むワークフロー全体をルール化してくれたのがこの形です。正直Gitはざっくりとしか理解できていないので、この流れ自体もAIに整理してもらっています。
カラーパレット
## カラーパレット
### 記事本文
accent: #0E7490 メインアクセント
accentHover: #06B6D4 ホバー
boxBg: #ECFEFF ボックス背景
Tailwind 標準の青系(#2563eb 等)は使用禁止。
なぜこのルールが生まれたか: デザインを何度かやり取りする中で、「このカラーパレットがいい感じだね。これからもこれでやってほしい」と伝えたら、AIがCLAUDE.mdに追加してくれました。「使用禁止」まで書いてくれたのはAIの判断です。Tailwindのデフォルトカラーが混ざらないように、AIが先回りしてくれたんですね。
ルールが生まれる瞬間
「CLAUDE.mdの書き方」を検索しても、出てくるのは汎用的なテンプレートばかりです。でも本当に役立つルールは、テンプレートからは生まれません。 日々の作業の中から、自然と生まれてくるものです。
僕の場合、ルールが生まれるパターンは大きく2つあります。
パターンA:いいアウトプットを「ルール化して」
これが一番多いパターンです。
「記事のデザインを整えて」「新しい記事を書いて」など、いつもの作業
フィードバックを重ねて、自分がいいなと思えるアウトプットにたどり着く
たった一言。書き方も保存先もAIが判断してくれる
ルールが残るので、次の会話でも同じクオリティが出る
実際の会話はこんな感じです。
いいデザインですよね。カラーパレットをCLAUDE.mdに追加しました。
Tailwind標準の青系(#2563eb等)が混ざらないように「使用禁止」も明記しておきました。これで次回以降も同じ配色で統一されます。
ポイントは、ルールは「ミス」から生まれるのではなく、「成功」から生まれるということ。「これがいい」と思えるアウトプットが出たら、それを再現可能にする。それだけです。
パターンB:最新情報でCLAUDE.mdを改善する
Google Discoverで最新のClaude関連の記事が流れてくることがあります。「CLAUDE.mdの書き方をこうした方がアウトプットの質が良くなる」という記事を見つけたら、こんな風にします。
「この記事を読んで、うちのルールを改善して」とURLを渡すだけ
現在のルールと記事のベストプラクティスを比較して、改善点を見つけてくれる
AIが提案した改善を確認して、納得したものだけ反映させる
実際に僕がやった例では、Google DiscoverでCLAUDE.mdのベストプラクティスについてのQiita記事が流れてきたとき、そのURLをClaude Codeに渡して「これを参考にルールを最適化して」とお願いしました。結果、サウナブログではCLAUDE.md本体がコンパクトになり、詳細ルールが専用ファイルに整理されました。
記事を読みました。現在のCLAUDE.mdと比較して、3つの改善点が見つかりました。CLAUDE.md本体はコンパクトに保ちつつ、詳細ルールを専用ファイルに分割する形で整理しますね。
自分でCLAUDE.mdの書き方を勉強する必要はありません。最新の情報をAIに渡して、AIに改善させる。 これで常にベストな状態が保てます。
書き方を知らなくていい理由: CLAUDE.mdの最適な書き方は、AIの方がよく知っています。人間の役割は「何をルール化したいか」を伝えること。技術的な書き方はAIに任せるのが、非エンジニアにとって一番効率的です。
AIはルールをどこに保存するのか
「ルール化して」と伝えると、AIは内容に応じて保存先を自動で振り分けてくれます。僕が運営している2つのブログの実態を見てみましょう。
サウナブログの方がCLAUDE.md本体は短い(40行)のに、ルールファイルは16個もあります。きっかけは、Google Discoverで流れてきたCLAUDE.mdのベストプラクティスについてのQiita記事でした。そのURLをClaude Codeに渡して「これを参考にルールを最適化して、重複も削除して整理して」とお願いした結果、CLAUDE.md本体はコンパクトに保ちつつ、詳細なルールが専用ファイルに分割されました。
AIは主に3つの場所にルールを保存します。
- CLAUDE.md: 常に読み込まれるルール。プロジェクト全体に共通する文体・技術スタック・カラーパレットなど
- .claude/rules/: 状況に応じて読み込まれるルール。記事の書き方、デザインの細則、画像処理の手順など
- .claude/skills/: 繰り返し使う手順をまとめたもの。「記事を公開する手順」「デプロイの流れ」など
僕はどのルールをどこに保存するか、自分で決めたことはありません。「ルール化して」と伝えれば、AIが最適な場所に配置してくれます。保存先を間違えることもあるかもしれませんが、そのときは「違うところに移して」と言えばいいだけです。
CLAUDE.mdは勝手に育つ
僕がやっているのは、たった2つのことだけです。
- いいアウトプットが出たら「ルール化して」と言う
- 最新のClaude情報を見つけたらURLを渡して「改善して」と言う
これだけで、CLAUDE.mdは勝手に育っていきます。最初は数行だったものが、気づいたら150行を超えていました。サウナブログに至っては、CLAUDE.md + ルールファイル16個 + スキル4個という構成にまで成長しています。
「正解のCLAUDE.md」は存在しない
ここまで読んで「で、結局どうすればいいの?」と思った方へ。
残念ながら、万能なテンプレートは存在しません。ブログを書く人と、Webアプリを作る人と、データ分析をする人では、必要なルールがまったく違います。
でも、これだけは共通しています。
- 自分で書こうとしない — AIに任せる。良いアウトプットが出たら「ルール化して」と言うだけ
- ルールは「失敗」からではなく「成功」から生まれる — 再現したい良い結果を見つけたら、それがルールの種
- 外の情報を食わせ続ける — 最新記事のURLをAIに渡して、CLAUDE.mdを定期的にアップデートする
CLAUDE.mdの書き方を勉強する必要はありません。あなたの仕事は「AIのアウトプットを見て、いいか悪いかを判断すること」です。判断さえできれば、ルールはAIが作ってくれます。
- CLAUDE.mdは、Claude Codeがプロジェクト開始時に自動で読み込む「取扱説明書」
- 自分で書く必要はない。良いアウトプットが出たら「ルール化して」とAIに伝えるだけ
- ルールは「ミス」からではなく「いい結果の再現」から生まれる
- 保存先(CLAUDE.md / ルールファイル / スキル)もAIが自動で振り分けてくれる
- 最新のClaude情報をURLで渡して「改善して」と言えば、常にベストな状態が保てる
次のTech Stackセクションは技術的な設定の話です。読み飛ばしてOK。「こういうルールも書けるんだ」くらいに眺めてもらえれば十分です。