告白:CLAUDE.mdを、自分で書いたことがない

Claude Codeを使っていて、こんな経験はありませんか?

「さっきも言ったのに、また同じミスをする」「毎回ゼロから説明し直すのが面倒」

僕もそうでした。Claude Codeは優秀ですが、何も伝えなければ毎回まっさらな状態で仕事を始めます。 前回の会話で伝えたルールも、デザインの好みも、使っている技術も覚えていません。

CLAUDE.mdは、この問題を解決するファイルです。そして、ここで一つ告白があります。

僕はCLAUDE.mdを1行も自分で書いたことがありません。

すべてAIとの会話の中で、AIに書いてもらっています。

AIブログのCLAUDE.md
150行超

1行も自分で書いていない

サウナブログのルール・スキル
20個

AIが分類して配置した

自分で書いた量
0行

「ルール化して」と言っただけ

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セクションは技術的な設定の話です。読み飛ばしてOK。「こういうルールも書けるんだ」くらいに眺めてもらえれば十分です。

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:いいアウトプットを「ルール化して」

これが一番多いパターンです。

1
AIに作業を依頼する

「記事のデザインを整えて」「新しい記事を書いて」など、いつもの作業

2
アウトプットを見て「これだ」と思う

フィードバックを重ねて、自分がいいなと思えるアウトプットにたどり着く

3
「これルール化して」とAIに伝える

たった一言。書き方も保存先もAIが判断してくれる

4
次回から同じ品質で再現される

ルールが残るので、次の会話でも同じクオリティが出る

実際の会話はこんな感じです。

このデザインいい感じだね。これからもこのカラーパレットでやってほしい。ルール化しておいて

いいデザインですよね。カラーパレットをCLAUDE.mdに追加しました。

Tailwind標準の青系(#2563eb等)が混ざらないように「使用禁止」も明記しておきました。これで次回以降も同じ配色で統一されます。

ポイントは、ルールは「ミス」から生まれるのではなく、「成功」から生まれるということ。「これがいい」と思えるアウトプットが出たら、それを再現可能にする。それだけです。

パターンB:最新情報でCLAUDE.mdを改善する

Google Discoverで最新のClaude関連の記事が流れてくることがあります。「CLAUDE.mdの書き方をこうした方がアウトプットの質が良くなる」という記事を見つけたら、こんな風にします。

1
最新記事のURLをAIに渡す

「この記事を読んで、うちのルールを改善して」とURLを渡すだけ

2
AIが記事を読んで改善案を提示

現在のルールと記事のベストプラクティスを比較して、改善点を見つけてくれる

3
良い提案だけ採用

AIが提案した改善を確認して、納得したものだけ反映させる

実際に僕がやった例では、Google DiscoverでCLAUDE.mdのベストプラクティスについてのQiita記事が流れてきたとき、そのURLをClaude Codeに渡して「これを参考にルールを最適化して」とお願いしました。結果、サウナブログではCLAUDE.md本体がコンパクトになり、詳細ルールが専用ファイルに整理されました。

この記事を読んで、うちのルールを最適化して。重複も削除して整理してほしい(URL)

記事を読みました。現在のCLAUDE.mdと比較して、3つの改善点が見つかりました。CLAUDE.md本体はコンパクトに保ちつつ、詳細ルールを専用ファイルに分割する形で整理しますね。

自分でCLAUDE.mdの書き方を勉強する必要はありません。最新の情報をAIに渡して、AIに改善させる。 これで常にベストな状態が保てます。

書き方を知らなくていい理由: CLAUDE.mdの最適な書き方は、AIの方がよく知っています。人間の役割は「何をルール化したいか」を伝えること。技術的な書き方はAIに任せるのが、非エンジニアにとって一番効率的です。

AIはルールをどこに保存するのか

「ルール化して」と伝えると、AIは内容に応じて保存先を自動で振り分けてくれます。僕が運営している2つのブログの実態を見てみましょう。

AIブログ(このサイト)
CLAUDE.md
150行超
ルールファイル
1個
スキルファイル
1個
サウナブログ(3ヶ月運用)
CLAUDE.md
40行
ルールファイル
16個
スキルファイル
4個

サウナブログの方が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つのことだけです。

  1. いいアウトプットが出たら「ルール化して」と言う
  2. 最新のClaude情報を見つけたらURLを渡して「改善して」と言う

これだけで、CLAUDE.mdは勝手に育っていきます。最初は数行だったものが、気づいたら150行を超えていました。サウナブログに至っては、CLAUDE.md + ルールファイル16個 + スキル4個という構成にまで成長しています。

「正解のCLAUDE.md」は存在しない

ここまで読んで「で、結局どうすればいいの?」と思った方へ。

残念ながら、万能なテンプレートは存在しません。ブログを書く人と、Webアプリを作る人と、データ分析をする人では、必要なルールがまったく違います。

でも、これだけは共通しています。

  1. 自分で書こうとしない — AIに任せる。良いアウトプットが出たら「ルール化して」と言うだけ
  2. ルールは「失敗」からではなく「成功」から生まれる — 再現したい良い結果を見つけたら、それがルールの種
  3. 外の情報を食わせ続ける — 最新記事のURLをAIに渡して、CLAUDE.mdを定期的にアップデートする

CLAUDE.mdの書き方を勉強する必要はありません。あなたの仕事は「AIのアウトプットを見て、いいか悪いかを判断すること」です。判断さえできれば、ルールはAIが作ってくれます。

この記事のポイント
  • CLAUDE.mdは、Claude Codeがプロジェクト開始時に自動で読み込む「取扱説明書」
  • 自分で書く必要はない。良いアウトプットが出たら「ルール化して」とAIに伝えるだけ
  • ルールは「ミス」からではなく「いい結果の再現」から生まれる
  • 保存先(CLAUDE.md / ルールファイル / スキル)もAIが自動で振り分けてくれる
  • 最新のClaude情報をURLで渡して「改善して」と言えば、常にベストな状態が保てる

このブログもCLAUDE.mdで動いています