subagent-driven-development について
実装計画をタスクに分け、毎回新しいサブエージェントに担当させる開発スキルです。タスクごとに変更を確認・承認するため、作業範囲と進行を管理できます。
主な機能
- 01タスクごとに新しいサブエージェント
- 02計画に沿ったタスク実行
- 03タスク間のレビューと修正
- 04チェックポイントでテストと差分確認
活用シーン
- 01複数タスクの計画に沿った機能実装
- 02次のタスクに進む前の問題発見
- 03サブエージェントの変更範囲の維持
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ bbeierle12/ skill-mcp-claude --skill subagent-driven-developmentインストール後、Claude Code で/subagent-driven-developmentを入力して読み込まれたか確認します。
同梱ファイル_meta.json
詳細
サブエージェント主導の開発
基本原則
タスクごとに新しいコンテキストを使用します。タスク間でレビューします。
各タスクでは、混乱が蓄積していない新しいサブエージェントを使用します。タスク間でレビューします。
仕組み
- 実装計画を読み込みます
- 各タスクについて:
- 新しいサブエージェントを割り当てます
- サブエージェントはそのタスクのみを実装します
- 変更をレビューします
- 承認するか、修正を依頼します
- 次のタスクに進みます
メリット
- クリーンなコンテキスト:各サブエージェントは新しい状態で開始します
- 作業の集中:一度に1つのタスクに取り組みます
- レビューの機会:問題を早期に発見できます
- 進捗の管理:常に主導権を保てます
実行の流れ
ステップ 1:計画を読み込む
Loading plan from: docs/plans/YYYY-MM-DD-feature-name.md
Tasks identified:
1. [ ] Task 1: Description
2. [ ] Task 2: Description
3. [ ] Task 3: Description
Starting with Task 1...
ステップ 2:サブエージェントを割り当てる
各タスクについて、焦点を絞ったプロンプトを作成します:
## Task: [Task Name]
### Context
- Project: [brief description]
- Current branch: [branch name]
- Dependencies: [relevant info]
### Instructions
[Exact instructions from plan]
### Files to Modify
- `path/to/file.ts`
### Test to Write First
[Test code from plan]
### Implementation
[Implementation code from plan]
### Success Criteria
- [ ] Test passes
- [ ] No other tests broken
- [ ] Code follows project style
ステップ 3:変更をレビューする
サブエージェントが完了したら:
## Task 1 Complete
### Changes Made:
- Modified: `path/to/file.ts` (+25/-3)
- Added: `path/to/file.test.ts` (+40)
### Test Results:
✅ All tests passing (47 total)
### Review Checklist:
- [ ] Test covers the requirement
- [ ] Implementation is correct
- [ ] No unnecessary changes
- [ ] Code style matches project
**Approve and continue to Task 2?**
ステップ 4:問題に対処する
レビューで問題が見つかった場合:
## Issues Found in Task 1
1. Test doesn't cover edge case X
2. Missing error handling for Y
**Options:**
A) Request fixes from subagent
B) Fix manually
C) Skip and note for later
Which approach?
サブエージェントのガイドライン
サブエージェントがすべきこと
- 計画に正確に従う
- まずテストを書く
- 変更を最小限にする
- 実施した内容を報告する
サブエージェントがしてはいけないこと
- スコープ外の「改善」を行う
- テストを省略する
- 無関係なコードをリファクタリングする
- 計画を変更する
進捗の追跡
タスクのステータスを管理します:
## Progress: Feature Name
- [x] Task 1: Setup database schema ✅
- [x] Task 2: Create API endpoint ✅
- [ ] Task 3: Add validation (IN PROGRESS)
- [ ] Task 4: Write integration tests
- [ ] Task 5: Update documentation
Current: Task 3 of 5
チェックポイント
各タスクの完了後
- すべてのテストを実行する
- 差分をレビューする
- 承認されたらコミットする
すべてのタスクの完了後
- 統合テストを実行する
- 手動で検証する
- 最終レビューを行う
ロールバック
問題が発生した場合:
# Revert last task
git revert HEAD
# Or reset to checkpoint
git reset --hard <commit-before-task>
コミュニケーションのパターン
開始時
「[feature] を実装するため、サブエージェント主導の開発を使用します。タスクごとに新しいサブエージェントを割り当て、その間にレビューを行います。」
タスク間
「タスク [N] が完了しました。変更内容:[summary]。タスク [N+1] に進む前にレビューしますか?」
完了時
「[N] 個のタスクがすべて完了しました。最終検証を実行します……」
コメント
Markdown 対応