CLAUDE.md設計の極意(Tips 1〜4)
CLAUDE.mdは「Claudeへの指示書」だが、その精度がClaude Codeの実用性をほぼ決める。中上級者は次の4点を必ず押さえている。
| # | テクニック | 効果 |
|---|---|---|
| 1 | コンパクション保持事項を明示する | 文脈圧縮時の知識喪失を防ぐ |
| 2 | DBスキーマ・列名注意点を全部書く | DB操作のミス激減 |
| 3 | 「やってはいけないこと」セクションを作る | 破壊的変更を未然に防ぐ |
| 4 | 検証コマンドと期待出力を記述 | デバッグの自走力向上 |
Tips 1: コンパクション保持事項を明示する。
Claude Codeは長い会話で自動的にコンテキストを圧縮する。圧縮時に重要情報が消えるのを防ぐため、「コンパクション時に必ず保持する事項」セクションをCLAUDE.mdに作る。
例: 「修正済みファイル一覧」「DB列名の注意点(body, article_type)」「CLIスクリプト制約(IIFE, grep+export)」など。これがないと、会話が長くなるほどClaudeの作業精度が落ちる。
Tips 2: DBスキーマ・列名注意点を全部書く。
「記事本文は body カラム(content ではない)」「ステータスは draft / published / scheduled / archived」「記事タイプは article_type(type ではない)」。ここまで書いて、初めて実用レベル。
DB操作系の指示は誤りが致命的になる。書ききっておくことが投資効率最大。
Tips 3: 「やってはいけないこと」セクションを作る。
「force pushしない」「データ削除はバックアップ後」「依存パッケージの破壊的更新は事前確認」など、明示的なガードレールをCLAUDE.mdに書く。
Claude Codeは賢いが、コンテキスト不足だと予想外の判断をする。書き出すことでルール化される。
Tips 4: 検証コマンドと期待出力を記述。
「pnpm build で型エラーがないことを確認」「pnpm lint でwarning 0」など、検証手段を明示。
Claudeはコード変更後にこれを自動実行し、自走できる。検証コマンドが無いと、人間が毎回確認することになる。
スキル・カスタムコマンド運用(Tips 5〜8)
スキルは定型業務をパッケージ化する仕組み。中上級者は単に作るだけでなく、「どう運用するか」を設計している。
| # | テクニック | 用途 |
|---|---|---|
| 5 | スキルにバリデーション手順を入れる | 品質保証の自動化 |
| 6 | カスタムスラッシュコマンドで定型業務を1コマンド化 | 個人最適化 |
| 7 | スキル間の依存関係を意識する | スキル連鎖で大型ワークフロー |
| 8 | プロンプトテンプレートをスキルに格納 | 再利用性の最大化 |
Tips 5: スキルにバリデーション手順を入れる。
スキルの最後に「実行後に必ずチェックすること」を書く。たとえば記事入稿スキルなら「revalidate APIを叩いて404キャッシュを破棄」「DB上のpublished_atが現在時刻以前か確認」など。
これでスキル実行の品質が担保される。
Tips 6: カスタムスラッシュコマンドで定型業務を1コマンド化。
/commit でgit commit、/review-pr でPRレビュー、/deploy で本番反映——個人最適化されたカスタムコマンドを揃える。~/.claude/commands/ にmarkdownファイルを置くだけ。
毎日使う定型業務ほど、コマンド化の費用対効果が高い。
Tips 7: スキル間の依存関係を意識する。
スキルAがスキルBを呼び出す構造を作ると、複雑なワークフローを分割統治できる。たとえば「記事制作スキル」が「企画スキル」「執筆スキル」「校正スキル」「入稿スキル」「拡散スキル」を順次呼び出す——これが本記事の元になっている設計。
Tips 8: プロンプトテンプレートをスキルに格納。
「ChatGPTで画像生成する時のプロンプト」「議事録から記事を起こす時のプロンプト」などをスキルファイルに格納。プロンプトを毎回ゼロから書かずに済む。
スキルは「コードを書くロボット」ではなく「プロンプト集」としても機能する。
サブエージェント活用と並列処理(Tips 9〜12)
メインClaudeが別Claudeインスタンスにタスクを委譲する機能。中上級者はこれを「メインの集中力を守る」手段として使う。
| # | テクニック | 用途 |
|---|---|---|
| 9 | Exploreエージェントで広範な調査を委譲 | コンテキスト消費を抑える |
| 10 | 複数ファイル横断調査の並列化 | 調査時間を1/3〜1/5に短縮 |
| 11 | リファクタとテスト生成を並列実行 | 開発速度の倍増 |
| 12 | コンテキスト保護のため重い検索を委譲 | メイン会話の品質維持 |
Tips 9: Exploreエージェントで広範な調査を委譲。
「このコードベース全体でAuth関連のファイルを洗い出して」のような広範な探索は、Exploreエージェントに委譲する。メインClaudeは要約結果だけ受け取る。
これでメインの会話が大量の検索結果で埋まるのを防げる。
Tips 10: 複数ファイル横断調査の並列化。
「app/, lib/, components/ それぞれを並列で調査して」と明示すると、3つのサブエージェントが同時に動く。シングルでやれば3分かかる調査が1分で終わる。
Tips 11: リファクタとテスト生成を並列実行。
「Aファイルをリファクタしながら、並行してBファイルのテストを生成して」のような独立タスクは並列化が効く。
ただしファイル衝突がある場合は、人間が分割を指示する必要がある。
Tips 12: コンテキスト保護のため重い検索を委譲。
巨大なログファイルやバンドル出力の解析は、サブエージェントに丸投げする。メインのコンテキストウィンドウを汚染しない。
「重い読み込みは別エージェントに任せる」——これがプロの運用。
MCP連携の深い使い方(Tips 13〜16)
MCPは「会話で外部サービスを操作する」ための共通規格。中上級者は、これを単発実行ではなく「ワークフロー」に組み込む。
| # | テクニック | 連携先 |
|---|---|---|
| 13 | Supabase MCPでマイグレーション管理 | DB |
| 14 | Slack MCPで進捗を自動レポート | Slack |
| 15 | Vercel MCPでデプロイログ→修正→再デプロイ | Vercel |
| 16 | Chrome MCPでブラウザ自動化 | Chrome |
Tips 13: Supabase MCPでマイグレーション管理。
「現在のスキーマを取得して、新しいテーブル設計を提案、承認後にマイグレーションファイルを生成、適用、検証」までを会話1往復で完結できる。
DBの変更履歴がGit + マイグレーションで一元管理されるため、再現性が高い。
Tips 14: Slack MCPで進捗を自動レポート。
「今日コミットした内容を要約してチャンネルに投稿して」——Claude Codeはgit logを取得し、要約をSlackに投稿する。
スタンドアップミーティングの代替としても機能する。
Tips 15: Vercel MCPでデプロイログ→修正→再デプロイ。
「最新デプロイのエラーログを取得→原因分析→該当ファイルを修正→再デプロイ」という閉ループを自動化できる。
人間は「最終承認」だけすればよい。エンジニアの夜中の障害対応が劇的に楽になる。
Tips 16: Chrome MCPでブラウザ自動化。
「画像をChatGPTで生成→ダウンロード→Supabase Storageにアップロード→記事に反映」のようなブラウザ越しの作業を自動化できる。
スクレイピングやテストにも応用可能。本記事の入稿フローでも使われている。
フック・拡張・自動化(Tips 17〜20)
最後の領域は、Claude Codeを「自分の開発スタイルに合わせて拡張する」テクニック。
| # | テクニック | 効果 |
|---|---|---|
| 17 | pre-tool-use で破壊的コマンドをガード | 事故防止 |
| 18 | post-tool-use でlint・型チェックを強制 | 品質ゲート自動化 |
| 19 | スケジュールタスクで定期実行を構成 | 監視・運用の無人化 |
| 20 | 複数プロジェクトのCLAUDE.mdを横展開 | 個人ナレッジの再利用 |
Tips 17: pre-tool-use で破壊的コマンドをガード。
pre-tool-use フックで Bash コマンドを検査し、rm -rf や git push --force を含む場合に確認を強制する設定。一度書いておけば、Claudeのうっかりミスが事故に直結することはない。
Tips 18: post-tool-use でlint・型チェックを強制。
ファイル編集後に pnpm lint と pnpm typecheck を自動実行。エラーがあれば次のステップに進ませない設定にする。
「コミット直前のCI」をローカルで再現できる。
Tips 19: スケジュールタスクで定期実行を構成。
Claude Codeのスケジュールタスク機能を使えば、「毎朝8時にメールを要約してSlackに投稿」「毎週月曜にデプロイログを集計」といった定期タスクを設定できる。
cron的な定期処理を、自然言語で書ける。
Tips 20: 複数プロジェクトのCLAUDE.mdを横展開。
複数プロジェクトを掛け持つ場合、共通のルール(コミットメッセージ規約、エラーハンドリング方針など)は ~/.claude/CLAUDE.md に書き、プロジェクト固有のルールは各リポジトリに置く。
これで「自分の開発スタイル」がClaudeに継承される。
使いこなしの先にあるもの
ここまでの20Tipsを実装すると、Claude Codeはただのコーディングアシスタントから、「自分の開発スタイルが反映されたエージェント」に変わる。
CLAUDE.mdは自分の暗黙知のドキュメント化。スキルは反復作業の自動化。サブエージェントは思考の並列化。MCPは外部世界との接続。フックは品質ゲート。これらを組み合わせると、ひとりのエンジニアが3〜5人分の生産性を出すことが可能になる。
ただし、これは「Claude Codeを使い込んだ人」の話。初心者が真似てもうまく機能しない。CLAUDE.mdが空、スキルがゼロ、フックも無い状態でTips 9〜20を試しても、効果は薄い。
順序が大事だ。まずはCLAUDE.mdを育てる。次にスキルを1つ作る。慣れたらサブエージェントを試す。MCPは段階的に導入する。最後にフックで品質を上げる。この順で半年〜1年かけて積み上げると、市場価値の高い「Claude Code使い」になれる。
あなたが今いる段階は、20選のうち何番目だろうか?
出典・参考
- Anthropic公式ドキュメント: Claude Code Best Practices(https://docs.anthropic.com/claude/docs/claude-code)
- Model Context Protocol公式:
- Claude Code Hooks Documentation(https://docs.anthropic.com/claude/docs/claude-code/hooks)
- Claude Code GitHub:
