わさびです。
Claude Codeの基本は使えるようになった。でも「もっと効率よく使えるはず」と感じている人は多いと思う。
この記事では、Claude Codeの公式ドキュメント(英語のみ)に書かれている上級機能を日本語でまとめる。CLAUDE.md、hooks、Permission modes、subagent、GitHub連携。全部実際に使っているものだけ紹介する。
CLAUDE.mdを書く
CLAUDE.mdはClaude Codeの「プロジェクト設定ファイル」。プロジェクトのルートに置くと、Claude Codeが毎回自動で読み込む。
置ける場所と優先順位
CLAUDE.mdは複数の場所に置ける。すべてが読み込まれ、組み合わせて適用される。
| ファイル | 適用範囲 | 用途 |
|---|---|---|
| ~/.claude/CLAUDE.md | 全プロジェクト共通 | 自分のグローバル設定 |
| プロジェクトルート/CLAUDE.md | そのプロジェクト全体 | チーム共有のルール(gitに入れる) |
| 各ディレクトリ/CLAUDE.md | そのディレクトリ以下 | サブプロジェクト固有のルール |
何を書くべきか
CLAUDE.mdに書くと効果が高いもの:
- ビルド・テスト・リントのコマンド(
pytest src/tests/、npm run lint等) - コーディング規約(命名規則、インデント、コメントルール)
- プロジェクト固有の制約(「src/以下のみ変更可」「mainブランチに直push禁止」等)
- アーキテクチャの概要(ディレクトリ構成、主要モジュールの役割)
逆に書かなくていいもの:
- Claude Codeが自分で読み取れる情報(package.jsonの内容等)
- 一般的なプログラミング知識
- 長すぎる文章(コンテキストウィンドウを圧迫する)
実例
# プロジェクトルール
## コマンド
-テスト: pytest src/tests/ -v
-リント: ruff check src/
-ビルド: npm run build
## コーディング規約
-Python 3.13、型ヒント必須
-コミットメッセージは日本語
-未使用importは即削除
## 構成
-src/ — アプリケーションコード
-config/ — 設定ファイル(変更注意)
-tests/ — テスト(pytestで実行)
短く、具体的に。これがCLAUDE.mdのコツ。
メモリ機能
Claude Codeにはメモリ機能がある。会話中に「これを覚えておいて」と言うと、その情報がCLAUDE.mdに自動追記される。
> このプロジェクトではSQLAlchemy 2.0の新構文を使うこと。覚えておいて。
これで次回以降のセッションでも、SQLAlchemy 2.0の新構文を前提に動いてくれる。
ただし自動追記されるので、たまにCLAUDE.mdを確認して整理するのがおすすめ。不要な記述が溜まると読み込み時のトークンが増える。
hooks(フック)
hooksはClaude Codeのツール実行前後に自動で走るスクリプト。.claude/settings.jsonで設定する。
hook の種類
| hook | タイミング | 用途 |
|---|---|---|
| PreToolUse | ツール実行前 | バリデーション、承認制御 |
| PostToolUse | ツール実行後 | 自動フォーマット、通知 |
| Notification | 通知発生時 | 外部通知連携 |
| Stop | 応答完了時 | 後処理 |
設定例
.claude/settings.json:
{
"hooks":{
"PostToolUse":[
{
"matcher":"Write|Edit",
"command":"ruff check --fix $CLAUDE_FILE_PATH"
}
]
}
}
この設定だと、Claude Codeがファイルを書き込む/編集するたびに、自動でruffのリントが走る。人間が後から「リント通してなかった」と気づくミスを防げる。
hookで渡される環境変数
hookのcommandでは以下の環境変数が使える:
$CLAUDE_FILE_PATH— 操作対象のファイルパス$CLAUDE_TOOL_NAME— 実行されたツール名$CLAUDE_PROJECT_DIR— プロジェクトルートのパス
Permission modes
Claude Codeには3つの権限モードがある。
| モード | 動作 | 用途 |
|---|---|---|
| default | 危険な操作は毎回確認を求める | 通常使用 |
| allowlist | 許可リストに載った操作のみ自動実行 | チーム運用 |
| yolo(–dangerously-skip-permissions) | 全操作を自動実行 | CI/CD、信頼できる環境 |
defaultモードでも、セッション中に一度許可した操作は記憶される。「常に許可」を選べば、.claude/settings.jsonに保存されて次回以降も聞かれない。
yoloモードはCI/CDパイプラインで使うことが想定されている。ローカル開発で使うのは自己責任。
マルチファイル同時編集のコツ
Claude Codeが得意なのは、複数ファイルにまたがる変更。でもうまく使うにはコツがある。
1. 変更範囲を明示する
> src/api/routes.pyとsrc/api/handlers.pyに新しいエンドポイントを追加して。
> GETで/api/v2/users、レスポンスはUserSchemaのリスト。
「何を」「どこに」「どういう仕様で」を具体的に伝える。曖昧な指示だとClaude Codeが推測で動いて、意図しない変更が入る。
2. 関連ファイルを先に読ませる
> まずsrc/api/routes.pyとsrc/models/user.pyを読んで。その上で変更案を提示して。
Claude Codeは賢いので大体は自分で必要なファイルを見つける。でも確実に参照してほしいファイルがあるなら、先に指示したほうが精度が上がる。
3. 段階的に進める
大きな変更は一気にやらせず、段階的に進める。
> まずモデルを追加して。
(確認)
> 次にルーティングを追加して。
(確認)
> 最後にテストを書いて。
一回の指示で10ファイル以上変えると、レビューが大変になる。
/slash commands
Claude Codeには組み込みのスラッシュコマンドがある。よく使うもの:
| コマンド | 機能 |
|---|---|
| /init | CLAUDE.mdを自動生成 |
| /compact | 会話を要約してコンテキストを節約 |
| /clear | 会話履歴をリセット |
| /cost | 現在のセッションのトークン消費量を表示 |
| /model | 使用モデルを切り替え |
カスタムスラッシュコマンド
.claude/commands/ディレクトリにMarkdownファイルを置くと、カスタムコマンドとして使える。
.claude/commands/deploy.md:
以下の手順でデプロイを実行:
1. テストを全件実行
2. 失敗がなければgit push
3. SSH経由でサーバーに接続してgit pull
これで /deploy と打つだけでデプロイ手順が走る。チーム内で手順を共有するのに便利。
プロジェクトのルートの.claude/commands/に置いたコマンドはチーム全体で共有できる(gitにコミットする)。~/.claude/commands/に置いたコマンドは自分専用。
subagent(Task tool)
Claude Codeは内部で「subagent」と呼ばれるサブタスク機能を持っている。大きなタスクを分解して、サブエージェントに委譲する。
例えば「このプロジェクトのテストカバレッジを80%以上にして」という指示を出すと:
- メインのClaude Codeがタスクを分析
- 「モジュールAのテスト追加」「モジュールBのテスト追加」等のサブタスクに分解
- 各サブタスクをsubagentに委譲
- 結果を統合
subagentは独立したコンテキストで動くので、メインの会話のコンテキストウィンドウを圧迫しない。
人間が明示的に使う機能ではなく、Claude Codeが必要に応じて自動的に使う。ただし、大きなタスクを依頼するときは「サブタスクに分けて並行で進めて」と指示すると、より効率的にsubagentが活用される。
GitHub連携
Claude CodeはGitHub CLIと連携して、PR作成やIssue操作ができる。
PR作成
> 今の変更でPRを作って。ベースブランチはmain。
Claude Codeが差分を分析して、タイトルと説明文を生成し、gh pr createを実行してくれる。
Issue操作
> Issue #42の内容を確認して、対応するコードを書いて、PRを作って。
Issueを読む → コード変更 → PR作成まで一気通貫。
PRレビュー
> gh pr view 123のdiffを見て、レビューコメントをつけて。
コードレビューの下書きとしても使える。
実運用Tips
コンテキストウィンドウの管理
Claude Codeの会話が長くなると、コンテキストウィンドウが埋まって応答が遅くなる。/compactで要約するか、/clearでリセットする。
目安として、1タスクが終わったら/compact、別の作業に移るなら/clear。
ワンショットモード
claude -p "テストを実行して結果を報告して" のように、-pフラグで対話なしの一発実行ができる。CI/CDやcronジョブで使う。
パイプ入力
caterror.log|claude-p"このエラーログを分析して"
標準入力からデータを渡せる。ログ分析やデータ変換に便利。
複数セッション
ターミナルを複数開いて、それぞれでClaude Codeを起動できる。フロントエンドとバックエンドを別セッションで同時に開発、といった使い方ができる。
ただし同じファイルを複数セッションで同時に編集するとコンフリクトするので注意。
まとめ
Claude Codeの上級機能は、全部「繰り返しの手間を減らす」ためにある。
- CLAUDE.md → 毎回同じ説明をしなくていい
- hooks → 毎回リントを手動で走らせなくていい
- カスタムコマンド → 毎回手順を思い出さなくていい
- GitHub連携 → ブラウザとターミナルを行き来しなくていい
最初は全部使おうとせず、CLAUDE.mdから始めるのがおすすめ。それだけで体感が変わる。
甲羅に篭って考えた結果、CLAUDE.mdは短いほど強い、という結論に至った。
あわせて読みたい
- Claude Code完全ガイド — まだClaude Codeを使ったことがない人はここから
- Claude MCP完全ガイド — 外部ツール連携の標準プロトコル
- Claude API料金ガイド — API経由で使う場合のコスト
- Claudeシステムプロンプト設計ガイド — CLAUDE.mdの書き方に通じるスキル
- Claudeプロンプト設計|中級テクニック — Claude Codeでも使えるプロンプト技術
- Claude Agent SDK入門 — Claude Code自体の仕組みを理解したい人向け
見てもらえるだけで応援になります
このブログはアフィリエイトリンクで運営されています。以下のリンクから気になるサービスをチェックしてもらえると、僕たちの活動の支えになります。
この記事を書いたのは わさび(ニホンイシガメ / 3歳 / VTuberあかはら。の家族)です。
あかはらVラボ — Claude特化の情報を発信中。
この記事が参考になったら|以下のリンクから見てもらえるだけで、ブログ運営の応援になります。

AI開発環境やブログ運営に。初期費用無料、月額296円から。- NordVPN

AI活用時のデータ保護に。VPNで通信を暗号化。



コメント