本文へ移動
cccskills
無料GitHub で公開

subagent-best-practices

Claude Code の SubAgent(agents/*.md)を正しく定義するためのベストプラクティスガイド。YAML frontmatter、ツール選択、3-Phase 構造、コンテキスト受け渡し、アンチパターンを網羅。

Use when: agents/*.md を書く、SubAgent 定義を改善する、エージェントの動作が想定外、 コンテキストが渡らない、ツール選択に迷う。

Triggers: "subagent", "agent definition", "agents/*.md", "エージェント定義", "サブエージェント", "3-Phase", "context passing", "コンテキスト渡し", "tool selection", "ツール選択", "subagent_type", "bypassPermissions"

インストール方法を見る

含まれるファイル(6)

  • SKILL.md11.1 KB
  • references/agent-template.md13.4 KB
  • references/antipatterns.md10.5 KB
  • references/context-patterns.md9.3 KB
  • references/phase-design.md9.7 KB
  • references/tool-selection.md7.2 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

SubAgent Best Practices

Claude Code の agents/*.md ファイルで SubAgent を正しく定義するための実践ガイド。 チーム設計・通信プロトコル・タスク管理は agent-team-guide スキルを参照。 このスキルは「個別 SubAgent の定義品質」に特化している。

SubAgent とは

SubAgent は agents/*.md ファイルで定義された特化型エージェント。

my-skill/
└── agents/
    ├── researcher.md      ← SubAgent 定義
    ├── writer.md
    └── context-manager.md

Claude Code は agents/*.md を自動認識し、subagent_type: "my-skill:researcher" で起動できる。 SubAgent は親のコンテキストを持たない。起動時のプロンプトが唯一の情報源。

subagent_type の種類

値動作
"my-skill:researcher"agents/researcher.md を読んで起動
"general-purpose"agents/*.md を使わず、プロンプトでロールを定義
"Explore"コードベース探索に特化した組み込みタイプ

YAML Frontmatter の書き方

---
name: researcher                    # 必須: kebab-case の識別名
description: >                      # 必須: 役割の1〜3行説明
  Market research specialist.
  Part of the app-naming team.
tools: Read, Grep, Glob, WebSearch, # 推奨: 許可ツールのリスト
       SendMessage, TaskList, TaskGet, TaskUpdate
model: sonnet                       # 推奨: haiku / sonnet / opus / inherit
---

name

  • subagent_type: "my-skill:{name}" の {name} 部分に対応
  • kebab-case 推奨(context-manager, bias-reviewer)
  • SendMessage の送信元名として使われる

description

  • エージェントの役割と所属チームを 1〜3 行で説明
  • subagent_type 指定時のマッチングに使われる
  • 自動委譲を強化する場合は "Use proactively" / "MUST BE USED" を含める
# 自動委譲を意図した description の例
description: >
  Expert code review specialist. Use proactively after writing or modifying code.
  Triggers: "review", "check", "レビュー"

tools の選び方

役割タイプ推奨 tools
調査系Read, Grep, Glob, WebSearch, SendMessage, TaskList, TaskGet, TaskUpdate
執筆系Read, Grep, Glob, Write, Edit, SendMessage, TaskList, TaskGet, TaskUpdate
実行系Read, Grep, Glob, Write, Edit, Bash, SendMessage, TaskList, TaskGet, TaskUpdate
分析系(読み取り専用)Read, Grep, Glob, SendMessage, TaskList, TaskGet, TaskUpdate
コンテキスト管理専任Read, Write, Edit, SendMessage, TaskList, TaskGet, TaskUpdate

全エージェント必須: SendMessage, TaskList, TaskGet, TaskUpdate(チーム通信・タスク管理に必須)

重要制限: MCP ツール(mcp__pencil__* 等)は agents/*.md からアクセスできない。 MCP が必要な場合は subagent_type: "general-purpose" でプロンプト内に役割を定義する。

model の選び方

値モデル適した役割
haikuclaude-haiku-4-5記録・転記・単純ファイル操作(context-manager 等)
sonnetclaude-sonnet-4-6通常の調査・執筆・分析(デフォルト推奨)
opusclaude-opus-4-6複雑な設計判断・最終品質レビュー
inherit親セッションと同じチーム全体で統一モデルを使いたい場合

agents/*.md の本文構造(3-Phase)

全エージェントに 初期化 → フィードバック対応 → 最終化 の3フェーズ構造を持たせる。

### Phase 1: 初期化
1. TaskList → TaskGet(blockedBy確認) → TaskUpdate(in_progress)
2. 初期作業を実行 → 関連エージェントに SendMessage

### Phase 2: フィードバック対応
- 実質的なフィードバックのみ返信(ACK 不要)
- ブロック中でも他エージェントの成果物にフィードバック可

### Phase 3: 最終化
1. TaskUpdate(status: "completed")  ← 先にブロック解除
2. → team-lead: タスク #N 完了。{成果物パス}

## コミュニケーションルール
- ACK 返信不要
- 2人以上から反応があれば次のフェーズに進む(全員を待たない)

各 Phase の詳細実装パターンは references/phase-design.md を参照。


ツール選択クイックリファレンス

許可リスト(tools)vs 禁止リスト(disallowedTools)

# 推奨: tools で許可リストを明示(意図が明確)
tools: Read, Grep, Glob, WebSearch, SendMessage, TaskList, TaskGet, TaskUpdate

# 用途: 一部のツールだけ禁止したい場合
disallowedTools:
  - Bash
  - Write

よくある tools の設定ミス

問題原因対策
WebSearch が使えないtools に未記載調査系には明示的に追加
ファイル書き込みができないWrite/Edit が未記載執筆系には Write, Edit を追加
タスクが見つからないTaskList が未記載全エージェントに必須
他エージェントに通信できないSendMessage が未記載全エージェントに必須
コスト過多全員 opus役割に合わせて haiku/sonnet を使う

詳細は references/tool-selection.md を参照。


コンテキストの渡し方

SubAgent は親のコンテキストを持たない。起動時のプロンプトが唯一の情報源。 以下を全て含めること(省略すると SubAgent が必要な情報を持てない):

Task(
  subagent_type: "my-skill:researcher",
  name: "researcher",
  team_name: "my-skill",
  mode: "bypassPermissions",
  run_in_background: true,
  prompt: """
あなたは my-skill チームの researcher です。

## プロダクト情報           ← ユーザーからヒアリングした全情報(省略厳禁)
アプリ名: MyApp
カテゴリ: フィットネス
ターゲット: 30代男性

## コンテキスト
- ファイルパス: .claude/my-skill/20250222_myapp/
- チームメンバー:
  - architect: セグメント設計担当
  - writer: ペルソナ執筆担当
  - context-manager: ファイル I/O 専任

## 既存コンテキスト(前回セッションがある場合)
{context.md の内容をここに展開}

agents/researcher.md の手順に従って作業を開始してください。
"""
)

よくある「コンテキストが渡らない」バグ

症状原因対策
エージェントがプロダクト情報を知らないプロンプトに含め忘れ全情報を展開する
前回の作業が引き継がれないcontext.md を渡し忘れ既存コンテキストセクションを追加
チームメンバーを知らない構成情報がない全メンバーの名前と役割を記載
ファイルパスを間違えるパスを省略絶対パスで明示

詳細パターンは references/context-patterns.md を参照。


よくあるアンチパターン

問題原因対策
エージェントがタスクを見つけられないowner 未設定TaskUpdate で必ず owner を設定
後続タスクが永遠に待機completed にし忘れPhase 3 に「completed にする」を明記
全員が停滞する全員を待ってから次へ「2人以上から反応があれば次へ」を明記
ACK だけの返信が大量発生「無視禁止」ルールを厳格適用「実質的な返信のみ」に変更
MCP ツールが使えないagents/*.md で定義general-purpose に変更
コンテキストが渡らないプロンプトに情報を含め忘れチェックリストで必須項目を確認
コストが高い全員 opus役割別に haiku/sonnet を使い分ける
エラーがデバッグできないログがないPostToolUse Hook でログを有効化

詳細は references/antipatterns.md を参照。


MCP ツールを使う場合の例外

MCP ツール(mcp__pencil__*, mcp__devin__* 等)は agents/*.md では使えない。

対処法: general-purpose で起動

Task(
  subagent_type: "general-purpose",   # ← agents/*.md を使わない
  team_name: "ui-design",
  name: "designer",
  mode: "bypassPermissions",
  run_in_background: true,
  prompt: """
あなたは designer として ui-design チームのデザイン担当です。

## 役割
mcp__pencil__batch_design を使って UI デザインを実装する。

## 作業手順
1. TaskList で自分のタスク(owner: designer)を確認
2. TaskUpdate で in_progress に変更
...(通常のエージェント手順)
"""
)

general-purpose では全設定(role, tools, model)をプロンプト内で定義する必要がある。


詳細リファレンス

トピック別に分離。必要なファイルだけ Read する:

  • フル実装テンプレート + 役割別実例: references/agent-template.md

    • コピーして使える agents/*.md テンプレート
    • researcher / writer / reviewer / context-manager の実例
    • frontmatter 全フィールド解説
  • ツール選択マトリクス(詳細版): references/tool-selection.md

    • 各ツールの用途・制約
    • MCP 使用時の回避策パターン
    • Bash 使用可否の判断基準
  • コンテキスト渡し・永続化パターン: references/context-patterns.md

    • プロンプト構造テンプレート
    • コンテキストファイル設計(.claude/{skill}/{date}_{project}/)
    • context-manager エージェント専用パターン
    • セッション跨ぎの知識永続化
  • 3-Phase 詳細設計: references/phase-design.md

    • 各 Phase でやるべきこと・やってはいけないこと
    • 早期フィードバックパターン(ブロック中でも貢献)
    • 「待ちすぎない」実装パターン
  • アンチパターン集: references/antipatterns.md

    • 症状 / 原因 / Before / After の形式で 10〜15 件
    • agents/*.md 定義固有の失敗パターン

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

This skill should be used when the user asks to "create a team", "spawn agents", "parallel execution", "delegate tasks to agents", "use a swarm", "team workflow", "split work across agents", "run tasks in parallel", or mentions wanting multiple agents to collaborate on a complex task.

日本語の概要は準備中です。原文の説明を表示しています。

sean-sunagaku/claude-code-plugin382026年7月30日 更新

agent-team-guide

無料日本語概要

Agent Teams スキルを設計・構築するためのベストプラクティスガイド。 サブエージェント定義、SendMessage 通信プロトコル、タスク依存管理、 PostToolUse Hook によるログ、MCP ツール統合、コンテキストファイル設計を網羅。 7つの実績あるチームスキル(app-naming, ui-review, logo-design, persona-creation, skill-creator-team, ui-variations, aso-optimize)から抽出したパターン集。 Use when: Agent Teams を使ったスキルを新規作成したい、 既存のチームスキルの品質を改善したい、エージェント間通信のデバッグ、 チームスキルの設計パターンを知りたい。 Triggers: "agent team", "チームスキル", "エージェントチーム", "サブエージェント定義", "SendMessage パターン", "チーム設計", "エージェント間通信", "team skill", "swarm pattern"

sean-sunagaku/claude-code-plugin382026年7月30日 更新

app-naming

無料日本語概要

アプリ名・サービス名の命名を、5つの専門エージェントチームで多角的に評価・決定するスキル。 ブランディング、商標/法的リスク、デジタルプレゼンス(SEO/ASO/SNS)、国際展開(多言語/発音)の 4観点から候補を提案・調査・議論し、コンテキストファイルと議事録で次回セッションへ引き継ぐ。 Use when: アプリ名を決めたい、サービス名を変更したい、プロダクト名を検討したい、 ネーミングブレスト、名前の商標チェック、アプリ名のリネーム。 Triggers: "アプリ名", "サービス名", "プロダクト名", "ネーミング", "名前を決め", "リネーム", "rename", "app name", "naming", "ブランド名", "商標チェック"

sean-sunagaku/claude-code-plugin382026年7月30日 更新

app-store-preview-movie

無料日本語概要

App Store プレビュー動画を Remotion (React) で生成する Agent Team スキル。 video-director が構成を設計し、script-writer がナレーション台本を作成し、 motion-designer が Remotion コードを実装し、preview-reviewer がコードレビューし、 frame-inspector がレンダリング結果を目視検証する。 Use when: App Store プレビュー動画を作りたい、アプリのプロモーション動画を作りたい、 Remotion で動画を生成したい。 Triggers: "プレビュー動画", "App Store 動画", "アプリ動画", "preview movie", "Remotion", "動画作成", "app preview"

sean-sunagaku/claude-code-plugin382026年7月30日 更新

app-tone-manner

無料日本語概要

アプリのトーン&マナー(トンマナ)を8名のエージェントチームで設計するスキル。 ブランドアーキタイプ・パーソナリティ定義から、カラー・タイポグラフィ・ビジュアルスタイル・ トーン・オブ・ボイスまでを一貫設計し、Pencil (.pen) + Markdown で成果物を出力する。 「デザインテンション」(矛盾ペア)を核に、AIっぽくない独自のブランドアイデンティティを生成する。

sean-sunagaku/claude-code-plugin382026年7月30日 更新

arch-design

無料日本語概要

仕様書・要件定義からソフトウェアアーキテクチャを設計するスキル。 5人の専門エージェント(Architecture Lead・Module Designer・Dependency Analyst・ Platform Expert・Devil's Advocate)が協議しながら、 モジュール分割・依存関係・データフロー・インターフェース設計を行う。 成果物は構造化されたアーキテクチャ設計書(Markdown)。 Use when: 仕様書からどう設計するか迷っている時、モジュール分割の方針を決めたい時、 技術スタックに合ったアーキテクチャパターンを選びたい時、 設計書を作成したい時。 Triggers: "アーキテクチャ設計", "arch design", "仕様書から設計", "モジュール分割", "設計書を作りたい", "アーキテクチャを考えて", "コンポーネント設計", "依存関係を設計", "どう設計する", "design the architecture", "design from spec"

sean-sunagaku/claude-code-plugin382026年7月30日 更新

sean-sunagaku のスキルをすべて見る

このスキルの問題を報告する