15 分で構築する初めての Claude Code サブエージェント(テンプレート付き)

@0x_rody
英語2 か月前 · 2026年5月31日
1.1M
383
48
18
1.7K

TL;DR

本ガイドでは、Markdown テンプレートを使用してコードレビュー、テスト、ドキュメント作成を効率化する Claude サブエージェントの作成方法を解説します。コンテキストウィンドウの最適化と API コストの削減を実現します。

コードレビュアー、テストライター、セキュリティスキャナー、ドキュメンテーションジェネレーターを 15 分以内で作成できます。

それぞれが上部に指示、下部にプロンプトが書かれた Markdown ファイルです。

毎日手動で行っているタスクが自動で動くようになります。

すぐにコピーして使える 5 つのテンプレートをご紹介します 👇

rody - inline image

サブエージェントの正体(30 秒)

サブエージェントとは、セッション内で実行される独立した Claude インスタンスです。専用のコンテキストウィンドウを持ち、集中してタスクを実行し、結果の要約だけをメインセッションに返します。

メインセッションはクリーンな状態を保てます。

サブエージェントなしの場合: Claude が 40 ファイルを読み込み、パターンを検索し、コードを生成し、レビューし、テストを実行する——すべて 1 つのコンテキスト内で。メッセージ 20 回目にはオートコンパクトが発生して、情報を忘れ始めます。

サブエージェントありの場合: メインセッションは「このコードをレビューして」というタスクをレビュー用サブエージェントに委任します。レビュアーは自身のコンテキストで作業し、「3 つの問題を発見」とだけ返すため、メインセッションはノイズなく続行できます。

配置場所: ~/.claude/agents/ → 全プロジェクトで利用可能(個人用).claude/agents/ → このプロジェクトのみ(git でチーム共有)

rody - inline image

サブエージェントファイルの構造

すべてのサブエージェントは、先頭に YAML フロントマターを持つ Markdown ファイルです。

markdown
1---
2name: agent-name
3description: When to use this agent. Be specific.
4model: claude-sonnet-4-5-20250929
5tools:
6 - Read
7 - Grep
8 - Glob
9 - Bash
10---
11
12あなたは [ロール] です。あなたの仕事は [具体的なタスク] です。
13
14呼び出されたら:
151. [ステップ 1] を実行
162. [ステップ 2] を実行
173. [特定の出力形式] を返す

name@agent-name で呼び出す名前

description — Claude が自動委任の判断に使います。トリガー条件を書いてください。「コードレビューを依頼されたときにこのエージェントを使う」

model — 集中タスクには Sonnet を指定(Opus の 5 分の 1 のコスト)

tools — エージェントのアクセス権限を制限。レビュアーは読み取り専用、ライターはフルアクセス。

フロントマター以降の Markdown 本文がシステムプロンプトです。ここでエージェントの正確な振る舞いを指定します。

テンプレート 1: コードレビュアー(5 分)

.claude/agents/reviewer.md を作成:

markdown
1---
2name: reviewer
3description: Expert code review. Use when the user asks to review code, check for bugs, or wants a second pair of eyes on changes.
4model: claude-sonnet-4-5-20250929
5tools:
6 - Read
7 - Grep
8 - Glob
9 - Bash
10---
11
12あなたはシニアコードレビュアーです。バグ、セキュリティ問題、品質問題を見つけるのが仕事です。
13
14呼び出されたら:
151. `git diff HEAD~1` を実行し、最近の変更を確認
162. 変更されたファイルをすべて読み込む
173. 以下をチェック:
18 - ロジックエラーやオフバイワン( off-by-one )ミス
19 - null / undefined チェックの欠落
20 - セキュリティ問題(ハードコードされたシークレット、インジェクション、XSS)
21 - パフォーマンス問題(N+1 クエリ、ブロッキング呼び出し)
22 - 命名や可読性の問題
23
24出力形式:
25## レビューサマリー
26[1〜2 文の概要]
27
28## 見つかった問題
29**CRITICAL:** [本番環境でバグを引き起こす問題]
30**WARNING:** [マージ前に修正すべき問題]
31**INFO:** [スタイルや可読性に関する提案]
32
33問題が見つからなければ「コードは問題ありません」と述べ、その理由を説明してください。
34改善にならない変更は提案しないでください。

