生成AI

最終更新日:2026/06/12
AIとの対話でコードを書く時代が本格的に始まりました。Claude Codeは、自然な会話でプログラミングができる新しいタイプの開発支援ツールです。この記事を読むことで、次のようなベネフィットが得られます。
特に、コーディングの効率を上げたいエンジニアや、AI支援ツールを実務に取り入れたい開発者にとって、実践的な内容となっています。従来のコード補完ツールとは一線を画す、対話型開発の世界を体験してみましょう。

Claude Codeは、ターミナル上で自然言語による指示を受け取り、ファイルの作成や編集、コード生成、コマンド実行、さらにはテストの実行まで、一連の開発作業を自律的に遂行するAIエージェント型のツールです。従来のコード補完ツールとは根本的に異なるアプローチを採用しており、開発者の作業スタイルを大きく変える可能性を秘めています。
GitHub CopilotやTabnineといったコード補完ツールは、エディタ内でカーソルの前後にあるコードを解析し、次に書くべきコードを提案する仕組みです。あくまで「提案」にとどまり、実際にコードを書くのは開発者自身となります。一方、Claude Codeは指示された作業そのものを実行する点が大きく異なります。
例えばバグ修正のシーンで比較すると、その違いは明確です。コード補完ツールを使う場合、開発者は以下のような手順を踏みます。
対してClaude Codeでは「〇〇のバグを修正してテストを実行して」と指示するだけで、関連ファイルの特定から修正内容の実装、テストの実行までを自動で完結させます。つまり、開発者は「何をすべきか」を指示するだけで、「どう実装するか」の実作業はClaude Codeが担当するのです。
Claude Codeは、macOS、Linux、Windowsの主要なOSに対応しており、ターミナルベースで利用できます。利用にはPro、Max、Team、Enterprise、Consoleのいずれかのアカウントが必要です。
認証方式は複数用意されており、/loginコマンドによるブラウザ連携(Claude.aiアカウント)のほか、Claude APIキー、Amazon Bedrock、Google Vertex AI、Microsoft Foundry経由など、環境に応じて選択できます。

Claude Codeは、開発者が自分の作業スタイルに合わせて選べるよう、複数のインターフェースが用意されています。具体的には、以下の5つの環境から利用することができます。
各インターフェースは見た目や操作方法が異なりますが、重要なのは、ローカル系(ターミナルCLI・デスクトップアプリ・VS Code/JetBrains)ではCLAUDE.mdやMCPサーバー設定を共通の仕組みで扱える点です。一度プロジェクトの設定を整えれば、その日はターミナルで作業し、翌日はVS Codeで続きを進めるといった柔軟な使い方が可能になります。
なお、Web版(claude.ai/code)のクラウド実行では、リポジトリに含めたCLAUDE.mdや.mcp.json等のプロジェクトスコープの設定は有効になりますが、~/.claude配下などユーザースコープの設定は持ち込まれません。開発フローに最も馴染む環境を選ぶことで、Claude Codeの効果を最大限に引き出すことができます。
| 環境 | 主な特徴 | 向いている使い方 | ローカルへのインストール |
| ターミナルCLI | フル機能が使える本体。コマンドラインで直接操作する。CLAUDE.md・Skill・Hooks・MCPすべてに対応 | コードの実装・バグ修正・リファクタリングなど開発作業全般。最も高い自由度で使いたい場合 | 必要 |
| VS Code拡張 | エディタ内でインラインの差分表示・チャットが使える。コードを書きながらリアルタイムに指示できる | エディタを離れずにAI支援を受けたい・変更差分を視覚的に確認しながら作業したい場合 | 必要(VS Code拡張のインストールが必要) |
| JetBrainsプラグイン | IntelliJ・PyCharm・WebStormなどJetBrains製IDEに統合される | JetBrains系IDEをメインで使っているJava・Python・Kotlin開発者 | 必要(JetBrainsプラグインのインストールが必要) |
| デスクトップアプリ | 複数セッションの並行管理・変更差分の視覚的な確認・定期実行タスクのスケジュール設定ができる。macOS・Windows対応 | 複数プロジェクトを同時に進める・ターミナルが苦手でGUIで操作したい場合 | 必要(デスクトップアプリのインストールが必要) |
| Web(claude.ai/code) | ローカル環境不要でブラウザから利用できる。Anthropicのインフラ上で動くため自分のマシンがオフでも実行し続ける。クロスデバイスに対応 | 環境構築なしでClaude Codeを試したい・外出先のPCやスマートフォンから作業を引き継ぎたい場合 | 不要 |
Claude Codeを利用するには、AnthropicのClaude APIへのアクセス権限、またはClaude.aiの有料サブスクリプションが必要です。個人で手軽に始めたい場合は、Claude.aiのサブスクリプションプランに加入する方法が最も簡単です。利用可能なプランには以下のような種類があります。
各プランはいずれもClaude Codeの基本機能を利用できます。Auto権限モードを有効にすると、内部の安全分類器がリスクの低い操作は自動許可し、リスクが高い操作だけ手動承認を求めるようになり、サブスクリプション認証のユーザーでも利用可能です。また、使用量の上限を重視するなら、MaxやTeam Premiumのような上位プランが有効です。
Claude Codeの利用料金は、認証方法によって仕組みが異なります。Claude.aiのProやMaxといったサブスクリプションで利用する場合は、月額料金の範囲内で利用上限まで使えます。
一方、Claude APIのキーで利用する場合は、消費したトークン量に応じた従量課金になります。ここで知っておきたいのが、トークンのコストは会話が長くなるほど1メッセージあたりの単価が膨らんでいくという構造です。
Claude Codeは毎回それまでの会話履歴や読み込んだファイルをまとめてモデルに送るため、コンテキストが積み上がるほど1回のやり取りで消費するトークンが増えていきます。コストを抑えるコツは、コンテキストを軽く保つことに尽きます。
詳しい操作方法は後の章で説明しますが、まずは「会話が長くなるほどコストが増える」という原則を意識しておくだけでも、無駄なトークン消費を抑えられます。

