Build This Now
Build This Now
クロード・コードとは何か?Claude Code のインストールClaude Code ネイティブインストーラーClaude Code で最初のプロジェクトを作る
エージェントの基礎Claude Code のバックグラウンドエージェントサブエージェントルーティングClaude Code でのサブエージェント設計Claude Code タスク分散ビルダー・バリデーターエージェントチームClaude Code エージェントチームエージェントチームのコントロールエージェントチームのプロンプトテンプレートエージェントチームのベストプラクティスエージェントチームのワークフローカスタムエージェントエージェントパターン人間らしいエージェント
speedy_devvkoen_salo
Blog/Handbook/Agents/Custom Agents

カスタムエージェント

.claude/commands スラッシュコマンド、.claude/agents の YAML、CLAUDE.md のペルソナで独自の Claude Code スペシャリストを定義します。実例と避けるべき間違いを紹介。

設定をやめて、構築を始めよう。

AIオーケストレーション付きSaaSビルダーテンプレート。

Published Mar 31, 2026Handbook hubAgents index

問題: デフォルトの Claude Code の動作が、チームの実際の作業スタイルと合っていません。社内スタイルを知っているレビュアーが欲しいかもしれません。あるいはインフラに組み込まれたデプロイスペシャリストが必要かもしれません。

すぐに使えるヒント: 最初のスラッシュコマンドは2分もかかりません。これから始めましょう。

mkdir -p .claude/commands

次に .claude/commands/code-review.md を作成します。

Review the recent code changes for quality and security:
 
1. Run git diff to see recent changes
2. Focus on modified files only
 
Review checklist:
 
- Code is readable and well-named
- No duplicated logic
- Proper error handling exists
- No exposed secrets or credentials
- Performance considerations addressed
 
Provide feedback by priority: Critical → Warnings → Suggestions

Claude Code 内から /project:code-review で呼び出せます。

カスタムコマンドがワークフローを変える理由

理解: カスタムスラッシュコマンドは保存された再利用可能なプロンプトです。呼び出すと Claude が中の指示を読み、スペシャリストが仕事を始めます。専門家のコンサルタント、キーひとつで呼び出せます。

「あのプロンプトなんだっけ」問題も解決します。毎セッションで長い指示を再入力する代わりに、ファイルに保存します。ファイルがチームの蓄積された専門知識を持ちます。

カスタムエージェントへの3つのルート:

  1. スラッシュコマンド (.claude/commands/): /project:command-name で手動で起動
  2. エージェント定義 (.claude/agents/): YAML定義のサブエージェントロール。スタンバイ状態を保ち、オーケストレーション中に自律的に生成される
  3. CLAUDE.md の指示: 毎回ロードされ、会話のすべてのターンを形作る常時アクティブな動作

コマンドとエージェントの違い: 2つは異なるジョブを解決します。スラッシュコマンドは既知のワークフローに対してオンデマンドで起動する保存プロンプトです。.claude/agents/ のエントリーは Task ツールが自律的に呼び出せる永続的なサブエージェントを設定します。コマンドはワークベンチに置かれたツールのように感じます。エージェントファイルはすでに出勤しているチームメートのように感じます。

両方が同じスコーピングモデルを共有します。

スコープコマンドエージェント
プロジェクト.claude/commands/.claude/agents/
ユーザー~/.claude/commands/~/.claude/agents/

プロジェクトパス以下のものは git にコミットされチーム全体で共有されます。ユーザーパスはあなたのマシンに留まり、リポジトリをまたいで付いてきます。

関心の分離: 小さなモジュールが大きなモジュールに勝る原則は、プロンプトにも当てはまります。1つのセキュリティチェックリストに絞ったコマンドは、汎用の「このコードをレビューして」よりも多くの問題を発見します。

効果的なカスタムコマンドの作り方

シンプルに始める: 自分の仕事に繰り返し現れる1つの問題を見つけてください。そのコマンドを書きましょう。

.claude/commands/security-audit.md を作成します。

You are a security expert. Scan this codebase for vulnerabilities.
 
Check for:
 
