この記事の位置づけ

Claude Code完全ガイド が基礎、このサイトをClaude Codeだけで作った実録 が実例。本記事はそのうえで、Claude Codeを本気で毎日の開発に組み込むための応用機能だけを扱います。

対象読者は、Claude Codeを数日〜数週間使ってみて、次のような壁を感じている人です。

  • 毎回プロジェクトの前提を説明し直すのが面倒
  • 危険なコマンドを勝手に実行してほしくない
  • 外部サービス(GitHub、Slack、DB、ブラウザ)をClaudeから直接操作したい
  • 長いタスクを複数の Claude に分業させたい

CLAUDE.md:プロジェクト定数を一度だけ教える

Claude Code は起動時にプロジェクトルートの CLAUDE.md を自動で読み込みます。ここに「プロジェクトのルール・前提・禁止事項」を書いておくと、毎セッションで同じ説明を繰り返さずに済みます。

実用的な CLAUDE.md の項目は次の5つです。

  1. 技術スタック: 使っているフレームワーク・言語・バージョン
  2. コーディング規約: 命名規則、ファイル配置、スタイル方針
  3. 禁止事項: 使ってほしくないパターン、触ってほしくないファイル
  4. 環境前提: OS、シェル、パスの癖(Windows の /dev/null vs NUL など)
  5. よく使うコマンド: npm run dev / pytest / デプロイ手順

実例:本サイトの CLAUDE.md

本サイトのプロジェクトルートには、ざっくり次のような内容が書かれています。

  • Next.js 16 + Tailwind 4 + TypeScript を使う
  • MDX は使わない、Markdown を remark で処理する
  • 記号の乱用・テーブル装飾・水平線・絵文字の連打は禁止
  • アフィリエイトリンクは context/06_CSO_営業/partnerships/A8アフィリエイトリンク.md のマスターからコピーする
  • .env は絶対にコミットしない

これを置いておくだけで、毎回「Tailwind 4 の設定は新しい方で」とか「テーブル使わないで」と打ち直す必要がなくなります。

親ディレクトリにも置ける

CLAUDE.md はプロジェクトルートだけでなく、親ディレクトリにも置けます。複数のプロジェクトを同じディレクトリツリー配下に持っている人は、共通ルールを親に、プロジェクト固有を子に分けると管理が楽です。

Sub-agent:並列で分業させる

Claude Code には、別のClaudeインスタンスにサブタスクを投げる仕組みがあります。メインの Claude Code が全体の指揮をとり、サブエージェントが個別の調査や実装を並列で進める構成です。

使いどころ

  • 大量の調査系タスク: 「A8.net で5案件を検索して提携状況をまとめる」のような調査をサブに任せる
  • 影響範囲が閉じた実装: ヘッダーコンポーネントの作成、型定義ファイルの生成など
  • コンテキスト消費を避けたい作業: 大量のファイル読み込みを伴う作業はサブに任せ、メインの会話ログを汚さない

重要な注意

サブエージェントは呼び出し時の指示だけを持って動きます。メインのセッションで共有した前提は自動では引き継がれません。サブに投げるときは自己完結したプロンプト(何を、何のために、どのゴールで)を書く必要があります。

雑に「これをやって」と投げると、サブは的外れな作業を始めます。

Hooks:実行前後に自動処理を挟む

Claude Code には、ツール呼び出しの前後に任意のシェルコマンドを実行する「フック」の仕組みがあります。

代表的な使い道

  • PreToolUse: ツールが呼ばれる直前に走る。危険なコマンドの検知やバリデーションに使う
  • PostToolUse: ツール実行後に走る。フォーマッタ・リンター・テスト実行を自動で挟める
  • UserPromptSubmit: ユーザーの発言が送信される前に走る。リマインダや追加コンテキストの挿入に使える

実用例:自動フォーマット

PostToolUseEdit ツールの後に npx prettier --write を走らせておけば、Claude の編集が常にフォーマット済みで返ってきます。コードレビューで「インデントを直して」と言わなくて済みます。

実用例:git コミット前のテスト

PreToolUsegit commit を検知したら npm test を走らせ、失敗したらコミットをブロックする、というフックが書けます。Claude が壊れたコードをコミットする事故を自動で防げます。

注意点

フックはローカルシェルで実行されるので、安全でないコマンドを登録すると取り返しがつきません。フックは信頼できるコマンドだけに限定し、他人の設定を安易にコピーしないこと。

MCP:外部サービスへの接続口

MCP(Model Context Protocol)は、Claude から外部サービス・データソースへアクセスするための標準化されたプロトコルです。MCP サーバーを起動しておくと、Claude Code がその機能を「ツール」として呼び出せるようになります。

