← 2026-05-04
Claude Code Official 2026-05-04 Source →

Claude Code Tips — スキルとサブエージェントの使い分け完全ガイド(2026年版)

Claude Code Tips — スキルとサブエージェントの使い分け完全ガイド(2026年版)

Claude Code には「繰り返し作業を自動化する」仕組みが複数ある。スキル(Skills)、サブエージェント(Subagents)、フック(Hooks)、MCP サーバー — どれをいつ使うべきかが分かりにくい。公式ドキュメントの解説を元に、実践的な使い分けガイドとしてまとめた。


4つの仕組みの使い分け早見表

仕組み いつ使うか 確実性
CLAUDE.md プロジェクト全体に常時適用する知識・規約 アドバイス(無視される可能性あり)
スキル ドメイン知識や手順を Claude に教えたい時(ただし常時は不要) Claude が判断して適用
フック 毎回必ず実行すべきアクション(例: 保存後に Lint) 確定実行
サブエージェント メインのコンテキストを使わせたくない調査・専門タスク 独立したコンテキスト

スキルの作り方と使い方

スキルは .claude/skills/ 以下に作る小さなフォルダだ。Claude はスキルの description を読んで、関連するタスクの時に自動で読み込む。直接 /スキル名 で呼び出すこともできる。

ドメイン知識スキルの例

# .claude/skills/api-conventions/SKILL.md
---
name: api-conventions
description: 社内 REST API の設計規約(エンドポイント命名、ページネーション等)
---
# API 設計規約
- URL パスはケバブケース(kebab-case)
- JSON プロパティはキャメルケース(camelCase)
- リスト系エンドポイントには必ずページネーションを実装
- バージョニングは URL パスで行う(/v1/, /v2/)

API を実装する作業をするとき、Claude がこのスキルを自動的に読み込んで規約に沿ったコードを書いてくれる。

手順ワークフロースキルの例

繰り返す手順を「スキル」として定義しておけば、毎回同じプロンプトを打たなくて済む:

# .claude/skills/fix-issue/SKILL.md
---
name: fix-issue
description: GitHub Issue を解析・修正・PR 作成まで行う
disable-model-invocation: true
---
GitHub の Issue を分析して修正する: $ARGUMENTS

1. `gh issue view` で Issue の詳細を確認
2. 問題を理解してコードベースの関連ファイルを調査
3. 修正を実装
4. テストを書いて実行、パスすることを確認
5. Lint と型チェックを通す
6. わかりやすいコミットメッセージでコミット
7. PR を作成

使い方:

/fix-issue 1234   # Issue #1234 を修正する

disable-model-invocation: true を設定しておくと、Claude が「このスキルが使えそう」と自動判断して勝手に実行するのを防ぎ、明示的に呼んだときだけ動く。副作用のある操作(PR 作成など)には必須の設定だ。


サブエージェントの作り方と使い方

サブエージェントは .claude/agents/ 以下に置く Markdown ファイルで定義する。ツールセットとシステムプロンプトを持つ「専門家エージェント」だ。

セキュリティレビューサブエージェントの例

# .claude/agents/security-reviewer.md
---
name: security-reviewer
description: コードのセキュリティ脆弱性をレビューする
tools: Read, Grep, Glob, Bash
model: opus
---
あなたはシニアセキュリティエンジニアです。以下の観点でコードをレビューしてください:
- インジェクション脆弱性(SQL、XSS、コマンドインジェクション)
- 認証・認可の欠陥
- コード内のシークレットや認証情報
- 安全でないデータ処理

具体的な行番号と修正案を提示してください。

使い方:

セキュリティレビューサブエージェントを使ってこのコードをレビューして

ポイントは model: opus を指定することで、セキュリティレビューという高精度が求められるタスクには Opus を使い、メインの作業は Sonnet で進めるという使い分けができる。


フックを使うべき場面

フックは「必ず実行させたい」場合に使う。CLAUDE.md に「ESLint を実行して」と書いても Claude が忘れることがある。フックなら確実に実行される。

Claude 自身にフックを書かせることができる:

ファイルを編集するたびに ESLint を走らせるフックを書いて
migrations フォルダへの書き込みをブロックするフックを書いて

フックの設定は .claude/settings.json を直接編集するか、/hooks コマンドで確認・管理できる。


よくある組み合わせ例

コードレビューフロー

1. Write: 実装を依頼
2. Hook: PostToolUse でフォーマッタ自動実行
3. Subagent: `/ultrareview` で並列クラウドレビュー
4. Skill: `/fix-issue` で指摘事項を反映

新機能開発フロー

1. AskUserQuestion で仕様インタビュー → SPEC.md に保存
2. 新セッションで実装(SPEC.md を参照)
3. テスト先行サブエージェントでテストを先に書く
4. Writer セッションでテストを通す実装
5. security-reviewer サブエージェントでセキュリティチェック

まとめ:選択の基準

「毎回確実に実行されなければならない」 → フック

「このプロジェクトでは常に知っておいてほしいこと」 → CLAUDE.md

「特定のドメイン知識や手順を必要に応じて使わせたい」 → スキル

「専門家視点でのレビューや、メインコンテキストを汚したくない調査」 → サブエージェント

これらを組み合わせることで、「Claude に毎回同じことを教える」という作業から解放される。設定への初期投資が必要だが、繰り返し使うプロジェクトでは確実に元が取れる。

ソース: Best practices for Claude Code