- SQL injection vulnerabilities
- XSS attack vectors
- Authentication bypass issues
- Exposed API keys or secrets
- OWASP Top 10 violations
 
For each finding, provide:
 
1. Vulnerability description
2. Risk level (Critical/High/Medium/Low)
3. Specific fix recommendation
4. Code example of the fix
 
Start by searching for common vulnerability patterns in the codebase.

セキュリティスイープが必要な時はいつでも /project:security-audit を実行します。

動的引数: コマンドは $ARGUMENTS で引数を読めます。

.claude/commands/review-file.md を作成します。

Review this specific file for issues: $ARGUMENTS
 
Focus on: code quality, potential bugs, security concerns.

/project:review-file src/auth/login.ts で呼び出します。

CLAUDE.md: 常時アクティブなエージェント動作

すべてのセッションで有効にしたいルールは、プロジェクトの CLAUDE.md に追加します。

## Code Review Standards
 
When reviewing code, always check:
 
- All functions have error handling
- No console.log statements in production code
- API endpoints validate input parameters
- Database queries use parameterized statements
 
## Commit Message Format
 
Use conventional commits: type(scope): description
Types: feat, fix, docs, refactor, test, chore

何も呼び出す必要はありません。Claude はセッション開始時に CLAUDE.md を読み込み、その後のすべてのターンにルールを適用します。

プロジェクトとユーザーのコマンド:

  • .claude/commands/ — git にコミットされチーム全体で共有
  • ~/.claude/commands/ — あなたのマシンだけのプライベート

.claude/agents/ による永続的なサブエージェント定義

オーケストレーターが自律的に生成すべきサブエージェントは .claude/agents/ 以下に置きます。各ファイルは先頭に YAML ブロックを持つ Markdown です。アイデンティティ、機能、指示がすべてそのブロックに収まります。

スラッシュコマンドがキーストロークを待つのとは異なり、これらの定義はスタンバイ状態を保ちます。Task ツールはオーケストレーション中にそれらを認識します。Claude がタスクにスペシャリストが必要と判断した瞬間、コンテキストと制約が設定済みの状態で適切なエージェントを生成します。

YAML フロントマターの構文

.claude/agents/ 以下のすべてのファイルは Claude にエージェントの動作を伝える YAML ヘッダーで始まります。フィールドリファレンス:

---
# Required
name: "security-auditor" # Agent identity (used in Task invocations)
 
# Optional
model: "claude-sonnet-4-5" # Override the default model
allowedTools: # Restrict which tools this agent can use
  - Read
  - Grep
  - Bash
description: "Scans code for vulnerabilities and OWASP violations"
---

YAML ブロック以下はすべてプレーンな Markdown で、エージェントが実行するシステムプロンプトを持ちます。構造的にはスラッシュコマンドと同じです。本当の違いは、オーケストレーターがこのファイルを自律的に認識し、手動呼び出しなしにエージェントを生成できることです。

実践的な例

コミット前の品質ゲートに特化したエージェントの具体例です。ファイルは .claude/agents/quality-engineer に置きます。

---
name: "quality-engineer"
allowedTools: ["Read", "Grep", "Bash"]
description: "Validates code against project standards before commits"
---
 
You are a quality engineer. Your job is to validate, never to modify.
 
## Validation Protocol
 
1. Read the files that changed (use git diff --name-only)
2. For each file, check:
   - Imports resolve correctly (grep for the import targets)
   - No console.log/print statements left in production code
   - Functions under 50 lines
   - All exported functions have JSDoc or docstring
3. Run the test suite: `npm test -- --bail`
4. Report pass/fail with specific line numbers for failures
 
Never edit files. Never suggest fixes. Only report what you find.

オーケストレーターがバリデーションタスクを発見すると、この定義が自動的に選ばれます。allowedTools が Edit と Write を除外しているため、エージェントは物理的にコードベースに触ることができません。検査だけが唯一の選択肢です。この制限こそがパターンを成立させる理由です。

このフォルダ内のファイルも入力時に CLAUDE.md を読み込むため、プロジェクトの規約やコーディング標準が追加の配線なしに引き継がれます。

サブエージェントの動作の詳細、並列実行、Ctrl+B によるバックグラウンド化、呼び出し品質については、エージェントの基本ガイドで詳しく説明しています。

よく使うコマンドの例

データベースオプティマイザー (.claude/commands/db-optimize.md):

You are a database performance expert.
 
Analyze the database queries in this codebase:
 
1. Find slow or inefficient queries
2. Check for missing indexes
3. Review schema design
 
For each issue, provide:
 
- The problematic query or schema
- Why it's a problem
- Optimized version with explanation

ドキュメントライター (.claude/commands/write-docs.md):

Write documentation for: $ARGUMENTS
 
Include:
 
- Purpose and overview
- Setup instructions
- Usage examples
- Common troubleshooting
 
Target audience: developers new to this project.
Write in clear, concise language.

カスタムエージェント構築でよくある間違い

表面上、カスタムエージェントは何でもないように見えます。スコープを誤ると代償はトークンの無駄遣いと不安定な結果です。

間違い1: スコープが広すぎる。 「このコードベース全体の問題をスキャンして」と言われたエージェントは、全体にわたって薄い観察を返します。同じエージェントを SQL インジェクションに向け、データベース関連のファイルに制限すると、実際のバグを発見します。スコープを絞り込み、掘り下げを深める。

間違い2: 出力フォーマットが曖昧。 レポートの形を開放的にすると、実行ごとにブレます。あるパスでは箇条書き、次は散文。各発見について次の情報を提供せよ: ファイルパス、行番号、深刻度、1行での修正 のように明確に固定する。

間違い3: レビュアーへの書き込みアクセス。 エージェントの仕事が検査なら、allowedTools を Read、Grep、Bash に固定してください。レビュアーに Edit を与えた瞬間、コードを報告する代わりに修正するようになります。これはバリデーターを分離した理由を消し去ります。

間違い4: CLAUDE.md のルールをコマンド内で繰り返す。 コマンドが実行される時点で CLAUDE.md はすでにロードされています。コマンドファイル内でそれらのルールを再記述するのはコンテキストトークンを食うだけです。コマンドは動作を絞り込むものであり、共通のベースラインを再述するものではありません。「パラメータ化クエリを使用する」が CLAUDE.md にあるなら、データベースコマンドにその行は不要です。

どのアプローチをいつ使うか

スラッシュコマンド、エージェントファイル、スキル、CLAUDE.md の選択は2つのことに帰着します。動作のトリガーが何か、どれくらい持続すべきか。

シナリオ最適なアプローチ理由
同じレビューワークフローを週3回実行するスラッシュコマンド手動トリガー、再利用可能、git で共有可能
オーケストレーション中に Claude がスペシャリストを自動生成すべき.claude/agents/ 定義自動トリガー、永続的なアイデンティティ
全セッションで特定のルールに従わせたいCLAUDE.md常時ロード、手動呼び出し不要
複雑なドメインワークフローを持つ (決済、デプロイ)スキルオンデマンドでロード、コンテキストをリーンに保つ
素早い1回限りの視点が必要直接プロンプティングセットアップ不要、即座、使い捨て

実用的な境界はこうです。3回以上入力した詳細なプロンプトは、スラッシュコマンドとして保存すべきです。オーケストレーターが自律的に呼び出すべきスペシャリストは .claude/agents/ に置きます。それ以外はすべて CLAUDE.md に普遍的な動作として、またはドメイン知識を遅延ロードするスキルとして置きます。スキルガイドがその最後のルートを詳しく説明しています。

特定ロールへのプロンプティング

保存ファイルが常に必要なわけではありません。時に直接プロンプトで十分です。

Act as a senior security engineer. Review the authentication
flow in src/auth/ for vulnerabilities. Be thorough and paranoid.

1回限りには十分です。2回入力したと気づいた瞬間、保存コマンドに昇格させましょう。

次のアクション