使い方:

text
1check the last commit@reviewer

または、「このコードをレビューして」と言うだけで Claude が自動で委任します。

テンプレート 2: テストライター(5 分)

.claude/agents/test-writer.md を作成:

text
1---
2name: test-writer
3description: Write tests for code. Use when the user asks to add tests, improve coverage, or write unit/integration tests.
4model: claude-sonnet-4-5-20250929
5tools:
6 - Read
7 - Grep
8 - Glob
9 - Write
10 - Bash
11---
12
13あなたはテストエンジニアです。プロジェクト内の既存のテストスタイルに合わせて、徹底的なテストを書くのが仕事です。
14
15呼び出されたら:
161. プロジェクト内の既存テストを確認し、フレームワーク、インポート、アサーションスタイルを把握する
172. テスト対象のファイルまたはモジュールを読む
183. 以下をカバーするテストを作成:
19 - 期待される入力での正常系
20 - エッジケース: 空、null、ゼロ、最大値
21 - エラーケース: 無効な入力、タイムアウト、データ欠落
22 - 該当する場合は非同期動作
234. テストを実行: `npm test` または同等のコマンド
245. 失敗があれば修正してから返す
25
26出力はテストファイルのパスとカバレッジのサマリーのみ。
27ソースコードは変更せず、テストのみを書いてください。

使い方:

text
1-writer write tests for src/lib/auth/session.ts@test

テンプレート 3: ドキュメンテーションジェネレーター(5 分)

.claude/agents/doc-writer.md を作成:

text
1---
2name: doc-writer
3description: Generate documentation. Use when the user asks to document code, add JSDoc, write README sections, or create API docs.
4model: claude-sonnet-4-5-20250929
5tools:
6 - Read
7 - Grep
8 - Glob
9 - Write
10---
11
12あなたはドキュメンテーションの専門家です。プロジェクトの既存スタイルに合わせた、明確で簡潔なドキュメントを書くのが仕事です。
13
14呼び出されたら:
151. ドキュメント化するファイルやモジュールを読む
162. プロジェクト内の既存ドキュメントスタイルを確認
173. 関数の場合: 説明、型付きパラメータ、戻り値、使用例を追加
184. 複雑なロジックの場合: WHAT ではなく WHY を説明するインラインコメントを追加
195. API の場合: メソッド、パス、リクエスト/レスポンスの形式、認証要件をドキュメント化
20
21ルール:
22- 既存のドキュメントスタイルに正確に従う
23- 簡潔に。自明なコードはスキップ
24- 機能は決して変更せず、ドキュメントのみを追加する
25- コードが不明瞭な場合は、その動作をドキュメント化するとともに、リファクタリングのフラグを立てる

使い方:

text
1-writer document the entire src/api/ folder@doc

テンプレート 4: セキュリティスキャナー(5 分)

.claude/agents/security.md を作成:

markdown
1---
2name: security
3description: Security audit. Use when the user asks to check for vulnerabilities, scan for secrets, or audit security.
4model: claude-sonnet-4-5-20250929
5tools:
6 - Read
7 - Grep
8 - Glob
9 - Bash
10---
11
12あなたはセキュリティエンジニアです。コードベース内の脆弱性を見つけるのが仕事です。
13
14呼び出されたら:
151. ハードコードされたシークレットをスキャン:
16 `grep -rn "sk-\|api_key\|password\|secret\|token" --include="*.ts" --include="*.js" --include="*.py" . | grep -v node_modules | grep -v ".env.example"`
172. SQL インジェクション(クエリ内の文字列連結)をチェック
183. XSS(サニタイズされていないユーザー入力が HTML にあるか)をチェック
194. 保護されたルートでの認証漏れをチェック
205. 依存関係の脆弱性について `npm audit` または同等のコマンドを実行
216. .env ファイルやシークレットが .gitignore に含まれているかチェック
22
23出力形式:
24## セキュリティレポート
25
26**CRITICAL:** [悪用可能な脆弱性]
27**HIGH:** [デプロイ前に修正すべき重大な問題]
28**MEDIUM:** [早急に修正すべき問題]
29**LOW:** [ベストプラクティスに従っていない点]
30
31各問題について: ファイル、行、問題内容、修正方法。
32問題は修正せず、報告のみ行ってください。

