信頼度ランク
| S | 公式ソース確認済み |
| A | 成功実績多数・失敗例少数 |
| B | 賛否両論 |
| C | 動作未確認・セキュリティリスク高 |
| Z | 個人所感 |
プロンプトを書き捨てるな:3回書いたらCLAUDE.mdに昇格させる流儀
同じ指示を3回書いたら永続化する、というベテランClaude Code使いの鉄則。CLAUDE.md / Skills / Hooks / subagent のどこに昇格させるかの判断軸を実例で整理します。
一言結論
プロンプトはその場で消費される使い捨て資産、CLAUDE.md は積み上がる資産であり、「同じ内容を3回書いた」と気づいた瞬間にCLAUDE.md か Skills に昇格させるかどうかで、半年後の生産性が桁で変わる。
Claude Codeを使っていて一番静かに時間を吸われているのは、「似たような指示を毎回書き直している」状態です。
- 「テストは
pnpm --filter api testで実行して」 - 「TypeScriptの any は使わないで」
- 「エラーメッセージは日本語で」
- 「コミットメッセージは Conventional Commits で」
毎セッションこれを打ち直している人と、一度CLAUDE.mdに書いて終わりにしている人とでは、1日あたり数十分、年間で100時間単位の差が出ます。しかもCLAUDE.md側に書けばAIの遵守率も上がる——二重に得します。
Anthropic公式のMemoryドキュメントにも「プロジェクトの前提は CLAUDE.md に書け」とは書いてありますが、「どのタイミングで・どこに昇格させるか」は書かれていません。この判断がシニアとそれ以外を分けるポイントになります。
3回ルール
経験則として共有されている流儀が「3回ルール」です。
同じ指示を3回書いた瞬間に、それをその場のプロンプトから永続化された場所に移す。
1回目: 偶発的に必要になった 2回目: 偶然じゃない可能性が出てきた 3回目: 確実にパターンである → 永続化する
2回目で昇格させると「例外だった」ケースで CLAUDE.md が汚れます。4回以上書いてから昇格させると、その間の時間が無駄です。3回目の書き出しでタイマーが鳴るのが最適、というのが経験上の結論です。
昇格先の判断軸
昇格先は4つあります。CLAUDE.md / Skills / Hooks / Subagent。判断基準は次のとおりです。
| 昇格先 | 使うべき条件 |
|---|---|
| CLAUDE.md | 全タスクで共通の前提(規約、コマンド、避けたい動作) |
| Skills | 特定の手順を一括で呼び出したい(PR作成、リリース手順など) |
| Hooks | AIに守らせるのではなく、決定論的に強制したい制約 |
| Subagent | 独立したコンテキストで動かした方がいいタスク(レビュー、調査) |
迷ったら次のフローチャートです。
「その指示は常に真か?」
├─ Yes → CLAUDE.md
└─ No
└─ 「AIに破られたくないか?」
├─ Yes → Hooks
└─ No
└─ 「手順の塊か?」
├─ Yes → Skills
└─ No → Subagent
実例:3回書いた指示を Skill に昇格する
ありがちなのが「PRを書いてほしいときの指示」です。最初はプロンプトで書きます。
このブランチの変更を踏まえて、PRタイトルと本文を書いて。
タイトルは70文字以内、本文は Summary / Test Plan の2セクション
で、Test Plan は [ ] のチェックリスト形式にして。
3回目に書こうとしたその瞬間、Skill に昇格させます。
---
name: pr-writer
description: 現在のブランチ変更からPRタイトルと本文を生成する
user-invocable: true
allowed-tools: Bash, Read
---
以下の形式でPRを書いてください。
タイトル: 70文字以内、feat/fix/chore の prefix を付ける
本文:
## Summary
1〜3個のbullet
## Test Plan
[ ] 形式のチェックリスト
現在のブランチの変更は `git diff main...HEAD` で確認してください。
以降は /pr-writer と打つだけで起動できます。3回目に書く手間で永久に自動化できる計算です。
CLAUDE.md に書くべきでないもの
逆にCLAUDE.mdが膨れて重くなる原因は、「書くべきでないもの」を書いているからです。
- ❌ 1プロジェクトで1回しか使わない手順 → Skillに入れる
- ❌ 特定のファイルに閉じたルール → そのディレクトリに CLAUDE.md を分けて置く
- ❌ セキュリティ強制事項 → Hooksで縛る(AIの遵守に頼らない)
- ❌ 議論の記録・TODO → そもそも別ファイル
CLAUDE.md は毎セッションで読まれ続けるコストを払います。1行書くたびにトークン消費と注意散漫のリスクが増えます。200〜400行を超えてきたら「分割するか切るか」を考えるタイミングです。
落とし穴
- 昇格したあとにプロンプトで同じことを繰り返す: CLAUDE.md に書いた内容をプロンプトでも繰り返すのは「二重指示」で逆効果。忘れた頃に
/memoryで眺めて、自分が同じ指示を二度書いていないか点検する - 3回ルールを忘れる: 気付いたらプロンプトで7回同じことを書いている状態になる。セッション開始時に「今日書いた似た指示はあったか?」を自分に1回問う習慣
- Hooksを使うべき場面でCLAUDE.mdに頼る: 「
.envに触らないで」と書いてもAIはたまに破る。破られると困るものは例外なくHooks - CLAUDE.mdを個人メモ帳にする: 開発日記、今後のTODO、壊したログなどを入れない。メモは別ファイルで
まとめ
Claude Codeを使う時間の長さに比例して、「同じことを書いている時間」が累積していきます。3回書いた指示は必ず永続化する——これだけの習慣で、3ヶ月後の自分のCLAUDE.mdが資産になります。
プロンプトは書き捨て、CLAUDE.md/Skills/Hooksは積み上がる。この区別を意識するかどうかで、Claude Code のレバレッジは大きく変わります。
参考: