はじめに
Claude Codeを「とりあえずインストールした」状態から、本番開発で毎日使いこなすレベルへ引き上げるためのTips集です。
公式ドキュメント(code.claude.com/docs)を一次情報として、実際に動作確認できている内容のみを掲載します。「なんとなく言われてること」は含みません。
本記事の情報基準: 2026年3月現在の公式ドキュメントに基づいています。動作未確認の情報には「※要確認」を付けています。
1. CLAUDE.md の書き方 — project指示とuser指示の使い分け
CLAUDE.mdファイルの配置場所と優先順位
Claude Codeは起動時に複数のCLAUDE.mdを自動で読み込みます。配置場所によってスコープが異なります。
| スコープ | パス | 用途 | チーム共有 |
|---|---|---|---|
| Managed(組織) | macOS: /Library/Application Support/ClaudeCode/CLAUDE.md
|
全社ポリシー・コーディング標準 | IT部門が配布 |
| Project |
./CLAUDE.md または ./.claude/CLAUDE.md
|
プロジェクト共通ルール | gitで共有 ✅ |
| User | ~/.claude/CLAUDE.md |
個人設定(全プロジェクト適用) | 自分のみ |
重要: より具体的な場所のファイルが優先されます(Project > User > Managed)。ただしManaged(組織管理)のファイルは除外不可です。
Project CLAUDE.md に書くべき内容 vs 書かない内容
公式ドキュメントのベストプラクティスを整理すると:
# CLAUDE.md の良い例
## ビルド・テスト
- テスト実行: `npm test`
- ビルド: `npm run build`
- リント: `npm run lint`
## コードスタイル
- インデント: 2スペース(タブ不可)
- import構文: ES modules(require禁止)
- 型: TypeScript strict mode
## アーキテクチャ
- API handlers: src/api/handlers/ に配置
- ViewModel: @Observable @MainActor final class で定義
## 注意事項
- .env ファイルはコミット禁止
- migration ファイルは直接編集しない
書いてはいけない(Claudeが既に知っていること):
# ❌ 不要な記述例
- コードをきれいに書く
- 変数名はわかりやすくする
- 標準的なRESTful設計に従う
公式の推奨: CLAUDE.mdは200行以内に収めること。長くなるほど遵守率が下がります。
User CLAUDE.md(個人設定)の活用
~/.claude/CLAUDE.md には全プロジェクトに適用したい個人設定を書きます:
# ~/.claude/CLAUDE.md
## 個人の作業スタイル
- 変更後は必ず型チェックを実行する
- テストは個別に実行する(全スイート不要)
- コミットメッセージは日本語で書く
## よく使うショートカット
- PRレビュー時はセキュリティ脆弱性を必ずチェック
@インポートで外部ファイルを参照
CLAUDE.md内で @path/to/file 構文を使うと外部ファイルを取り込めます:
# CLAUDE.md
プロジェクト概要は @README.md を参照。
利用可能なnpmコマンドは @package.json を参照。
## 追加指示
- Gitワークフロー: @docs/git-instructions.md
- 個人設定: @~/.claude/my-project-instructions.md
最大5段階の再帰インポートが可能です(循環参照は検出・無視)。
.claude/rules/ でルールをモジュール化
大きなプロジェクトでは、.claude/rules/ ディレクトリにテーマ別でルールファイルを分割できます:
.claude/
├── CLAUDE.md # メイン指示
└── rules/
├── code-style.md # コードスタイル
├── testing.md # テスト規約
└── security.md # セキュリティ要件
さらに特定ファイルにのみ適用するパス指定ルールも書けます:
---
paths:
- "src/api/**/*.ts"
---
# API開発ルール
- 全エンドポイントに入力バリデーション必須
- エラーレスポンスは共通フォーマットに従う
2. スラッシュコマンド実用一覧
/ と入力するとコマンドの補完が出ます。カテゴリ別に重要なものをまとめます。
セッション管理
| コマンド | 説明 | 実用ポイント |
|---|---|---|
/clear |
会話履歴をリセット | エイリアス: /reset, /new。無関係なタスクの前に実行 |
/compact [指示] |
会話を圧縮 |
/compact APIの変更に集中 のように焦点を指定可能 |
/resume [セッション] |
過去のセッションを再開 | エイリアス: /continue
|
/rename [名前] |
セッションに名前をつける | 例: oauth-migration
|
/fork [名前] |
現在のセッションを分岐 | 実験的な変更を試すときに便利 |
/rewind |
以前のチェックポイントに戻す | エイリアス: /checkpoint。コードのみ・会話のみ・両方を選択可 |
コンテキスト・情報確認
| コマンド | 説明 | 実用ポイント |
|---|---|---|
/context |
コンテキスト使用量を可視化 | 色付きグリッドで残量確認 |
/cost |
トークン使用統計を表示 | コスト管理に |
/memory |
CLAUDE.mdとauto-memoryを管理 | ロードされているファイル一覧確認にも |
/status |
バージョン・モデル・アカウント確認 | エイリアス: /settings の Status タブ |
/diff |
未コミット変更をインタラクティブに表示 | ターン別の差分も閲覧可能 |
/btw <質問> |
会話履歴に残さない即時質問 | タスク中断なしに素早く確認 |
モード切替
| コマンド | 説明 |
|---|---|
/plan |
プランモードに移行(ファイル変更なし) |
/fast [on|off] |
ファストモードのオン/オフ切替 |
/vim |
Vim編集モードのトグル |
/sandbox |
サンドボックスモードのトグル |
/permissions |
許可ツールの確認・更新(エイリアス: /allowed-tools) |
スキル(カスタムコマンド)
| コマンド | 説明 |
|---|---|
/skills |
利用可能なスキル一覧 |
/init |
プロジェクトのCLAUDE.mdを自動生成 |
バンドルスキル(Claude Code組み込み)
以下は Claude Code に同梱されているスキルで、/ から呼び出せます:
| コマンド | 説明 |
|---|---|
/simplify |
最近変更したファイルのコード品質・効率を改善。3つのレビューエージェントを並列実行して改善点を適用 |
/batch <指示> |
コードベース全体への大規模変更を並列実行。5〜30の独立ユニットに分解してgit worktreeで並列処理 |
/debug [説明] |
現在のClaude Codeセッションのデバッグログを読んでトラブルシューティング |
/loop [間隔] <プロンプト> |
指定間隔でプロンプトを繰り返し実行。例: /loop 5m デプロイが完了したか確認して
|
/claude-api |
Claude APIリファレンスをプロジェクトの言語向けに読み込む |
注意:
/reviewは廃止済みです(deprecated)。代わりにclaude plugin install code-review@claude-code-marketplaceでプラグインをインストールしてください。
その他実用コマンド
| コマンド | 説明 |
|---|---|
/export [ファイル名] |
会話をプレーンテキストで書き出し |
/security-review |
現在ブランチの変更をセキュリティ観点でレビュー |
/pr-comments [PR] |
GitHubのPRコメントを取得(gh CLI必要) |
/insights |
セッション分析レポートを生成 |
/doctor |
インストールと設定の診断 |
/copy |
直前のアシスタント応答をクリップボードにコピー。コードブロックが複数ある場合は選択ピッカーを表示 |
3. settings.json でできること
設定ファイルには4つのスコープがあり、優先順位が異なります。
設定ファイルの場所と優先順位(高→低)
- Managed(システムレベル)
- コマンドライン引数
-
Local (
.claude/settings.local.json) — gitignore推奨 -
Project (
.claude/settings.json) — gitで共有 -
User (
~/.claude/settings.json)
主要な設定項目
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
// モデル設定
"model": "claude-sonnet-4-6",
// 出力スタイル
"outputStyle": "Explanatory",
"language": "japanese",
"showTurnDuration": true,
// パーミッション
"permissions": {
"allow": [
"Bash(npm run lint)",
"Bash(npm run test *)",
"Bash(git commit *)",
"Read(~/.zshrc)"
],
"ask": [
"Bash(git push *)"
],
"deny": [
"Read(./.env)",
"Read(./.env.*)",
"WebFetch"
],
"additionalDirectories": ["../docs/"],
"defaultMode": "acceptEdits"
},
// auto-memory
"autoMemoryEnabled": true,
// セッション設定
"cleanupPeriodDays": 30
}
パーミッションルールの構文
| 記法 | 意味 |
|---|---|
Bash |
全Bashコマンドを許可/拒否 |
Bash(npm run *) |
npm run で始まるコマンド |
Bash(git commit *) |
git commit を含むコマンド |
Read(./.env) |
特定ファイルの読み込み |
Edit(./src/**) |
src/ 配下のファイル編集 |
WebFetch(domain:example.com) |
特定ドメインへのフェッチのみ |
MCP |
全MCPサーバー |
CLAUDE.mdの除外設定(モノレポ向け)
大規模モノレポで他チームのCLAUDE.mdが混入する場合は .claude/settings.local.json に除外設定を追加:
{
"claudeMdExcludes": [
"**/other-team/CLAUDE.md",
"/home/user/monorepo/legacy/.claude/rules/**"
]
}
4. パーミッションモードの使い分け
3つのモード
| モード | 説明 | 使いどころ |
|---|---|---|
askPermissions |
各操作前に確認を求める(デフォルト) | 本番コード・重要なリポジトリ |
acceptEdits |
ファイル編集は自動、コマンドは確認 | 通常の開発作業 |
bypassPermissions |
全操作を自動実行 | CI/CDパイプライン、完全に管理された環境のみ |
settings.jsonで設定:
{
"permissions": {
"defaultMode": "acceptEdits"
}
}
キーボードショートカットで即切替: Shift+Tab でAuto-Acceptモード、プランモード、通常モードを循環切替できます。
サンドボックスモードとの組み合わせ
/sandbox でOSレベルのサンドボックスを有効にすると、bypassPermissions と組み合わせても安全な自律動作が可能になります。ネットワークアクセスやファイルシステムを制限した状態でClaudeを動かせます。
5. Auto Memory(自動メモリ)の活用
仕組み
Claudeは作業を通じて学んだことを自動的に ~/.claude/projects/<project>/memory/ に保存します:
- ビルドコマンド
- デバッグで発見した知見
- アーキテクチャの決定事項
- コードスタイルの好み
MEMORY.md の最初の200行が毎セッション読み込まれます(200行を超えた内容は別ファイルに分割されます)。
確認・編集
/memory
このコマンドで現在ロードされているCLAUDE.mdとauto-memoryファイルを一覧表示し、そこから直接編集できます。
無効化
{
"autoMemoryEnabled": false
}
または環境変数 CLAUDE_CODE_DISABLE_AUTO_MEMORY=1 で無効化。
6. カスタムスキルの作り方
スラッシュコマンドとして呼び出せる独自ワークフローを作成できます。
基本構造
~/.claude/skills/review-pr/SKILL.md # 個人スキル(全プロジェクト)
.claude/skills/deploy/SKILL.md # プロジェクトスキル
SKILL.md の例(PRレビュー):
---
name: review-pr
description: PRの変更をレビューしてセキュリティ・品質チェックを行う
disable-model-invocation: true
allowed-tools: Bash(gh *), Read, Grep
---
GitHub PR $ARGUMENTS のレビューを実施する。
1. `gh pr diff` で差分を確認
2. セキュリティ脆弱性(SQLインジェクション、XSS、認証欠陥)をチェック
3. 既存パターンとの整合性を確認
4. 改善点をリストアップして報告
/review-pr 456 のように呼び出せます。
重要なフロントマター
| フィールド | 説明 |
|---|---|
name |
スラッシュコマンド名 |
description |
Claudeが自動で使うかどうかを判断する説明 |
disable-model-invocation: true |
ユーザーが明示的に呼び出したときのみ実行(デプロイ等の副作用があるもの) |
user-invocable: false |
メニューに表示せず、Claudeが自律的に使う背景知識として機能 |
allowed-tools |
このスキル実行時に許可するツール |
context: fork |
独立したサブエージェントコンテキストで実行 |
7. 実際に効果があったプロンプトパターン
公式ドキュメントのベストプラクティスから、特に有効なパターンを厳選しました。
パターン1: 検証基準を先に与える
# ❌ 曖昧
「emailバリデーション関数を実装して」
# ✅ 検証基準付き
「validateEmail 関数を実装して。
テストケース:
- user@example.com → true
- invalid → false
- user@.com → false
実装後にテストを実行して全件パスを確認して」
Claudeが自分でテストを実行して検証できるため、品質が大幅に向上します。
パターン2: 探索→計画→実装の分離
# ステップ1(/plan モードで)
「src/auth を読んで、セッションとログインの実装を理解して」
# ステップ2(/plan モードで)
「Google OAuthを追加したい。変更が必要なファイルと実装計画を作って」
# ステップ3(通常モードで)
「計画に沿って実装して。コールバックハンドラのテストを書いて実行して、失敗があれば修正して」
パターン3: Claudeにインタビューさせる
「[機能の簡単な説明]を作りたい。
AskUserQuestion ツールを使って詳細にインタビューして。
技術実装・UX・エッジケース・トレードオフについて聞いて。
全部把握できたら SPEC.md に完全な仕様書を書いて」
自分では気づかない考慮漏れを発見するのに非常に有効です。
パターン4: 既存パターンを明示的に指示
# ❌ 曖昧
「カレンダーウィジェットを追加して」
# ✅ 既存パターン参照付き
「home ページの既存ウィジェット実装を見てパターンを理解して。
HotDogWidget.php が良い例です。
そのパターンに従って、月を選択して前後の年に移動できる
カレンダーウィジェットを作って。
既存ライブラリ以外は使わないこと」
パターン5: サブエージェントで調査を分離
「サブエージェントを使って、認証システムのトークンリフレッシュ処理と
再利用できるOAuthユーティリティがないか調査して」
メインのコンテキストを汚さずに、大量のファイルを探索させられます。
パターン6: /btw でコンテキストを汚さない質問
/btw あのconfig ファイルの名前なんだっけ?
会話履歴に残らない即時質問。Claudeが作業中でも実行できます。
8. キーボードショートカット早見表
| ショートカット | 動作 |
|---|---|
Shift+Tab |
Auto-Accept / Plan / 通常モードを循環切替 |
Ctrl+C |
現在の生成をキャンセル |
Escape |
生成を停止(コンテキスト保持) |
Esc + Esc |
リワインドメニューを開く |
Ctrl+G |
プロンプトをデフォルトエディタで編集 |
Ctrl+L |
ターミナル画面をクリア(会話履歴は保持) |
Ctrl+O |
詳細出力(ツール使用・実行内容)をトグル |
Ctrl+B |
バックグラウンドタスクに移行 |
Ctrl+T |
タスクリストの表示/非表示 |
! + コマンド |
Bashモード(Claudeを経由せず直接実行) |
@ + パス |
ファイルパス補完 |
Option+P (macOS) |
モデルを切り替え(プロンプトを保持) |
9. CLIフラグと非インタラクティブ活用
# 一回限りのタスク
claude -p "このプロジェクトの概要を説明して"
# 構造化出力(スクリプト組み込み向け)
claude -p "APIエンドポイント一覧を出力" --output-format json
# ストリーミング出力
claude -p "このログファイルを分析して" --output-format stream-json
# 使用ツールを制限
claude -p "src/を React から Vue に移行して" --allowedTools "Edit,Bash(git commit *)"
# 最後のセッションを継続
claude --continue
# セッション選択して再開
claude --resume
CI/CDでの活用例
# PRごとにセキュリティレビュー
git diff main --name-only | claude -p "変更されたファイルをセキュリティ観点でレビューして"
# バルク変換
for file in $(cat files.txt); do
claude -p "$file を Python 2 から Python 3 に変換して。OK か FAIL を返して" \
--allowedTools "Edit,Bash(git commit *)"
done
まとめ
Claude Codeを使いこなす核心は次の3点です:
- CLAUDE.mdは200行以内で具体的に — Claudeがすでに知っていることは書かない
-
コンテキストを積極的に管理する — 無関係なタスクの前に
/clear、調査はサブエージェントに任せる - 検証基準を必ず与える — テスト・スクリーンショット・期待出力を先に定義する
参考
- Claude Code 公式ドキュメント
- CLAUDE.md の書き方
- スキル(カスタムコマンド)
- settings.json 設定リファレンス
- インタラクティブモード・コマンド一覧
- ベストプラクティス
@kotaro_ai_lab
AI活用や開発効率化について発信しています。フォローお気軽にどうぞ!