Claude Codeを使い始めるには、Web版をブラウザで開くか、ローカル環境にインストールする方法があります。ローカル導入の場合、公式のネイティブインストーラまたはパッケージマネージャを使用します。ネイティブインストールが推奨される理由は、自動アップデート機能が有効になり、常に最新の機能とセキュリティパッチを受け取れるためです。
インストール手順は以下の通りです。
curl -fsSL https://claude.ai/install.sh | bashを実行します(Homebrew用のformulaが提供されている場合はそちらでもインストール可能)。irm https://claude.ai/install.ps1 | iexを実行します。将来的には、パッケージマネージャ経由のインストールにも対応する予定です。curl -fsSL https://claude.ai/install.sh | bashを実行するか、ディストリビューション別のパッケージマネージャ(apt/dnf/apk等)を使ってインストールします。なお、Homebrew・WinGet経由でインストールした場合は自動更新されないため、定期的にbrew upgradeやwinget upgradeを実行して手動で更新する必要があります。
インストールが完了したら、アプリケーションを起動してください。
初回起動時には、Claudeアカウントへのログインが求められます。既存のアカウント情報を入力するか、新規にアカウントを作成することで、Claude Codeの利用が可能になります。
ログインに成功すると、メインインターフェースが表示され、すぐにプロジェクトを開いたり、新しいチャットを始めたりできる状態になります。初回起動時には簡単なチュートリアルが表示される場合もあるので、基本的な操作を確認しておくとスムーズに作業を開始できます。
Claude Codeのインストール方法は、お使いのOSによって異なりますが、いずれも公式サイトから提供されるコマンド一つで完了します。
macOS、Linux、WSL環境では、ターミナルを開いてcurlコマンドを実行することでインストールできます。具体的には、公式サイトに掲載されているインストールスクリプトをcurlで取得し、シェルに渡すことで自動的にセットアップが進みます。
一方、Windows環境ではPowerShellまたはコマンドプロンプトを通常権限で起動し、公式が案内するワンコマンド(PowerShellの場合はirm経由、コマンドプロンプトの場合はcurl経由)を実行します。管理者権限は不要です。
また、パッケージマネージャーを使ったインストールも可能です。macOSではHomebrew、WindowsではWinGetを利用してインストールできますが、これらの方法では自動アップデート機能が提供されないため注意が必要です。
最新機能をいち早く試したい場合や、頻繁にアップデートされる開発ツールの特性を考えると、公式のネイティブインストール方法を推奨します。
Linux環境では、ディストリビューションごとのパッケージマネージャーにも対応しています。
各コマンドでインストールできます。ただし、こちらも自動アップデートの観点からは、curlを使った公式インストール方法のほうが最新版を維持しやすいでしょう。
インストールが完了すると、ターミナルやコマンドプロンプトでclaudeコマンドが使えるようになり、すぐに利用を開始できます。

Claude Codeをインストールした後は、実際にアプリケーションを起動してアカウント認証を完了させる必要があります。まず、ターミナルまたはコマンドプロンプトを開き、作業を行いたいプロジェクトのルートディレクトリに移動してください。
ディレクトリに移動したら、cdコマンドを使って目的のフォルダに入り、そこでclaudeコマンドを実行します。初回起動時には自動的にデフォルトのブラウザが立ち上がり、Anthropicアカウントへのログイン画面が表示されます。ここでブラウザの案内に従ってサインインします。
メールに届くログインリンク(またはコード)を用いるか、Google・Apple・SSOで認証してください。ログインが成功すると、ブラウザ上で認証の許可を求める画面が表示されるので、「承認する」または「Authorize」といったボタンをクリックします。承認が完了すると、ターミナルに戻って操作を続けることができるようになります。
認証情報は自動的にローカルに保存されるため、次回以降はログイン操作なしでclaudeコマンドを実行するだけですぐに利用を開始できます。なお、テーマはいつでも/themeまたは/configから選択できます。この初回セットアップを完了すれば、Claude Codeのすべての機能にアクセスできる状態になります。


Claude Codeは自然言語で指示を入力するだけで、自律的にコードの作成や編集を進めてくれる対話型の開発支援ツールです。チャット欄に「ログイン機能を追加して」「このバグを修正して」といった日本語の指示を入力すると、Claude Codeが必要なファイルを探し出し、適切な編集を提案してくれます。
既定の設定では、ファイルを編集する前に差分(diff)を表示して承認を求めてくるため、意図しない変更が加えられる心配はありません。承認後に実際の編集が行われ、作業の透明性が保たれる仕組みになっています。
Claude Codeを使う上で最も重要な概念が「コンテキストウィンドウ」です。コンテキストウィンドウとは、一度のセッション中にClaude Codeが保持できる情報量の上限を指します。会話履歴、開いているファイルの内容、過去の編集内容などがすべてこのウィンドウ内に蓄積されていきます。
上限に近づくと応答の品質が下がったり、重要な情報を忘れたりする可能性があるため、適切な管理が必要です。
コンテキストを効率的に管理するには、以下のポイントを意識してください。
上記のポイントを意識するだけで、Claude Codeのパフォーマンスを最大限に引き出すことができます。
Claude Codeに指示を出す際は、曖昧な表現を避けて具体的な情報を含めることが重要です。例えば「バグを直して」という漠然とした指示では、Claude Codeはどのファイルのどの部分を修正すべきか判断できません。
一方で「user.jsのgetUserData関数で、nullチェックが不足しているためエラーが出ているので、適切なバリデーションを追加して」と伝えれば、対象範囲と修正内容が明確になり、意図に沿った結果が得られやすくなります。
Claude Codeで実行できる代表的なタスクには、次のようなものがあります。
タスクを実行する際は「どのファイルの」「どの部分を」「どんな状態にしたいか」を明確に伝えることで、Claude Codeはより正確に作業を進めることができます。
指示の具体性が高いほど、手戻りが少なく効率的な開発が可能になります。
| タスク種別 | 漠然とした指示 | 具体的な指示 | 改善のポイント |
| バグ修正 | 「バグを直して」 | 「src/api/users.ts の42行目でエラーが出ている。調査して直して。修正後にテストを実行してすべて通ることを確認して」 | ファイル名・行番号・確認手段をセットで渡す |
| テスト追加 | 「テストを追加して」 | 「ユーザーがログアウトしているエッジケースをカバーするfoo.pyのテストを書いて。モックは使わないで」 | テスト対象のケース・制約条件(モック不使用など)を明示する |
| ドキュメント更新 | 「ドキュメントを更新して」 | 「READMEを今のコードの構成に合わせて更新して。インストール手順のセクションを中心に直して」 | 更新対象のファイル名・修正するセクションを指定する |
| パフォーマンス改善 | 「このコードを改善して」 | 「このコードのパフォーマンスを改善して。特に配列の処理部分で現在O(n²)になっている部分をO(n)にしたい」 | 改善の観点(速度・可読性など)と目標状態を数値や指標で伝える |
| リファクタリング | 「認証モジュールをきれいにして」 | 「認証モジュールをリファクタリングして、コールバックの代わりにasync/awaitを使うように書き直して」 | 「きれいに」など曖昧な表現を避け、変更後の具体的な実装方式を指定する |
| 機能追加 | 「フォームを改善して」 | 「ユーザーが空のフォームを送信できるバグがある。送信ボタンを押したとき、名前と Email 欄が空なら送信できないようにバリデーションを追加して」 | バグの再現条件・どう動作させたいかのゴール状態を一緒に伝える |
Claude Codeでは、セッション内で使える便利なコマンドがいくつか用意されており、これらを適切に使い分けることで作業効率が大きく向上します。代表的なコマンドには以下のようなものがあります。
コマンドの中でも特に重要なのが、コンテキスト管理に関わる/clearと/compactです。タスクが切り替わるタイミングで/clearを実行してコンテキストをリセットすることで、前のタスクの情報が混ざらず、Claudeが正確に指示を理解できるようになります。
一方で、同じタスクを続けているがコンテキストが長くなりすぎた場合は、/compactを使って会話履歴を圧縮することで、応答精度を維持しながらトークン消費を抑えられます。なお、起動前のCLIコマンドとして「claude –continue」や「claude –resume」も用意されており、前回のセッションを引き継ぎたい場合はこちらを使います。
セッション内の/clearや/compactとは異なり、CLIコマンドは起動時点でのコンテキスト制御に使うという違いがあります。適切なタイミングで各コマンドを使い分けることが、Claude Codeを快適に使いこなすコツです。
| カテゴリ | コマンド | 機能 | 使いどころ |
| コンテキスト管理 | /clear | 会話履歴をすべてリセットしてコンテキストをゼロに戻す | 新しいタスクに切り替えるとき・関係ないタスクに移るとき。精度低下を防ぐために積極的に使う |
| /compact | 重要な情報を保持しながら会話を要約してコンテキストを圧縮する。/compact 認証周りの変更を優先して要約してのように指示を添えることもできる | コンテキストが膨らんできたが同じタスクを続けたい場合。/clearしたくない情報があるとき | |
| /rewind | 作業の各ステップで自動作成されたチェックポイントに戻るメニューを開く。会話のみ・コードのみ・両方を戻す選択ができる | 方向性が間違っていたと気づいて別のアプローチを試したいとき。gitを使わずに以前の状態にさかのぼりたいとき | |
| プロジェクト設定 | /init | プロジェクトのコードベースを分析してビルドシステム・テストフレームワーク・コードパターンを検出し、ひな型のCLAUDE.mdを自動生成する | 新しいプロジェクトでClaude Codeを使い始めるとき・CLAUDE.mdがまだ存在しないとき |
| モデル選択 | /model | 使用するモデルを切り替える。Default(推奨設定で自動切替)・Opus 4.7(最高精度)・Sonnet 4.6(コスト効率と速度を重視)から選択できる | 複雑な設計・推論にはOpus、コスト・速度を優先する場面にはSonnetに切り替えるなど用途に応じて使い分ける |
| 情報確認 | /help | 利用できるコマンドの一覧を表示する | 使えるコマンドを確認したいとき・新しい機能が追加されていないか確認したいとき |
Claude Codeは初期設定(defaultモード)では、ファイル編集やコマンド実行などの重要な操作を行う際に承認を求める仕組みになっています。初回や未許可の操作で確認ダイアログが表示され、承認はセッション内で持続させたり、/permissionsコマンドや設定ファイルで恒久化できます。
なお、lsやgrepなどの読み取り専用コマンドは承認なしで実行されます。この安全機構により、意図しない変更や危険な操作を未然に防ぐことができます。
信頼できる定型的なタスクでは、Autoモードを使うことで多くの承認を自動化し、作業効率を高めることができます。
Autoモードでは内部の安全チェックで安全と判断した操作は自動許可されますが、リスクの高い操作は引き続きプロンプトやブロックの対象となります。ただし、以下のような操作については自動承認を避け、必ず手動で確認するべきです。
対象のコマンドは、実行後の取り消しが困難であったり、セキュリティリスクを伴ったりするため、慎重な判断が求められます。Claude Codeが生成したコードや実行する操作に関する最終的な責任は、あくまで実行者自身にあります。
そのため、承認確認を安易にスキップせず、内容を理解した上で許可するという基本姿勢を常に持つことが、安全な運用において最も重要な考え方となります。

Claude Codeの会話履歴はセッションごとに新しくリセットされますが、CLAUDE.mdやAuto memoryといった記憶の仕組みが毎回読み込まれるため、適切に設定すれば説明の繰り返しを大幅に減らせます。この仕組みの中心となるのがCLAUDE.mdという設定ファイルです。
CLAUDE.mdをプロジェクト内に配置しておくと、Claude Codeは起動時に自動的にこのファイルを読み込み、プロジェクトの背景や方針を理解した状態で作業を開始できます。
CLAUDE.mdを配置できる場所は複数あり、それぞれ用途が異なります。主な配置場所と使い分けは以下の通りです。
読み込み順は「ホームディレクトリ→プロジェクトルート→ローカル設定」の順になります。より具体的な設定ほど後に読み込まれるため、プロジェクトごとの個別対応が可能です。設定の仕組みを理解しておくと、効率的にClaude Codeをカスタマイズできます。
なお、CLAUDE.mdとは別に、.claude/settings.json(プロジェクト設定)や.claude/settings.local.json(個人用設定)といった設定ファイルも存在します。
各ファイルはJSON形式で技術的な設定やAPI連携の情報を記述するもので、CLAUDE.mdとは役割が異なります。
| ファイル | パス | 共有範囲 | Gitコミット | 主な記載内容 |
| CLAUDE.md | プロジェクトルート(/CLAUDE.md) | チーム全員 | する(リポジトリに含める) | チームで共有するルール・アーキテクチャの決定・命名規則・よく使うコマンド・注意点 |
| CLAUDE.local.md | ./CLAUDE.local.md | 自分のみ | しない(.gitignore推奨) | 個人のプロジェクト固有ルール・チームに影響を与えずに試したい設定 |
| CLAUDE.md | ~/.claude/CLAUDE.md | 自分のみ(全プロジェクト共通) | しない | すべてのプロジェクトで常に適用したい個人のルール・文体の好み・共通の制約 |
| settings.json | .claude/settings.json | チーム全員 | する(リポジトリに含める) | プロジェクト共通のHook・パーミッション(allow/deny)・Pluginの設定 |
| settings.local.json | .claude/settings.local.json | 自分のみ | しない(.gitignore推奨) | 個人&プロジェクト固有のClaude Code設定・テスト中のパーミッション設定 |
| settings.json | ~/.claude/settings.json | 自分のみ(全プロジェクト共通) | しない | 全プロジェクト共通のClaude Code設定・個人のデフォルト権限設定 |
Claude Codeでは、プロジェクトのルートディレクトリで/initコマンドを実行することで、CLAUDE.mdファイルを自動的に生成できます。コマンドを実行すると、Claude Codeがプロジェクト内のコードベースを探索し、ビルドやテストのコマンド、プロジェクト構造の概要、検出できた慣習(コーディング規約や一般的なパターンなど)を下書きとして反映します。
検出される主な項目は以下の通りです。
/initコマンドによって生成されたCLAUDE.mdは、あくまでもひな型であり、プロジェクトの基本的な情報が記載された状態です。そのため、生成後はプロジェクトの特性や開発チームのルールに合わせて、内容を追加・修正していくことが推奨されます。
特に、プロジェクト固有のコーディング規約やアーキテクチャの意図、重要な設計判断の背景などは、Claude CodeやClaude本体を使いながら対話的にアップデートしていくと効率的です。定期的にCLAUDE.mdを見直し、プロジェクトの成長に合わせて更新することで、Claude Codeがより的確なコード生成や提案を行えるようになります。

CLAUDE.mdに記載する内容は、Claudeがコードを読んだだけでは判断できないプロジェクト固有の情報に絞ることが重要です。具体的には、ビルドコマンドやデプロイ手順、プロジェクト特有のアーキテクチャ設計、テスト実行の具体的な手順、開発中によく遭遇する落とし穴や注意点などを記載します。
一方で、コードを読めば理解できる関数の使い方や変数名、一般的なTypeScriptやJavaScriptの規約、頻繁に変更される可能性のあるバージョン情報などは記載する必要がありません。
CLAUDE.mdは短く保つことが効率的な開発の鍵となります。ファイルが長すぎると、Claudeが重要なルールを見落としたり、必要な情報を見つけにくくなったりするためです。
例えばNext.js+TypeScriptプロジェクトの場合、「npm run devで開発サーバー起動、ポート3000を使用」「/pagesディレクトリではなくApp Routerを採用」「APIルートは/app/api配下に配置」「環境変数は.env.localで管理し、NEXT_PUBLIC_プレフィックスはクライアント側で使用可能」といった簡潔な記述にとどめます。
以下の表で、書くべき内容と書かなくていい内容を整理しました。
書くべき内容は次のとおりです。
書かなくていい内容は次のとおりです。
| 項目 | 判断基準 | 記述例 | 書かない場合のリスク |
| Claudeが推測できないビルドコマンド | コードを読んでも正確なコマンドがわからない・プロジェクト固有のスクリプトが存在する | npm run dev(開発サーバー起動)/npx prisma migrate dev(マイグレーション) | 存在しないコマンドを実行しようとしたり、誤ったコマンドで環境を壊す可能性がある |
| プロジェクト固有のアーキテクチャの決定 | 「なぜこの構成にしたか」がコードから読み取れない設計判断 | src/legacy/は段階的移行中のため触らない / 認証はNextAuth v5で統一 | 過去の設計判断を無視した変更が加わり、一貫性が崩れる |
| デフォルトと異なるコーディング規約 | チームが独自に定めた命名ルールやファイル配置ルール | コンポーネントはsrc/components以下に配置 / 型定義はsrc/typesにまとめる | 規約と異なるファイル配置や命名でコードが生成され、レビューの手戻りが増える |
| テスト実行の手順と推奨ツール | テストの実行コマンドやフレームワークがプロジェクト固有のもの | npm run test(Vitestでテスト実行)/ モックは使わない方針 | テストが存在しても実行されず、バグが混入したまま実装が進む |
| よくある落とし穴や非自明な動作 | 過去に問題が起きた箇所・初見では気づきにくい制約 | 外部ライブラリを追加するときは確認してから / src/legacy/は移行中のため変更禁止 | 同じミスが繰り返され、毎回人間が指摘する手間が発生する |
| 項目 | 判断基準 | 具体例 | 書いてしまうと起きること |
| Claudeがコードを読めばわかること | コードやファイル構造を見れば自明にわかる内容 | 関数の役割・変数名の意味・ファイルの依存関係 | 読めばわかる情報で CLAUDE.md が肥大化し、本当に大事なルールの優先度が下がる |
| 一般的な言語の規約 | その言語を使う開発者なら誰でも知っている標準的なルール | 「インデントはスペース2つ」「セミコロンをつける」など | Claudeはすでに知っているため書いても効果がなく、ファイルを無駄に長くするだけ |
| 詳細なAPIドキュメント | 外部ライブラリや公式ドキュメントに書いてある内容 | 使用ライブラリのメソッド一覧・引数の型定義 | 内容が古くなってもClaudeが信じてしまい、ドキュメントと食い違うコードが生成される |
| よく変わる情報 | 仕様変更のたびに更新が必要になる情報 | 現在のバージョン番号・一時的な実装の詳細・WIPの機能仕様 | CLAUDE.mdのメンテナンスコストが上がり、古い情報に基づいた誤った実装が増える |
| 「きれいなコード」のような自明な方針 | Claudeがデフォルトで守る常識的な原則 | 「読みやすいコードを書く」「バグを入れない」 | 書いても動作に影響しないため、CLAUDE.mdが無意味に長くなるだけ |

ここから紹介するのは、基本操作に慣れた人向けの一歩進んだ内容です。Claude Codeをさらに効率的に使いこなすには、Plan Mode・Skills・Hooksという3つの機能を理解して活用することが重要です。各機能を組み合わせることで、作業の手戻りを大幅に減らし、繰り返し発生する作業を自動化し、特定のイベントに応じた処理を自動実行できるようになります。
Plan Modeは、いきなりコードを書き始めるのではなく、実装前に計画を立てて確認するための機能です。大規模な変更や複数ファイルにまたがる修正を行う際に、まず全体の設計や手順をClaude Codeに提案させ、内容を確認してから実装に進むことができます。これにより想定外の変更や手戻りを防ぎ、開発の方向性を事前に調整できるため、特に複雑なタスクで威力を発揮します。
Skillsは、頻繁に行う作業をスラッシュコマンドとして登録できる機能です。
こうした定型作業をコマンド化しておくことで、毎回同じ指示を入力する手間が省けます。プロジェクト固有のルールやチーム内の規約に沿った処理を登録しておけば、品質の均一化にもつながります。
Hooksは、ファイルの保存やコミット前といった特定のイベントが発生したタイミングで、自動的に処理を実行する仕組みです。
例えばコード保存時に自動フォーマットを実行したり、コミット前に自動テストを走らせたりといった使い方ができます。これにより人為的なミスを防ぎ、ワークフローの中に品質チェックを組み込むことが可能になります。
これら3つの機能を状況に応じて使い分けることで、Claude Codeの生産性を最大限に引き出すことができます。
Plan Modeは、Claude Codeに実際のコード変更を行わせる前に、まず計画を立てさせるための安全な実行モードです。このモードでは、Claude Codeがプロジェクト内のファイルを読み込んだり、コマンドを使って情報を探索したりすることはできますが、ソースコードを一切変更しないため、安心して相談や設計の検討ができます。
Plan Modeへの切り替えは2種類の方法で実行できます。
claude --permission-mode planと入力するこのモードは特に、複数のファイルにまたがる大規模な変更を行う場合や、まだ慣れていないコードベースに触れる場面で効果的です。実装の影響範囲を事前に把握したり、どのファイルをどう修正すべきかの全体像を整理したりする際に役立ちます。
さらに効果的に活用するコツとして、指示に「ultrathink」を含めると、そのターンに限ってより深い推論を促すことができます。
例えば「ultrathinkで、このリファクタリングの影響範囲を分析して」といった指示を出すことで、より慎重で詳細な計画が得られるでしょう。計画に納得できたら、通常の実行モードに戻して実際のコード変更を依頼する流れになります。
Claude Codeでは、よく行う作業を独自のスラッシュコマンドとして登録できるSkill機能が用意されています。Skill機能を使うことで、毎回同じ指示を繰り返し入力する手間を省き、作業を大幅に効率化できます。
Skillを作成するには、プロジェクトのルートディレクトリに「.claude/skills/」フォルダを作り、その中にスキル名のフォルダを作成し、さらにその中に「SKILL.md」ファイルを配置します。
このSKILL.mdファイルの冒頭にはフロントマターと呼ばれる設定情報を記述します。
フロントマターで設定できる主な項目は以下の通りです。
フロントマターの後には、実際に実行したい作業内容をプロンプト形式で記述します。ここで便利なのが「$ARGUMENTS」という変数で、これを使うとコマンド実行時に引数を渡せるようになります。
例えば「/test hello world」のようにコマンド名の後に引数を続けて入力すると、SKILL.md内に記述した$ARGUMENTSの部分が実際の引数に置き換わります。$ARGUMENTSを本文に書かない場合は、Claude Codeが末尾に「ARGUMENTS: <入力>」を自動で追記します。
disable-model-invocationをtrueにしておけば、意図しないタイミングでClaudeがスキルを実行してしまうのを防げるため、特定の場面でのみ使いたいコマンドに適しています。
| フィールド | 設定値 | 動作・役割 | 使いどころ | 記述例 |
| name | 任意の文字列(スペース不可) | スラッシュコマンド名として登録される。/<name>で呼び出せるようになる | スキルを識別するための必須フィールド。短くて意味がわかる名前にする | name: fix-issue → /fix-issueで呼び出し可能 |
| description | 任意の文字列 | Claudeがこのスキルを「文脈に応じて自動呼び出しするかどうか」の判断基準に使われる | 自動呼び出しさせたいスキルには具体的な説明を書く。手動専用にする場合はdisable-model-invocation: trueとセットで使う | description: GitHub の Issue を修正する |
| disable-model-invocation | true / false(省略時はfalse) | trueにするとClaudeが自動で呼び出すのを防ぎ、明示的に/<name>と入力されたときだけ実行される | 誤って自動実行されると困るワークフロー(コミット・PR作成・デプロイなど)に向いている | disable-model-invocation: true |
| allowed-tools | ツール名のリスト | そのスキルが使えるツールをホワイトリスト形式で限定する。ここに含まれないツールはスキル実行中に使えない | セキュリティや意図しない操作を防ぐためにスキルの権限を絞りたい場合 | allowed-tools: [Read, Bash](Read・Bashのみ許可) |
| context | fork(省略するとメインセッションで実行) | サブエージェントの独立したコンテキストでスキルを実行する。メインのコンテキストウィンドウを消費しない | 調査・分析など結果だけほしいタスクをメインセッションから切り離したい場合。コンテキスト節約に有効 | context: fork |
Hooksは、Claude Codeが特定のアクションを実行したタイミングで、あらかじめ設定したシェルコマンドを自動的に実行する仕組みです。Hooks機能を使うことで、ファイル編集後の自動チェックや作業完了時の通知など、イベント駆動型の処理を組み込むことができます。
設定は.claude/settings.jsonファイルに記述します。代表的なHooksには、ツール実行後に発火するPostToolUseと、Claude Codeの各ターン終了時に発火するStopがあります。
Hooksの設定は、イベント名の配下にmatcherとhooks配列を持つ入れ子のJSON構造で定義します。
各ハンドラにはtypeとcommandなどのフィールドが必要です。
例えば、PostToolUseを使えばファイル編集のたびにESLintやPrettierを自動実行できます。ファイル編集時のみ実行するには、matcherを"Edit|Write"に設定して編集系ツールに限定します。具体的には、settings.jsonに以下のような設定を追加することで実現できます。
JSON
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "jq -r '.tool_input.file_path' | xargs npx eslint --fix"
}
]
}
]
}
}
このように設定すると、Claude Codeがファイルを編集するたびに自動的にコードの静的解析と修正が走ります。
また、作業完了時に通知を出したい場合は、Claude Codeがレスポンスを完了したタイミングで発火するStopイベントを使うのが適しています。macOSの場合は以下のような設定が有効です。
JSON
{
"hooks": {
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "osascript -e 'display notification \"Claude Codeの処理が完了しました\" with title \"入力待ち\"'"
}
]
}
]
}
}
こうした自動化により、手動での確認作業を減らし、開発フローをよりスムーズにすることができます。

Claude Codeをさらに強力にするには、MCPとサブエージェントという2つの仕組みを活用することが効果的です。MCP(Model Context Protocol)は、Claude Codeを外部のツールやデータソースに接続するためのオープンスタンダードで、これを使うことでAIが単なるコード生成ツールを超えた存在になります。
対応するMCPサーバーを設定すれば、Claude CodeからGitHubのリポジトリ操作、Slackへのメッセージ送信、データベースへの直接クエリなど、さまざまな外部サービスと連携できるようになります。
一方、サブエージェントは特定のタスクを独立したコンテキストで実行するための機能です。メインのコンテキストウィンドウを圧迫せずに済むため、大規模なプロジェクトでも効率的に作業を進められます。
こうした使い方が可能です。拡張機能を組み合わせることで、Claude Codeは単なるコーディング支援ツールから、開発ワークフロー全体を統合する強力なプラットフォームへと進化します。
MCPサーバーを追加するには、Claude Codeのターミナルで「claude mcp add」コマンドを実行します。このコマンドは基本的にフラグ指定で設定を行い、必要に応じてシークレット入力のプロンプトや、/mcpからのブラウザでのOAuth認証など、対話的な手順が発生します。
claude mcp addの既定スコープはlocal(現在のプロジェクトのみで自分が使える設定)で、設定は~/.claude.jsonに保存されます。チームで共有する場合は、–scope projectを付けて追加するか、プロジェクト直下の.mcp.jsonに設定を記述してください。設定ファイルをGitで管理すれば、新しいメンバーがプロジェクトに参加した際も、すぐに同じ環境で作業を開始できます。
代表的なMCPサーバーの活用例としては、以下のような外部連携が可能です。
複数のMCPサーバーを組み合わせることで、Claude Codeは単なるコード生成ツールから、開発ワークフロー全体を支援するプラットフォームへと進化します。
| カテゴリ | MCPサーバー | 追加コマンド(抜粋) | できること | 向いているユーザー |
| 開発・コード管理 | GitHub | claude mcp add github -e GITHUB_PERSONAL_ACCESS_TOKEN=your-token — npx -y @modelcontextprotocol/server-github | PRの作成・レビューコメントへの返信・Issueのトリアージ・GitHub Actionsとの連携 | GitHubをメインのコード管理ツールとして使っている開発者 |
| ドキュメント参照 | Context7 | claude mcp add –transport sse context7 https://mcp.context7.com/sse | 最新のライブラリドキュメントの参照・バージョン固有の情報取得・正確なAPIリファレンスの確認 | 複数のライブラリを使う開発者・ライブラリのバージョンアップ対応が多い人 |
| ブラウザ・UI | Figma | Figma MCPのリンクをClaude Codeに貼り付けて追加 | デザインデータの読み込みとUIへの反映・デザインからコードを自動生成・SVGアセットの自動ダウンロード・コンポーネント仕様の取得 | デザイナーとの協業が多い開発者・デザインカンプを忠実にコード化したい人 |
| ブラウザ・UI | Chrome DevTools | claude mcp add chrome-devtools npx chrome-devtools-mcp | パフォーマンスのインサイト取得・ブラウザ上でのデバッグ作業・Puppeteerを使った自動化 | フロントエンド開発者・パフォーマンス改善やブラウザデバッグを頻繁に行う人 |
| テスト | Playwright | claude mcp add playwright npx @playwright/mcp | ブラウザの自動操作・E2Eテストの生成・スクリーンショットの取得 | E2Eテストを整備したい開発者・ブラウザ操作の自動化を取り入れたいチーム |
| チームコミュニケーション | Slack | 個別設定が必要 | 作業完了通知の自動投稿・エラーアラートの自動送信・長い処理を任せている間に別作業ができる | チームへの進捗共有を自動化したい開発者・非同期作業が多い環境 |
| データベース | PostgreSQL / MySQL | 個別設定が必要 | 自然言語でのクエリ実行・スキーマの確認・データの集計や分析 | SQLを書く機会が多いバックエンド開発者・データ分析を行うエンジニア |
| プロジェクト管理 | Notion | claude mcp add –transport sse notion https://mcp.notion.com/sse | フルアクセス権限があるページの読み書き(2025年時点ベータ版・権限のあるページのみ対象) | NotionをドキュメントやWikiとして使っているチーム |
| 知識管理・IDE支援 | Serena | claude mcp add serena — uvx –from git+https://github.com/oraios/serena serena start-mcp-server … | コードベースへの意味的な理解を強化・SkillやAgentと組み合わせた高度な自動化 | Claude Codeをより賢く使いたい上級ユーザー・カスタマイズに積極的な開発者 |
Claude Codeでは、.claude/agentsディレクトリ内に<エージェント名>.mdファイルを作成することで、独自のサブエージェントを定義できます。
ファイル内でname(エージェント名)、description(役割の説明)、tools(利用可能なツール)、model(使用するAIモデル)といった要素を指定することで、特定の目的に特化したエージェントを構築できます。サブエージェントを活用する最大のメリットは、コンテキストの分離によるトークン消費の最適化です。
メインセッションとは独立した作業空間を持つため、冗長な出力をサブエージェント側のコンテキストに隔離でき、メインのコンテキスト消費を最小限に抑えつつ処理を進められます。さらに、複数のサブエージェントを並列実行することで作業効率を大幅に向上させることが可能です。実践的な活用例として、Agent(旧Task)ツールを使った並列分析が挙げられます。
各エージェントを同時に起動し、同じコードベースを異なる観点から並行して分析させることで、包括的なレビューを短時間で完了できます。各エージェントは独立したコンテキストで動作するため、専門性を保ちながら効率的にタスクを遂行します。