代表的な MCP サーバー

  • GitHub MCP: Issue/PR の検索・作成・コメント
  • Slack MCP: メッセージ送信・検索
  • Playwright MCP: ブラウザ操作(ページ遷移、クリック、スクショ)
  • Postgres / SQLite MCP: データベースへの直接クエリ
  • Filesystem MCP: プロジェクト外のファイルへのアクセス

何が変わるか

MCP が入ると、Claude Code が純粋な「ローカルの実装エージェント」から「外部サービスまで触れる総合エージェント」に進化します。

たとえば Playwright MCP を入れておけば、次のような指示が通るようになります。

localhost:3000 を開いて、/blog/claude-code-guide にアクセスして、スクリーンショットを撮って。404 なら対応するファイルを探して原因を特定して。

従来なら「URLを開いて」「結果を貼って」と人間が間に入る必要があった工程が、すべて Claude 側で完結します。

導入の順番

全部一度に入れようとすると迷子になります。自分のワークフローで一番頻繁に使うサービスから1つずつ入れるのが現実的です。Web開発メインなら Playwright MCP、DB操作が多いなら Postgres MCP から始めるといいです。

権限とセキュリティ

Claude Code は強力ですが、任せきりにすると危険でもあります。権限設定で「勝手にやってはいけない操作」を明示しておくのが安全運用のコツです。

確認を挟みたい操作

  • git pushrm -rf などの破壊的コマンド
  • 本番DBへの書き込み
  • .env や credentials ファイルへのアクセス
  • 外部APIへの有料リクエスト

これらは「実行前に必ずユーザーに確認する」設定にしておくと、取り返しのつかない事故を防げます。

信頼モードの段階運用

プロジェクトごとに Claude Code の自由度を変えるのが実用的です。自分個人の実験プロジェクトは自動実行多め、共有プロジェクトや本番リポジトリは確認多め、という段階設計をしてください。

実運用でのベストプラクティス

1. CLAUDE.md を育てる

使っていて「また同じことを説明してる」と感じたら、その内容を CLAUDE.md に書き足してください。数週間使うと驚くほどプロジェクトごとの個性が蓄積されます。

2. フックは最小構成から

いきなり5個も10個もフックを仕込むと、何が原因で何が起きているかわからなくなります。まずは PostToolUse でフォーマッタを1つ走らせるところから始めてください。

3. MCP は自分のワークフロー起点で

「流行っているから」「公式リストに載っているから」で導入するのではなく、自分が今週一番時間を食っている作業を特定して、そこに関連するMCPだけを入れるのが失敗しない順番です。

4. サブエージェントは「完全に閉じた作業」に

メインのセッションと同じコンテキストが必要な作業をサブに投げると、結果が噛み合わなくて手戻りします。調査・定型実装・一括変換のような、入力と出力がはっきりしている作業だけに使うのが鉄則です。

よくある質問

Q1. CLAUDE.md はどれくらい書けばいいですか?

A: 1〜2ページ(100〜200行)が実用ラインです。これ以上長いと Claude 側のコンテキストを圧迫し、肝心の作業指示の情報密度が下がります。「毎回説明したくないこと」だけに絞って書いてください。

Q2. フックで勝手にコードを走らせるのは危険では?

A: はい、設定を間違えると危険です。フックは自分が完全に理解しているコマンドだけを登録し、他人の設定ファイルを中身を読まずにコピーしないこと。PostToolUse のフォーマッタぐらいから始めるのが安全です。

Q3. MCP サーバーは自分で作れますか?

A: 作れます。MCP は標準化されたプロトコルで、TypeScript / Python などの SDK が公開されています。自社の社内システムに接続するための独自 MCP サーバーを作っている企業も増えています。

Q4. サブエージェントを使うとコストは増えますか?

A: 増えます。サブエージェントは別プロセスのClaudeを呼び出すので、その分のトークンが消費されます。定額プランでも利用枠を消費するので、使い所を選ぶ必要があります。並列化による時間短縮効果と天秤にかけて判断してください。

まとめ

Claude Code は起動コマンドだけなら簡単ですが、応用機能を入れると別物の生産性になります。

  • CLAUDE.md で毎回の説明を消す
  • Hooks でフォーマットやテストを自動化
  • MCP で外部サービスに直接接続
  • Sub-agent で並列分業
  • 権限設定で事故を防ぐ

この5つを順に足していくと、Claude Code は単なる「コードを書いてくれる AI」から「プロジェクト全体の実装マネージャー」に変わります。