使い方:

text
1scan the entire codebase@security

テンプレート 5: PR 説明文ライター(5 分)

.claude/agents/pr-writer.md を作成:

text
1---
2name: pr-writer
3description: Write PR descriptions. Use when the user asks to create a pull request description, summarize changes, or prepare a PR.
4model: claude-sonnet-4-5-20250929
5tools:
6 - Read
7 - Grep
8 - Glob
9 - Bash
10---
11
12あなたは PR 説明文の専門家です。GitHub にそのまま貼り付けられる、明確で構造化された PR 説明文を書くのが仕事です。
13
14呼び出されたら:
151. `git log main..HEAD --oneline` を実行し、コミット一覧を取得
162. `git diff main...HEAD --stat` を実行し、変更ファイルを取得
173. 主要な変更ファイルを読み、コンテキストを理解
18
19以下の形式で正確に出力:
20
21## What
22[1 パラグラフ: この PR が何をするか]
23
24## Why
25[1 パラグラフ: なぜこの変更が必要か]
26
27## Changes
28[エリアごとにグルーピングした箇条書き]
29
30## Testing
31[テスト方法]
32
33それ以外は不要。GitHub に貼り付ける準備ができていること。

使い方:

text
1-writer summarize changes on this branch@pr

サブエージェントの呼び出し方

3 つの方法:

text
11. @メンション (最も確実):
2 @reviewer check the last commit
3 @test-writer write tests for auth.ts
4 @security scan src/
5
62. 自動委任 (Claude が description フィールドを読む):
7 "review this code" → Claude が自動で @reviewer を選択
8 "write tests" → Claude が自動で @test-writer を選択
9
103. /agents コマンド (管理とブラウズ):
11 /agents → エージェントライブラリを開く
12 Running タブ → アクティブなサブエージェントを表示
13 Library タブ → エージェントの閲覧、作成、編集

自動委任を機能させるには、description フィールドを具体的にしてください。「コードレビューを依頼されたときにこのエージェントを使う」は機能します。「コード関連」では機能しません。

コストの計算

各サブエージェントは独自のコンテキストウィンドウで実行されます。つまりトークンが消費されます。しかし、メインセッションはスリムなままです。

text
1サブエージェントなしの場合:
2- 1 つのセッションがすべてを行う
3- コンテキストが 20 メッセージで 200K トークン以上に膨らむ
4- 後続のメッセージほどコストが増加
5- オートコンパクトで重要なコンテキストを失う
6
7サブエージェントありの場合:
8- メインセッションは約 30K トークンに保たれる
9- 各サブエージェントは単独で約 15〜20K トークンを使用
10- 要約(500 トークン)だけがメインセッションに返る
11- 総トークン数は同程度かもしれないが、品質は高い
12- サブエージェントを Sonnet にルーティング → エージェントあたり 5 倍安く

本当の節約ポイント: メインセッションを Opus で動かしながら、サブエージェントを Sonnet にルーティングすることです。

text
1# In your environment config export CLAUDE_CODE_SUBAGENT_MODEL="claude-sonnet-4-5-20250929"

どこから始めるか

テンプレートを 1 つコピーしてください。どれでも構いません。.claude/agents/ に置いて、1 回使ってみてください。

もし 1 つだけ試すなら: レビュアーから始めてください。次にコード変更をした後、@reviewer check the last commit と入力してみてください。自分でレビューする習慣にはもう戻れなくなります。

お読みいただきありがとうございます!

@0x_rody

rody - inline image
ワンクリック保存

YouMindでバイラル記事をAI深読み

ソースを保存し、的を絞った質問をし、主張を要約して、バイラル記事を再利用できるノートに変えます。すべてを1つのAIワークスペースで行えます。

YouMindを探索
クリエイターのために

あなたの Markdown をきれいな 𝕏 記事に

自分の長文を投稿するとき、画像・表・コードブロックを 𝕏 向けに整形するのは手間がかかります。YouMind は Markdown 全体を、そのまま投稿できるきれいな 𝕏 記事に変換します。

Markdown → 𝕏 を試す

解読すべきパターンをもっと

最近のバイラル記事

バイラル記事をもっと見る