Claude Codeは、AIによる対話を通じてコードの生成や編集、実行までを一貫して行える強力な開発支援ツールです。
本記事では、インストールから基本的な使い方、CLAUDE.mdによるプロジェクト設定の記憶、Plan ModeやSkill、Hooksといった効率化機能、さらにMCPサーバーやサブエージェントによる拡張方法まで、実践的な活用法を幅広く解説しました。
特に重要なのは、効果的な指示の出し方とコンテキスト管理、そして権限モードの適切な設定です。各設定を理解することで、Claude Codeは単なるコード補完ツールを超えた、開発プロセス全体を支援するパートナーとなります。
繰り返し行う作業はSkillでコマンド化し、プロジェクト固有のルールはCLAUDE.mdに記載することで、毎回同じ指示を繰り返す手間が省けます。また、MCPによる外部サービス連携やサブエージェントの活用により、さらに高度な自動化も実現可能です。
ぜひ本記事の内容を参考に、Claude Codeを日々の開発ワークフローに取り入れて、生産性の向上を体感してください。
アイスマイリーでは、生成AI のサービス比較と企業一覧を無料配布しています。課題や目的に応じたサービスを比較検討できますので、ぜひこの機会にお問い合わせください。
業務の課題解決に繋がる最新DX・情報をお届けいたします。
メールマガジンの配信をご希望の方は、下記フォームよりご登録ください。登録無料です。
AI製品・ソリューションの掲載を
希望される企業様はこちら