最初のスペシャリストを構築する時です。今日最も大きな痛みを持つポイントを選んでください。

  • コード品質: エージェントの基本ガイドを参考にして、社内ルールをレビュアーコマンドに変換する
  • セキュリティフォーカス: サブエージェント設計のノートを基に脆弱性スキャナーを書く
  • チームワークフロー: タスク配布プレイブックを使って協働パターンを設計する

保存コマンドは使えば使うほど価値が積み重なります。リポジトリにプッシュしてください。チームに共有してください。チームが実際にコードを出荷する方法を捉えたライブラリを育てていきましょう。

Continue in Agents

  • エージェントの基礎
    Claude Codeでスペシャリストエージェントを構築する5つの方法:タスクサブエージェント、.claude/agents YAML、カスタムスラッシュコマンド、CLAUDE.mdペルソナ、パースペクティブプロンプト。
  • エージェントパターン
    オーケストレーター、ファンアウト、バリデーションチェーン、スペシャリストルーティング、プログレッシブリファインメント、ウォッチドッグ。Claude Code のサブエージェントを組み合わせる6つのオーケストレーション形状。
  • エージェントチームのベストプラクティス
    Claude Code エージェントチームの実証済みパターン。コンテキストが豊富なスポーンプロンプト、適切なサイズのタスク、ファイルオーナーシップ、デリゲートモード、v2.1.33〜v2.1.45 の修正内容。
  • エージェントチームのコントロール
    デリゲートモード、表示モード、プラン承認、ファイル境界、CLAUDE.md ルールを設定して、Claude Code のチームリードがコーディングではなくコーディネートに専念できるようにします。
  • エージェントチームのプロンプトテンプレート
    Claude Code 向けのテスト済みエージェントチームプロンプト10選。並列コードレビュー、デバッグ、機能ビルド、アーキテクチャ判断、キャンペーンリサーチ。コピー&ペーストで使えます。
  • エージェントチームのワークフロー
    Claude Code エージェントチームの 7 ステップワークフロー。ブレインダンプ、Q&A、構造化プラン、フレッシュコンテキスト、コントラクトチェーン、ウェーブ実行、そしてリリース前の検証。

More from Handbook

  • Claude Code ベストプラクティス
    Claude Codeで成果を出すエンジニアを分ける5つの習慣: PRD、モジュラーなCLAUDE.mdのルール、カスタムスラッシュコマンド、/clearリセット、そしてシステム進化の思考法。
  • Claude Code オートモード
    2つ目の Sonnet モデルが、Claude Code のすべてのツール呼び出しを実行前に審査します。オートモードがブロックするもの・許可するもの、そして settings.json に追加される許可ルールについて解説します。
  • Claude Code Channels
    プラグイン MCPサーバーを使って Claude Code を Telegram、Discord、iMessage に接続する方法。セットアップの手順と、接続する価値のある非同期モバイルワークフローを解説します。
  • Claude Opus 4.7 ベストプラクティス
    Claude Code で Claude Opus 4.7 を最大限に活用する: 最初のターン、effort設定、アダプティブシンキング、ツールプロンプト、サブエージェント、セッションリセット、トークン管理。

設定をやめて、構築を始めよう。

AIオーケストレーション付きSaaSビルダーテンプレート。

エージェントチームのワークフロー

Claude Code エージェントチームの 7 ステップワークフロー。ブレインダンプ、Q&A、構造化プラン、フレッシュコンテキスト、コントラクトチェーン、ウェーブ実行、そしてリリース前の検証。

エージェントパターン

オーケストレーター、ファンアウト、バリデーションチェーン、スペシャリストルーティング、プログレッシブリファインメント、ウォッチドッグ。Claude Code のサブエージェントを組み合わせる6つのオーケストレーション形状。

On this page

カスタムコマンドがワークフローを変える理由
効果的なカスタムコマンドの作り方
CLAUDE.md: 常時アクティブなエージェント動作
.claude/agents/ による永続的なサブエージェント定義
YAML フロントマターの構文
実践的な例
よく使うコマンドの例
カスタムエージェント構築でよくある間違い
どのアプローチをいつ使うか
特定ロールへのプロンプティング
次のアクション

設定をやめて、構築を始めよう。

AIオーケストレーション付きSaaSビルダーテンプレート。