subagent-driven-development について
subagent-driven-development は、開発タスクを分離されたサブエージェントに委任する Agent Skills のスキルです。統括エージェントが各タスクの仕様を定め、受け入れ前に仕様適合性とコード品質を個別に審査します。
主な機能
- 01作業を独立したサブタスクに分解
- 02新しいサブエージェントにタスクを委任
- 03git worktree で作業を分離
- 04仕様への適合性を審査
- 05マージ前にコード品質を確認
活用シーン
- 01独立したモジュールを並行開発
- 02長い会話での開発タスクに対応
- 03変更に一貫した品質基準を適用
- 04複雑な実装案を分離して試行
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ itallstartedwithaidea/ agent-skills --skill subagent-driven-developmentインストール後、Claude Code で/subagent-driven-developmentを入力して読み込まれたか確認します。
詳細
サブエージェント駆動開発
googleadsagent.ai™ による Agent Skills™ の一部です
説明
サブエージェント駆動開発では、個々のタスクを新しいサブエージェントに割り当て、クリーンなコンテキストウィンドウで作業させた後、マージ前に2段階のレビューを実施します。調整役のエージェントが作業を細かな単位に分割し、それぞれに明確な仕様を書き、互いのコンテキストを汚染したり、古い前提を引き継いだりできない独立したサブエージェントを起動します。
コンテキストウィンドウの汚染は、エージェントのコード品質を静かに損なう要因です。会話が長くなるにつれて、初期の指示が薄れ、変数名が曖昧になり、エージェントがすでにリファクタリングされたコードを参照し始めることがあります。各タスクに新しいサブエージェントを割り当てることで、関連する仕様と参照ファイルだけを使い、毎回まっさらな状態から実装を開始できます。その結果、セッションの長さにかかわらず、一貫して高品質な出力が得られます。
2段階のレビューでは、異なる抽象度で欠陥を検出します。ステージ1では仕様への準拠を確認します。つまり、出力が依頼されたとおりに動作するかを検証します。ステージ2ではコード品質を評価します。つまり、構成が適切で、テスト済みであり、保守しやすいかを確認します。両方の関門を通過したコードだけがコードベースに受け入れられます。
使用する場面
- タスクを3つ以上の独立したサブタスクに分割できる場合
- 会話のコンテキストが大きくなり、一貫性が失われるリスクがある場合
- 複数のファイルやモジュールを並行して変更する必要がある場合
- 複雑な実装で、複数回試行した中から最良の結果を選びたい場合
- すべての出力に対して品質ゲートを一貫して適用する必要がある場合
- ユーザーが並行実行または分離されたタスク実行を求めている場合
仕組み
graph TD
A[Orchestrator: Decompose Task] --> B[Write Spec for Subtask 1]
A --> C[Write Spec for Subtask 2]
A --> D[Write Spec for Subtask N]
B --> E[Spawn Subagent 1]
C --> F[Spawn Subagent 2]
D --> G[Spawn Subagent N]
E --> H[Stage 1: Spec Compliance Review]
F --> H
G --> H
H --> I{Passes?}
I -->|No| J[Return to Subagent with Feedback]
J --> H
I -->|Yes| K[Stage 2: Code Quality Review]
K --> L{Passes?}
L -->|No| J
L -->|Yes| M[Merge to Main Branch]
オーケストレーターが実装コードを直接書くことはありません。その役割は、作業の分割、仕様の作成、割り当て、レビューです。各サブエージェントは独立した git worktree で動作するため、並行する実装間の競合を防げます。
実装
orchestrator:
decompose:
- analyze_task_for_independent_subtasks
- ensure_each_subtask_has: [clear_input, clear_output, testable_criteria]
- max_subtask_size: "completable_in_one_session"
spec_template: |
## Subtask: {name}
**Input**: {files_to_read}
**Output**: {files_to_create_or_modify}
**Acceptance Criteria**:
- {criterion_1}
- {criterion_2}
**Constraints**: {architectural_boundaries}
**Tests**: {required_test_cases}
dispatch:
method: "fresh_subagent_per_task"
isolation: "git_worktree"
context: "spec_only" # No conversation history
review_stage_1_spec_compliance:
checks:
- all_acceptance_criteria_met
- all_required_tests_present_and_passing
- output_files_match_specification
- no_unspecified_side_effects
review_stage_2_code_quality:
checks:
- no_linter_errors
- no_type_errors
- naming_conventions_followed
- no_dead_code_or_debug_artifacts
- error_handling_present
- documentation_for_public_apis
merge:
strategy: "squash_per_subtask"
commit_message: "feat({subtask_name}): {one_line_summary}"
ベストプラクティス
- サブタスクの仕様は自己完結させます。サブエージェントが仕様以外のコンテキストを必要としないようにします
- すべての仕様にファイルパスと関連する型シグネチャを含めます
- コードが一見「正しく」見えても、両方のレビュー段階を実施します
- オーケストレーターにエスカレーションする前のサブエージェントの再試行回数は2回までにします
- 並行するサブエージェント間でファイルシステムを真に分離するには、git worktree を使用します
- クリーンなコミット履歴を保つため、各サブタスクを squash merge します
プラットフォームの対応状況
| プラットフォーム | 対応状況 | 備考 |
|---|---|---|
| Cursor | 完全対応 | サブエージェントの割り当てにネイティブの Task ツールを使用 |
| VS Code | 部分対応 | サブプロセスの手動管理が必要 |
| Windsurf | 完全対応 | Cascade がサブエージェントの起動に対応 |
| Claude Code | 完全対応 | サブエージェントを標準サポート |
| Cline | 部分対応 | プラグインベースのサブエージェントサポート |
| aider | 限定的 | ネイティブのサブエージェント機能なし |
関連スキル
- Git Worktrees - サブエージェント同士が互いの変更を上書きするのを防ぐ、分離されたファイルシステムのワークスペース
- Writing Plans - サブエージェントが実行するサブタスク仕様を作成するための計画作成
- Code Review - マージ前にサブエージェントの出力を検証する2段階のレビュー
- Sandbox Hardening - サブエージェントの権限とリソース使用を制限する実行環境の分離
キーワード
subagent task-decomposition parallel-development two-stage-review context-isolation orchestrator spec-driven fresh-context
© 2026 googleadsagent.ai™ | Agent Skills™ | MIT License