create-ai-project 1.11.2 → 1.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents-en/acceptance-test-generator.md +13 -13
- package/.claude/agents-en/code-reviewer.md +8 -10
- package/.claude/agents-en/design-sync.md +6 -5
- package/.claude/agents-en/document-reviewer.md +8 -7
- package/.claude/agents-en/integration-test-reviewer.md +5 -4
- package/.claude/agents-en/prd-creator.md +7 -6
- package/.claude/agents-en/quality-fixer-frontend.md +3 -14
- package/.claude/agents-en/quality-fixer.md +9 -20
- package/.claude/agents-en/requirement-analyzer.md +8 -7
- package/.claude/agents-en/rule-advisor.md +57 -128
- package/.claude/agents-en/task-decomposer.md +4 -10
- package/.claude/agents-en/task-executor-frontend.md +4 -16
- package/.claude/agents-en/task-executor.md +5 -16
- package/.claude/agents-en/technical-designer-frontend.md +17 -15
- package/.claude/agents-en/technical-designer.md +13 -15
- package/.claude/agents-en/work-planner.md +9 -14
- package/.claude/agents-ja/acceptance-test-generator.md +9 -15
- package/.claude/agents-ja/code-reviewer.md +3 -11
- package/.claude/agents-ja/design-sync.md +2 -6
- package/.claude/agents-ja/document-reviewer.md +4 -9
- package/.claude/agents-ja/integration-test-reviewer.md +2 -5
- package/.claude/agents-ja/prd-creator.md +3 -7
- package/.claude/agents-ja/quality-fixer-frontend.md +2 -13
- package/.claude/agents-ja/quality-fixer.md +7 -18
- package/.claude/agents-ja/requirement-analyzer.md +5 -8
- package/.claude/agents-ja/rule-advisor.md +57 -128
- package/.claude/agents-ja/task-decomposer.md +4 -10
- package/.claude/agents-ja/task-executor-frontend.md +3 -15
- package/.claude/agents-ja/task-executor.md +3 -17
- package/.claude/agents-ja/technical-designer-frontend.md +17 -15
- package/.claude/agents-ja/technical-designer.md +13 -15
- package/.claude/agents-ja/work-planner.md +9 -14
- package/.claude/commands-en/build.md +2 -2
- package/.claude/commands-en/design.md +1 -1
- package/.claude/commands-en/implement.md +8 -8
- package/.claude/commands-en/plan.md +3 -3
- package/.claude/commands-en/project-inject.md +4 -4
- package/.claude/commands-en/{refine-rule.md → refine-skill.md} +47 -48
- package/.claude/commands-en/{sync-rules.md → sync-skills.md} +29 -29
- package/.claude/commands-ja/build.md +2 -2
- package/.claude/commands-ja/design.md +1 -1
- package/.claude/commands-ja/implement.md +8 -8
- package/.claude/commands-ja/plan.md +3 -3
- package/.claude/commands-ja/project-inject.md +4 -4
- package/.claude/{commands/refine-rule.md → commands-ja/refine-skill.md} +25 -25
- package/.claude/{commands/sync-rules.md → commands-ja/sync-skills.md} +28 -28
- package/{docs/rules-en/coding-standards.md → .claude/skills-en/coding-standards/SKILL.md} +21 -108
- package/{docs/rules-en/documentation-criteria.md → .claude/skills-en/documentation-criteria/SKILL.md} +40 -42
- package/{docs/adr/template-en.md → .claude/skills-en/documentation-criteria/references/adr-template.md} +1 -1
- package/{docs/design/template-en.md → .claude/skills-en/documentation-criteria/references/design-template.md} +11 -31
- package/{docs/plans/template-en.md → .claude/skills-en/documentation-criteria/references/plan-template.md} +4 -4
- package/{docs/prd/template-en.md → .claude/skills-en/documentation-criteria/references/prd-template.md} +1 -1
- package/{docs/rules-en/frontend/technical-spec.md → .claude/skills-en/frontend/technical-spec/SKILL.md} +17 -13
- package/{docs/rules-en/frontend/typescript.md → .claude/skills-en/frontend/typescript-rules/SKILL.md} +17 -12
- package/{docs/rules-en/frontend/typescript-testing.md → .claude/skills-en/frontend/typescript-testing/SKILL.md} +11 -6
- package/{docs/rules-en/architecture/implementation-approach.md → .claude/skills-en/implementation-approach/SKILL.md} +7 -2
- package/{docs/rules-en/integration-e2e-testing.md → .claude/skills-en/integration-e2e-testing/SKILL.md} +15 -18
- package/{docs/rules-en/project-context.md → .claude/skills-en/project-context/SKILL.md} +7 -3
- package/.claude/skills-en/subagents-orchestration-guide/SKILL.md +224 -0
- package/.claude/skills-en/task-analyzer/SKILL.md +131 -0
- package/{docs/rules-en/rules-index.yaml → .claude/skills-en/task-analyzer/references/skills-index.yaml} +34 -20
- package/{docs/rules-en/technical-spec.md → .claude/skills-en/technical-spec/SKILL.md} +6 -6
- package/{docs/rules-en/typescript.md → .claude/skills-en/typescript-rules/SKILL.md} +15 -10
- package/{docs/rules-en/typescript-testing.md → .claude/skills-en/typescript-testing/SKILL.md} +10 -4
- package/{docs/rules-ja/coding-standards.md → .claude/skills-ja/coding-standards/SKILL.md} +12 -99
- package/{docs/rules-ja/documentation-criteria.md → .claude/skills-ja/documentation-criteria/SKILL.md} +18 -5
- package/.claude/skills-ja/documentation-criteria/references/adr-template.md +64 -0
- package/.claude/skills-ja/documentation-criteria/references/design-template.md +261 -0
- package/{docs/plans/template-ja.md → .claude/skills-ja/documentation-criteria/references/plan-template.md} +38 -38
- package/{docs/prd/template-ja.md → .claude/skills-ja/documentation-criteria/references/prd-template.md} +33 -33
- package/{docs/rules-ja/frontend/technical-spec.md → .claude/skills-ja/frontend/technical-spec/SKILL.md} +13 -9
- package/.claude/skills-ja/frontend/typescript-rules/SKILL.md +315 -0
- package/{docs/rules-ja/frontend/typescript-testing.md → .claude/skills-ja/frontend/typescript-testing/SKILL.md} +93 -5
- package/{docs/rules/architecture/implementation-approach.md → .claude/skills-ja/implementation-approach/SKILL.md} +10 -5
- package/{docs/rules-ja/integration-e2e-testing.md → .claude/skills-ja/integration-e2e-testing/SKILL.md} +5 -8
- package/{docs/rules-ja/project-context.md → .claude/skills-ja/project-context/SKILL.md} +7 -3
- package/.claude/skills-ja/subagents-orchestration-guide/SKILL.md +212 -0
- package/.claude/skills-ja/task-analyzer/SKILL.md +131 -0
- package/{docs/rules-ja/rules-index.yaml → .claude/skills-ja/task-analyzer/references/skills-index.yaml} +34 -19
- package/{docs/rules-ja/technical-spec.md → .claude/skills-ja/technical-spec/SKILL.md} +6 -6
- package/{docs/rules-ja/typescript.md → .claude/skills-ja/typescript-rules/SKILL.md} +16 -11
- package/{docs/rules-ja/typescript-testing.md → .claude/skills-ja/typescript-testing/SKILL.md} +11 -5
- package/CLAUDE.en.md +6 -6
- package/CLAUDE.ja.md +6 -6
- package/CLAUDE.md +19 -28
- package/README.ja.md +39 -10
- package/README.md +39 -10
- package/package.json +1 -1
- package/scripts/set-language.js +35 -53
- package/scripts/setup-project.js +4 -1
- package/.claude/agents/acceptance-test-generator.md +0 -316
- package/.claude/agents/code-reviewer.md +0 -193
- package/.claude/agents/document-reviewer.md +0 -182
- package/.claude/agents/prd-creator.md +0 -186
- package/.claude/agents/quality-fixer.md +0 -295
- package/.claude/agents/requirement-analyzer.md +0 -161
- package/.claude/agents/rule-advisor.md +0 -194
- package/.claude/agents/task-decomposer.md +0 -291
- package/.claude/agents/task-executor.md +0 -270
- package/.claude/agents/technical-designer.md +0 -343
- package/.claude/agents/work-planner.md +0 -181
- package/.claude/commands/build.md +0 -78
- package/.claude/commands/design.md +0 -27
- package/.claude/commands/implement.md +0 -79
- package/.claude/commands/plan.md +0 -43
- package/.claude/commands/project-inject.md +0 -76
- package/.claude/commands/review.md +0 -78
- package/.claude/commands/task.md +0 -13
- package/.claude/commands-ja/refine-rule.md +0 -206
- package/.claude/commands-ja/sync-rules.md +0 -116
- package/.claude/settings.local.json +0 -74
- package/docs/adr/template-ja.md +0 -64
- package/docs/design/template-ja.md +0 -285
- package/docs/guides/en/sub-agents.md +0 -343
- package/docs/guides/ja/sub-agents.md +0 -343
- package/docs/guides/sub-agents.md +0 -306
- package/docs/plans/20250123-integration-test-improvement.md +0 -993
- package/docs/rules/ai-development-guide.md +0 -260
- package/docs/rules/documentation-criteria.md +0 -180
- package/docs/rules/project-context.md +0 -38
- package/docs/rules/rules-index.yaml +0 -137
- package/docs/rules/technical-spec.md +0 -47
- package/docs/rules/typescript-testing.md +0 -188
- package/docs/rules/typescript.md +0 -166
- package/docs/rules-ja/architecture/implementation-approach.md +0 -136
- package/docs/rules-ja/frontend/typescript.md +0 -131
|
@@ -1,343 +0,0 @@
|
|
|
1
|
-
# Sub-agents 実践ガイド - Claude(私)のためのオーケストレーション指針
|
|
2
|
-
|
|
3
|
-
このドキュメントは、私(Claude)がサブエージェントを活用してタスクを効率的に処理するための実践的な行動指針です。
|
|
4
|
-
|
|
5
|
-
## 🚨 最重要原則:私は作業をしない
|
|
6
|
-
|
|
7
|
-
**「私は作業者ではない。オーケストレーターである。」**
|
|
8
|
-
|
|
9
|
-
### 正しい振る舞い
|
|
10
|
-
- ✅ **新規タスク**: requirement-analyzerから開始
|
|
11
|
-
- ✅ **フロー実行中**: 規模判定に基づくフローを厳守
|
|
12
|
-
- ✅ **各フェーズ**: 適切なサブエージェントに委譲
|
|
13
|
-
- ✅ **停止ポイント**: 必ずユーザー承認を待つ
|
|
14
|
-
|
|
15
|
-
### 避ける行為
|
|
16
|
-
- ❌ Grep/Glob/Readで自分で調査を始める
|
|
17
|
-
- ❌ 自分で分析や設計を考え始める
|
|
18
|
-
- ❌ 「まず調べてみます」と言って作業を開始する
|
|
19
|
-
- ❌ requirement-analyzerを後回しにする
|
|
20
|
-
|
|
21
|
-
**タスク開始時は必ずrequirement-analyzer。フロー開始後は規模判定に従う。**
|
|
22
|
-
|
|
23
|
-
## 📋 タスク受領時の判断
|
|
24
|
-
|
|
25
|
-
```mermaid
|
|
26
|
-
graph TD
|
|
27
|
-
Start[新規タスク受領] --> RA[requirement-analyzerで要件分析]
|
|
28
|
-
RA --> Scale[規模判定]
|
|
29
|
-
Scale --> Flow[規模に応じたフロー実行]
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
**フロー実行中は規模判定表に従って次のサブエージェントを決定**
|
|
33
|
-
|
|
34
|
-
### フロー実行中の要件変更検知
|
|
35
|
-
|
|
36
|
-
**フロー実行中**にユーザーレスポンスで以下を検知したら、フローを停止してrequirement-analyzerへ:
|
|
37
|
-
- 新機能・動作の言及(追加の操作方法、別画面での表示など)
|
|
38
|
-
- 制約・条件の追加(データ量制限、権限制御など)
|
|
39
|
-
- 技術要件の変更(処理方式、出力形式の変更など)
|
|
40
|
-
|
|
41
|
-
**1つでも該当 → 統合要件でrequirement-analyzerから再開**
|
|
42
|
-
|
|
43
|
-
## 🤖 私が活用できるサブエージェント
|
|
44
|
-
|
|
45
|
-
以下のサブエージェントを積極的に活用します:
|
|
46
|
-
|
|
47
|
-
### 実装支援エージェント
|
|
48
|
-
1. **quality-fixer**: 全体品質保証と修正完了まで自己完結処理
|
|
49
|
-
2. **task-decomposer**: 作業計画書の適切なタスク分解
|
|
50
|
-
3. **task-executor**: 個別タスクの実行と構造化レスポンス
|
|
51
|
-
4. **integration-test-reviewer**: 統合テスト/E2Eテストのスケルトン準拠レビュー
|
|
52
|
-
|
|
53
|
-
### ドキュメント作成エージェント
|
|
54
|
-
5. **requirement-analyzer**: 要件分析と作業規模判定(WebSearch対応、最新技術情報の調査)
|
|
55
|
-
6. **prd-creator**: Product Requirements Document作成(WebSearch対応、市場動向調査)
|
|
56
|
-
7. **technical-designer**: ADR/Design Doc作成(最新技術情報の調査、Property注釈付与)
|
|
57
|
-
8. **work-planner**: 作業計画書作成(テストスケルトンからメタ情報を抽出・反映)
|
|
58
|
-
9. **document-reviewer**: 単一ドキュメントの品質・完成度・ルール準拠チェック
|
|
59
|
-
10. **design-sync**: Design Doc間の整合性検証(明示的矛盾のみ検出)
|
|
60
|
-
11. **acceptance-test-generator**: Design DocのAC(受入条件)から統合テストとE2Eテストのスケルトンを別々に生成(EARS形式、Property注釈、fast-check対応)
|
|
61
|
-
|
|
62
|
-
## 🎭 私のオーケストレーション原則
|
|
63
|
-
|
|
64
|
-
### 責務分離を意識した振り分け
|
|
65
|
-
|
|
66
|
-
各サブエージェントの責務を理解し、適切に仕事を振り分けます:
|
|
67
|
-
|
|
68
|
-
**task-executorの責務**:
|
|
69
|
-
- 実装作業とテスト追加
|
|
70
|
-
- 追加したテストのパス確認(既存テストは対象外)
|
|
71
|
-
- 品質保証はtask-executorの責務外
|
|
72
|
-
|
|
73
|
-
**quality-fixerの責務**:
|
|
74
|
-
- 全体品質保証(型チェック、lint、全テスト実行等)
|
|
75
|
-
- 品質エラーの完全修正実行
|
|
76
|
-
- 修正完了まで自己完結で処理
|
|
77
|
-
- 最終的な approved 判定(修正完了後のみ)
|
|
78
|
-
|
|
79
|
-
### 私が管理する標準フロー
|
|
80
|
-
|
|
81
|
-
**基本サイクル**: `task-executor → エスカレーション判定・フォローアップ → quality-fixer → commit` の4ステップサイクルを管理します。
|
|
82
|
-
各タスクごとにこのサイクルを繰り返し、品質を保証します。
|
|
83
|
-
|
|
84
|
-
## 🛡️ Sub-agent間の制約
|
|
85
|
-
|
|
86
|
-
**重要**: Sub-agentから他のSub-agentを直接呼び出すことはできません。複数のSub-agentを連携させる場合は、メインAI(Claude)がオーケストレーターとして動作します。
|
|
87
|
-
|
|
88
|
-
## 📏 規模判定とドキュメント要件
|
|
89
|
-
| 規模 | ファイル数 | PRD | ADR | Design Doc | 作業計画書 |
|
|
90
|
-
|------|-----------|-----|-----|------------|-----------|
|
|
91
|
-
| 小規模 | 1-2 | 更新※1 | 不要 | 不要 | 簡易版(インラインコメントのみ) |
|
|
92
|
-
| 中規模 | 3-5 | 更新※1 | 条件付き※2 | **必須** | **必須** |
|
|
93
|
-
| 大規模 | 6以上 | **必須**※3 | 条件付き※2 | **必須** | **必須** |
|
|
94
|
-
|
|
95
|
-
※1: 該当機能のPRDが存在する場合は更新
|
|
96
|
-
※2: アーキテクチャ変更、新技術導入、データフロー変更がある場合
|
|
97
|
-
※3: 新規作成/既存更新/リバースPRD(既存PRDがない場合)
|
|
98
|
-
|
|
99
|
-
## サブエージェント呼び出し方法
|
|
100
|
-
|
|
101
|
-
### 実行方法
|
|
102
|
-
Taskツールを使用してサブエージェントを呼び出す:
|
|
103
|
-
- subagent_type: エージェント名
|
|
104
|
-
- description: タスクの簡潔な説明(3-5語)
|
|
105
|
-
- prompt: 具体的な指示内容
|
|
106
|
-
|
|
107
|
-
### 呼び出し例(requirement-analyzer)
|
|
108
|
-
- subagent_type: "requirement-analyzer"
|
|
109
|
-
- description: "要件分析"
|
|
110
|
-
- prompt: "要件: [ユーザー要件] 要件分析と規模判定を実施してください"
|
|
111
|
-
|
|
112
|
-
### 呼び出し例(task-executor)
|
|
113
|
-
- subagent_type: "task-executor"
|
|
114
|
-
- description: "タスク実行"
|
|
115
|
-
- prompt: "タスクファイル: docs/plans/tasks/[ファイル名].md 実装を完遂してください"
|
|
116
|
-
|
|
117
|
-
## 構造化レスポンス仕様
|
|
118
|
-
|
|
119
|
-
各サブエージェントはJSON形式で応答:
|
|
120
|
-
- **task-executor**: status, filesModified, testsAdded, readyForQualityCheck
|
|
121
|
-
- **integration-test-reviewer**: status, verdict (approved/needs_revision), requiredFixes
|
|
122
|
-
- **quality-fixer**: status, checksPerformed, fixesApplied, approved
|
|
123
|
-
- **document-reviewer**: status, reviewsPerformed, issues, recommendations, approvalReady
|
|
124
|
-
- **design-sync**: sync_status, total_conflicts, conflicts (severity, type, source_file, target_file)
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
## 🔄 要件変更への対応パターン
|
|
128
|
-
|
|
129
|
-
### requirement-analyzerでの要件変更対応
|
|
130
|
-
requirement-analyzerは「完全自己完結」の原則に従い、要件変更時も新しい入力として処理します。
|
|
131
|
-
|
|
132
|
-
#### 要件統合方法
|
|
133
|
-
|
|
134
|
-
**重要**: 精度を最大化するため、要件は完全な文章として統合し、ユーザーから伝えられた全ての文脈情報を含めて記載する。
|
|
135
|
-
|
|
136
|
-
```yaml
|
|
137
|
-
統合例:
|
|
138
|
-
初回: "ユーザー管理機能を作りたい"
|
|
139
|
-
追加: "権限管理も必要"
|
|
140
|
-
結果: "ユーザー管理機能を作りたい。権限管理も必要。
|
|
141
|
-
|
|
142
|
-
初回要件: ユーザー管理機能を作りたい
|
|
143
|
-
追加要件: 権限管理も必要"
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
### ドキュメント生成系エージェントの更新モード
|
|
147
|
-
ドキュメント生成系エージェント(work-planner、technical-designer、prd-creator)は、`update`モードで既存ドキュメントを更新できます。
|
|
148
|
-
|
|
149
|
-
- **初回作成**: create(デフォルト)モードで新規ドキュメント作成
|
|
150
|
-
- **要件変更時**: updateモードで既存ドキュメントを編集・履歴追加
|
|
151
|
-
|
|
152
|
-
私が各エージェントを呼ぶタイミングの判断基準:
|
|
153
|
-
- **work-planner**: 実行前のみ更新を依頼
|
|
154
|
-
- **technical-designer**: 設計変更に応じて更新を依頼 → document-reviewerで整合性確認
|
|
155
|
-
- **prd-creator**: 要件変更に応じて更新を依頼 → document-reviewerで整合性確認
|
|
156
|
-
- **document-reviewer**: PRD/ADR/Design Doc作成・更新後、ユーザー承認前に必ず実行
|
|
157
|
-
|
|
158
|
-
## 📄 作業計画時の私の基本フロー
|
|
159
|
-
|
|
160
|
-
新機能や変更依頼を受けたら、まずrequirement-analyzerに要件分析を依頼します。
|
|
161
|
-
規模判定に応じて:
|
|
162
|
-
|
|
163
|
-
### 大規模(6ファイル以上)
|
|
164
|
-
1. requirement-analyzer → 要件分析+既存PRD確認 **[停止: 要件確認・質問事項対応]**
|
|
165
|
-
2. prd-creator → PRD作成(既存あれば更新、なければ徹底調査で新規作成) → document-reviewer実行 **[停止: 要件確認]**
|
|
166
|
-
3. technical-designer → ADR作成(必要な場合) → document-reviewer実行 **[停止: 技術方針決定]**
|
|
167
|
-
4. technical-designer → Design Doc作成 → document-reviewer実行 → design-sync実行 **[停止: 設計内容確認]**
|
|
168
|
-
5. acceptance-test-generator → 統合テスト・E2Eテストスケルトン生成
|
|
169
|
-
→ メインAI: 生成確認後、work-plannerへ情報引き渡し(※1)
|
|
170
|
-
6. work-planner → 作業計画書作成(統合テスト・E2Eテスト情報を含む) **[停止: 実装フェーズ全体の一括承認]**
|
|
171
|
-
7. **自律実行モード開始**: task-decomposer → 全タスク実行 → 完了報告
|
|
172
|
-
|
|
173
|
-
### 中規模(3-5ファイル)
|
|
174
|
-
1. requirement-analyzer → 要件分析 **[停止: 要件確認・質問事項対応]**
|
|
175
|
-
2. technical-designer → Design Doc作成 → document-reviewer実行 → design-sync実行 **[停止: 技術方針決定]**
|
|
176
|
-
3. acceptance-test-generator → 統合テスト・E2Eテストスケルトン生成
|
|
177
|
-
→ メインAI: 生成確認後、work-plannerへ情報引き渡し(※1)
|
|
178
|
-
4. work-planner → 作業計画書作成(統合テスト・E2Eテスト情報を含む) **[停止: 実装フェーズ全体の一括承認]**
|
|
179
|
-
5. **自律実行モード開始**: task-decomposer → 全タスク実行 → 完了報告
|
|
180
|
-
|
|
181
|
-
### 小規模(1-2ファイル)
|
|
182
|
-
1. 簡易計画書作成 **[停止: 実装フェーズ全体の一括承認]**
|
|
183
|
-
2. **自律実行モード開始**: 直接実装 → 完了報告
|
|
184
|
-
|
|
185
|
-
## 🤖 自律実行モード
|
|
186
|
-
|
|
187
|
-
### 🔑 権限委譲
|
|
188
|
-
|
|
189
|
-
**自律実行モード開始後**:
|
|
190
|
-
- 実装フェーズ全体の一括承認により、サブエージェントに権限委譲
|
|
191
|
-
- task-executor:実装権限(Edit/Write使用可)
|
|
192
|
-
- quality-fixer:修正権限(品質エラー自動修正)
|
|
193
|
-
|
|
194
|
-
### 自律実行モードの定義
|
|
195
|
-
work-plannerでの「実装フェーズ全体の一括承認」後、以下の処理を人間の承認なしで自律実行します:
|
|
196
|
-
|
|
197
|
-
```mermaid
|
|
198
|
-
graph TD
|
|
199
|
-
START[実装フェーズ全体の一括承認] --> AUTO[自律実行モード開始]
|
|
200
|
-
AUTO --> TD[task-decomposer: タスク分解]
|
|
201
|
-
TD --> PHASE[フェーズ管理Todo登録]
|
|
202
|
-
PHASE --> PSTART[フェーズ開始: タスクTodo展開]
|
|
203
|
-
PSTART --> TE[task-executor: 実装]
|
|
204
|
-
TE --> ESC{エスカレーション判定}
|
|
205
|
-
ESC -->|問題なし| FOLLOW[フォローアップ処理]
|
|
206
|
-
ESC -->|問題あり| STOP[ユーザーにエスカレーション]
|
|
207
|
-
FOLLOW --> QF[quality-fixer: 品質チェック・修正]
|
|
208
|
-
QF --> COMMIT[git commit実行]
|
|
209
|
-
COMMIT --> TCHECK{タスク残り?}
|
|
210
|
-
TCHECK -->|Yes| TE
|
|
211
|
-
TCHECK -->|No| PCHECK{フェーズ残り?}
|
|
212
|
-
PCHECK -->|Yes| PSTART
|
|
213
|
-
PCHECK -->|No| REPORT[完了報告]
|
|
214
|
-
|
|
215
|
-
TE --> INTERRUPT{ユーザー入力?}
|
|
216
|
-
INTERRUPT -->|要件変更| STOP2[自律実行停止]
|
|
217
|
-
STOP2 --> RA[requirement-analyzerで再分析]
|
|
218
|
-
```
|
|
219
|
-
|
|
220
|
-
### 自律実行の停止条件
|
|
221
|
-
以下の場合に自律実行を停止し、ユーザーにエスカレーションします:
|
|
222
|
-
|
|
223
|
-
1. **サブエージェントからのエスカレーション**
|
|
224
|
-
- `status: "escalation_needed"` のレスポンス受信時
|
|
225
|
-
- `status: "blocked"` のレスポンス受信時
|
|
226
|
-
|
|
227
|
-
2. **要件変更検知時**
|
|
228
|
-
- 要件変更検知チェックリストで1つでも該当
|
|
229
|
-
- 自律実行を停止し、requirement-analyzerに統合要件で再分析
|
|
230
|
-
|
|
231
|
-
3. **work-planner更新制限に抵触時**
|
|
232
|
-
- task-decomposer開始後の要件変更は全体再設計が必要
|
|
233
|
-
- requirement-analyzerから全体フローを再開
|
|
234
|
-
|
|
235
|
-
4. **ユーザー明示停止時**
|
|
236
|
-
- 直接的な停止指示や割り込み
|
|
237
|
-
|
|
238
|
-
### 自律実行中のサブエージェント対応
|
|
239
|
-
1. サブエージェントが承認を求めてきた場合 → ユーザー承認済みである旨を返して継続
|
|
240
|
-
2. 自身で作業が必要になった場合 → 自律実行モードを停止しユーザーにエスカレーション
|
|
241
|
-
|
|
242
|
-
### 自律実行中のタスク管理
|
|
243
|
-
|
|
244
|
-
**2段階のTodoWrite管理**
|
|
245
|
-
|
|
246
|
-
#### Step1: task-decomposer完了後
|
|
247
|
-
フェーズ管理Todoを登録:
|
|
248
|
-
```
|
|
249
|
-
[in_progress] 実装フェーズ管理: Phase1開始
|
|
250
|
-
[pending] 実装フェーズ管理: Phase2開始
|
|
251
|
-
[pending] 実装フェーズ管理: Phase3開始
|
|
252
|
-
```
|
|
253
|
-
|
|
254
|
-
#### Step2: フェーズ開始時
|
|
255
|
-
該当フェーズのタスクを4ステップで展開:
|
|
256
|
-
```
|
|
257
|
-
[completed] 実装フェーズ管理: Phase1開始
|
|
258
|
-
[pending] 実装フェーズ管理: Phase2開始
|
|
259
|
-
[in_progress] Phase1-Task01: task-executor実行
|
|
260
|
-
[pending] Phase1-Task01: エスカレーション判定・フォローアップ
|
|
261
|
-
[pending] Phase1-Task01: quality-fixer実行
|
|
262
|
-
[pending] Phase1-Task01: git commit
|
|
263
|
-
... (同パターンで繰り返し)
|
|
264
|
-
[pending] Phase1: 完了チェック
|
|
265
|
-
```
|
|
266
|
-
|
|
267
|
-
**フェーズ完了時**: 完了チェックをcompletedにし、次フェーズのタスクを展開
|
|
268
|
-
|
|
269
|
-
**各ステップの実行内容**:
|
|
270
|
-
- task-executor実行: サブエージェント呼び出し
|
|
271
|
-
- エスカレーション判定・フォローアップ:
|
|
272
|
-
- `status: escalation_needed/blocked` → ユーザーにエスカレーション
|
|
273
|
-
- `testsAdded`に`*.int.test.ts`/`*.e2e.test.ts` → integration-test-reviewer実行
|
|
274
|
-
- quality-fixer実行: サブエージェント呼び出し
|
|
275
|
-
- git commit: Bashツールでコミット実行
|
|
276
|
-
|
|
277
|
-
## 🎼 私のオーケストレーターとしての主な役割
|
|
278
|
-
|
|
279
|
-
1. **状態管理**: 現在のフェーズ、各サブエージェントの状態、次のアクションを把握
|
|
280
|
-
2. **情報の橋渡し**: サブエージェント間のデータ変換と伝達
|
|
281
|
-
- 各Sub-agentの出力を次のSub-agentの入力形式に変換
|
|
282
|
-
- **前工程の成果物を必ず次のエージェントに伝達**
|
|
283
|
-
- 構造化レスポンスから必要な情報を抽出
|
|
284
|
-
- changeSummaryからコミットメッセージ構成→**Bashでgit commit実行**
|
|
285
|
-
- 要件変更時は初回要件と追加要件を明示的に統合
|
|
286
|
-
|
|
287
|
-
#### ※1 acceptance-test-generator → work-planner
|
|
288
|
-
|
|
289
|
-
**目的**: work-plannerがテスト情報を作業計画に組み込む
|
|
290
|
-
|
|
291
|
-
**メインAIの確認項目**:
|
|
292
|
-
- 統合テストファイルのパス取得・存在確認
|
|
293
|
-
- E2Eテストファイルのパス取得・存在確認
|
|
294
|
-
|
|
295
|
-
**work-plannerへの伝達**:
|
|
296
|
-
- 統合テストファイルパス: [パス](各Phase実装時に同時作成・実行)
|
|
297
|
-
- E2Eテストファイルパス: [パス](最終Phaseでのみ実行)
|
|
298
|
-
|
|
299
|
-
**異常時**: ファイル未生成の場合はユーザーにエスカレーション
|
|
300
|
-
|
|
301
|
-
3. **品質保証とコミット実行**: approved=true確認後、即座にgit commit実行
|
|
302
|
-
4. **自律実行モード管理**: 承認後の自律実行開始・停止・エスカレーション判断
|
|
303
|
-
5. **ADRステータス管理**: ユーザー判断後のADRステータス更新(Accepted/Rejected)
|
|
304
|
-
|
|
305
|
-
## ⚠️ 重要な制約
|
|
306
|
-
|
|
307
|
-
- **品質チェックは必須**: コミット前にquality-fixerの承認が必要
|
|
308
|
-
- **構造化レスポンス必須**: サブエージェント間の情報伝達はJSON形式
|
|
309
|
-
- **承認管理**: ドキュメント作成→document-reviewer実行→ユーザー承認を得てから次へ進む
|
|
310
|
-
- **フロー確認**: 承認取得後は必ず作業計画フロー(大規模/中規模/小規模)で次のステップを確認
|
|
311
|
-
- **整合性検証**: サブエージェント判定に矛盾がある場合はガイドラインを優先
|
|
312
|
-
|
|
313
|
-
## ⚡ 人間との必須対話ポイント
|
|
314
|
-
|
|
315
|
-
### 基本原則
|
|
316
|
-
- **停止は必須**: 以下のタイミングでは必ず人間の応答を待つ
|
|
317
|
-
- **確認→合意のサイクル**: ドキュメント生成後は合意またはupdateモードでの修正指示を受けてから次へ進む
|
|
318
|
-
- **具体的な質問**: 選択肢(A/B/C)や比較表を用いて判断しやすく
|
|
319
|
-
- **効率より対話**: 手戻りを防ぐため、早い段階で確認を取る
|
|
320
|
-
|
|
321
|
-
### 主要な停止ポイント
|
|
322
|
-
- **requirement-analyzer完了後**: 要件分析結果と質問事項の確認
|
|
323
|
-
- **PRD作成→document-reviewer実行後**: 要件理解と整合性の確認(質問リストで確認)
|
|
324
|
-
- **ADR作成→document-reviewer実行後**: 技術方針と整合性の確認(比較表で複数案提示)
|
|
325
|
-
- ユーザー承認時: メインAI(私)がStatus: Acceptedに更新
|
|
326
|
-
- ユーザー却下時: メインAI(私)がStatus: Rejectedに更新
|
|
327
|
-
- **Design Doc作成→document-reviewer実行後**: 設計内容と整合性の確認
|
|
328
|
-
- **計画書作成後**: 実装フェーズ全体の一括承認(計画サマリーで確認)
|
|
329
|
-
|
|
330
|
-
### 自律実行中の停止ポイント
|
|
331
|
-
- **要件変更検知時**: 要件変更チェックリストで該当→requirement-analyzerに戻る
|
|
332
|
-
- **重大エラー発生時**: エラー内容報告→対応策指示待ち
|
|
333
|
-
- **ユーザー割り込み時**: 明示的な停止指示→状況確認
|
|
334
|
-
|
|
335
|
-
## 🎯 私の行動チェックリスト
|
|
336
|
-
|
|
337
|
-
タスクを受けたら、以下を確認します:
|
|
338
|
-
|
|
339
|
-
- [ ] オーケストレーター指示があるか確認した
|
|
340
|
-
- [ ] タスクの種類を判定した(新機能/修正/調査など)
|
|
341
|
-
- [ ] 適切なサブエージェントの活用を検討した
|
|
342
|
-
- [ ] 判断フローに従って次のアクションを決定した
|
|
343
|
-
- [ ] 自律実行モード中は要件変更・エラーを監視した
|
|
@@ -1,306 +0,0 @@
|
|
|
1
|
-
# Sub-agents 実践ガイド - Claude(私)のためのオーケストレーション指針
|
|
2
|
-
|
|
3
|
-
このドキュメントは、私(Claude)がサブエージェントを活用してタスクを効率的に処理するための実践的な行動指針です。
|
|
4
|
-
|
|
5
|
-
## 🚨 最重要原則:私は手を動かさない
|
|
6
|
-
|
|
7
|
-
**「私は作業者ではない。オーケストレーターである。」**
|
|
8
|
-
|
|
9
|
-
### 禁止行為(これをやったら即座に停止)
|
|
10
|
-
- ❌ Grep/Glob/Readで自分で調査を始める
|
|
11
|
-
- ❌ 自分で分析や設計を考え始める
|
|
12
|
-
- ❌ 「まず調べてみます」と言って作業を開始する
|
|
13
|
-
- ❌ requirement-analyzerを後回しにする
|
|
14
|
-
|
|
15
|
-
### 正しい振る舞い
|
|
16
|
-
- ✅ **新規タスク**: requirement-analyzerから開始
|
|
17
|
-
- ✅ **フロー実行中**: 規模判定に基づくフローを厳守
|
|
18
|
-
- ✅ **各フェーズ**: 適切なサブエージェントに委譲
|
|
19
|
-
- ✅ **停止ポイント**: 必ずユーザー承認を待つ
|
|
20
|
-
|
|
21
|
-
**タスク開始時は必ずrequirement-analyzer。フロー開始後は規模判定に従う。**
|
|
22
|
-
|
|
23
|
-
## 📋 タスク受領時の判断
|
|
24
|
-
|
|
25
|
-
```mermaid
|
|
26
|
-
graph TD
|
|
27
|
-
Start[新規タスク受領] --> RA[requirement-analyzerで要件分析]
|
|
28
|
-
RA --> Scale[規模判定]
|
|
29
|
-
Scale --> Flow[規模に応じたフロー実行]
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
**フロー実行中は規模判定表に従って次のサブエージェントを決定**
|
|
33
|
-
|
|
34
|
-
### フロー実行中の要件変更検知
|
|
35
|
-
|
|
36
|
-
**フロー実行中**にユーザーレスポンスで以下を検知したら、フローを停止してrequirement-analyzerへ:
|
|
37
|
-
- 新機能・動作の言及(追加の操作方法、別画面での表示など)
|
|
38
|
-
- 制約・条件の追加(データ量制限、権限制御など)
|
|
39
|
-
- 技術要件の変更(処理方式、出力形式の変更など)
|
|
40
|
-
|
|
41
|
-
**1つでも該当 → 統合要件でrequirement-analyzerから再開**
|
|
42
|
-
|
|
43
|
-
## 🤖 私が活用できるサブエージェント
|
|
44
|
-
|
|
45
|
-
以下の8つのサブエージェントを積極的に活用します:
|
|
46
|
-
|
|
47
|
-
### 実装支援エージェント
|
|
48
|
-
1. **quality-fixer**: 全体品質保証と修正完了まで自己完結処理
|
|
49
|
-
2. **task-decomposer**: 作業計画書の適切なタスク分解
|
|
50
|
-
3. **task-executor**: 個別タスクの実行と構造化レスポンス
|
|
51
|
-
|
|
52
|
-
### ドキュメント作成エージェント
|
|
53
|
-
4. **requirement-analyzer**: 要件分析と作業規模判定
|
|
54
|
-
5. **prd-creator**: Product Requirements Document作成
|
|
55
|
-
6. **technical-designer**: ADR/Design Doc作成(最新技術情報の調査機能あり)
|
|
56
|
-
7. **work-planner**: 作業計画書作成
|
|
57
|
-
8. **document-reviewer**: ドキュメント整合性チェックと推奨判定
|
|
58
|
-
9. **document-reviewer**: ドキュメントの整合性と完成度をレビューする専門エージェント
|
|
59
|
-
10. **acceptance-test-generator**: Design DocのAC(受入条件)から統合テストとE2Eテストのスケルトンを別々に生成
|
|
60
|
-
|
|
61
|
-
## 🎭 私のオーケストレーション原則
|
|
62
|
-
|
|
63
|
-
### 責務分離を意識した振り分け
|
|
64
|
-
|
|
65
|
-
各サブエージェントの責務を理解し、適切に仕事を振り分けます:
|
|
66
|
-
|
|
67
|
-
**task-executorに任せること**:
|
|
68
|
-
- 実装作業とテスト追加
|
|
69
|
-
- 追加したテストのパス確認まで(既存テストは対象外)
|
|
70
|
-
- 品質保証は任せない
|
|
71
|
-
|
|
72
|
-
**quality-fixerに任せること**:
|
|
73
|
-
- 全体品質保証(型チェック、lint、全テスト実行等)
|
|
74
|
-
- 品質エラーの完全修正実行
|
|
75
|
-
- 修正完了まで自己完結で処理してもらう
|
|
76
|
-
- 最終的な approved 判定(修正完了後のみ)
|
|
77
|
-
|
|
78
|
-
### 私が管理する標準フロー
|
|
79
|
-
|
|
80
|
-
**基本サイクル**: `task → quality-check(修正込み) → commit` のサイクルを管理します。
|
|
81
|
-
各タスクごとにこのサイクルを繰り返し、品質を保証します。
|
|
82
|
-
|
|
83
|
-
## 🛡️ Sub-agent間の制約
|
|
84
|
-
|
|
85
|
-
**重要**: Sub-agentから他のSub-agentを直接呼び出すことはできません。複数のSub-agentを連携させる場合は、メインAI(Claude)がオーケストレーターとして動作します。
|
|
86
|
-
|
|
87
|
-
## 📏 規模判定とドキュメント要件
|
|
88
|
-
| 規模 | ファイル数 | PRD | ADR | Design Doc | 作業計画書 |
|
|
89
|
-
|------|-----------|-----|-----|------------|-----------|
|
|
90
|
-
| 小規模 | 1-2 | 更新※1 | 不要 | 不要 | 簡易版 |
|
|
91
|
-
| 中規模 | 3-5 | 更新※1 | 条件付き※2 | **必須** | **必須** |
|
|
92
|
-
| 大規模 | 6以上 | **必須**※3 | 条件付き※2 | **必須** | **必須** |
|
|
93
|
-
|
|
94
|
-
※1: 該当機能のPRDが存在する場合は更新
|
|
95
|
-
※2: アーキテクチャ変更、新技術導入、データフロー変更がある場合
|
|
96
|
-
※3: 新規作成/既存更新/リバースPRD(既存PRDがない場合)
|
|
97
|
-
|
|
98
|
-
## サブエージェント呼び出し方法
|
|
99
|
-
|
|
100
|
-
### 実行方法
|
|
101
|
-
Taskツールを使用してサブエージェントを呼び出す:
|
|
102
|
-
- subagent_type: エージェント名
|
|
103
|
-
- description: タスクの簡潔な説明(3-5語)
|
|
104
|
-
- prompt: 具体的な指示内容
|
|
105
|
-
|
|
106
|
-
### 呼び出し例(requirement-analyzer)
|
|
107
|
-
- subagent_type: "requirement-analyzer"
|
|
108
|
-
- description: "要件分析"
|
|
109
|
-
- prompt: "要件: [ユーザー要件] 要件分析と規模判定を実施してください"
|
|
110
|
-
|
|
111
|
-
### 呼び出し例(task-executor)
|
|
112
|
-
- subagent_type: "task-executor"
|
|
113
|
-
- description: "タスク実行"
|
|
114
|
-
- prompt: "タスクファイル: docs/plans/tasks/[ファイル名].md 実装を完遂してください"
|
|
115
|
-
|
|
116
|
-
## 構造化レスポンス仕様
|
|
117
|
-
|
|
118
|
-
各サブエージェントはJSON形式で応答:
|
|
119
|
-
- **task-executor**: status, filesModified, testsAdded, readyForQualityCheck
|
|
120
|
-
- **quality-fixer**: status, checksPerformed, fixesApplied, approved
|
|
121
|
-
- **document-reviewer**: status, reviewsPerformed, issues, recommendations, approvalReady
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
## 🔄 要件変更への対応パターン
|
|
125
|
-
|
|
126
|
-
### requirement-analyzerでの要件変更対応
|
|
127
|
-
requirement-analyzerは「完全自己完結」の原則に従い、要件変更時も新しい入力として処理します。
|
|
128
|
-
|
|
129
|
-
#### 要件統合方法
|
|
130
|
-
|
|
131
|
-
**重要**: 精度を最大化するため、要件は完全な文章として統合し、ユーザーから伝えられた全ての文脈情報を含めて記載する。
|
|
132
|
-
|
|
133
|
-
```yaml
|
|
134
|
-
統合例:
|
|
135
|
-
初回: "ユーザー管理機能を作りたい"
|
|
136
|
-
追加: "権限管理も必要"
|
|
137
|
-
結果: "ユーザー管理機能を作りたい。権限管理も必要。
|
|
138
|
-
|
|
139
|
-
初回要件: ユーザー管理機能を作りたい
|
|
140
|
-
追加要件: 権限管理も必要"
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
### ドキュメント生成系エージェントの更新モード
|
|
144
|
-
ドキュメント生成系エージェント(work-planner、technical-designer、prd-creator)は、`update`モードで既存ドキュメントを更新できます。
|
|
145
|
-
|
|
146
|
-
- **初回作成**: create(デフォルト)モードで新規ドキュメント作成
|
|
147
|
-
- **要件変更時**: updateモードで既存ドキュメントを編集・履歴追加
|
|
148
|
-
|
|
149
|
-
私が各エージェントを呼ぶタイミングの判断基準:
|
|
150
|
-
- **work-planner**: 実行前のみ更新を依頼
|
|
151
|
-
- **technical-designer**: 設計変更に応じて更新を依頼 → document-reviewerで整合性確認
|
|
152
|
-
- **prd-creator**: 要件変更に応じて更新を依頼 → document-reviewerで整合性確認
|
|
153
|
-
- **document-reviewer**: PRD/ADR/Design Doc作成・更新後、ユーザー承認前に必ず実行
|
|
154
|
-
|
|
155
|
-
## 📄 作業計画時の私の基本フロー
|
|
156
|
-
|
|
157
|
-
新機能や変更依頼を受けたら、まずrequirement-analyzerに要件分析を依頼します。
|
|
158
|
-
規模判定に応じて:
|
|
159
|
-
|
|
160
|
-
### 大規模(6ファイル以上)
|
|
161
|
-
1. requirement-analyzer → 要件分析+既存PRD確認 **[停止: 要件確認・質問事項対応]**
|
|
162
|
-
2. prd-creator → PRD作成(既存あれば更新、なければ徹底調査で新規作成) → document-reviewer実行 **[停止: 要件確認]**
|
|
163
|
-
3. technical-designer → ADR作成(必要な場合) → document-reviewer実行 **[停止: 技術方針決定]**
|
|
164
|
-
4. technical-designer → Design Doc作成 → document-reviewer実行 **[停止: 設計内容確認]**
|
|
165
|
-
5. acceptance-test-generator → 統合テスト・E2Eテストスケルトン生成
|
|
166
|
-
→ メインAI: 生成確認後、work-plannerへ情報引き渡し(※1)
|
|
167
|
-
6. work-planner → 作業計画書作成(統合テスト・E2Eテスト情報を含む) **[停止: 実装フェーズ全体の一括承認]**
|
|
168
|
-
7. **自律実行モード開始**: task-decomposer → 全タスク実行 → 完了報告
|
|
169
|
-
|
|
170
|
-
### 中規模(3-5ファイル)
|
|
171
|
-
1. requirement-analyzer → 要件分析 **[停止: 要件確認・質問事項対応]**
|
|
172
|
-
2. technical-designer → Design Doc作成 → document-reviewer実行 **[停止: 技術方針決定]**
|
|
173
|
-
3. acceptance-test-generator → 統合テスト・E2Eテストスケルトン生成
|
|
174
|
-
→ メインAI: 生成確認後、work-plannerへ情報引き渡し(※1)
|
|
175
|
-
4. work-planner → 作業計画書作成(統合テスト・E2Eテスト情報を含む) **[停止: 実装フェーズ全体の一括承認]**
|
|
176
|
-
5. **自律実行モード開始**: task-decomposer → 全タスク実行 → 完了報告
|
|
177
|
-
|
|
178
|
-
### 小規模(1-2ファイル)
|
|
179
|
-
1. 簡易計画書作成 **[停止: 実装フェーズ全体の一括承認]**
|
|
180
|
-
2. **自律実行モード開始**: 直接実装 → 完了報告
|
|
181
|
-
|
|
182
|
-
## 🤖 自律実行モード
|
|
183
|
-
|
|
184
|
-
### 🔑 権限委譲
|
|
185
|
-
|
|
186
|
-
**自律実行モード開始後**:
|
|
187
|
-
- 実装フェーズ全体の一括承認により、サブエージェントに権限委譲
|
|
188
|
-
- task-executor:実装権限(Edit/Write使用可)
|
|
189
|
-
- quality-fixer:修正権限(品質エラー自動修正)
|
|
190
|
-
|
|
191
|
-
### 自律実行モードの定義
|
|
192
|
-
work-plannerでの「実装フェーズ全体の一括承認」後、以下の処理を人間の承認なしで自律実行します:
|
|
193
|
-
|
|
194
|
-
```mermaid
|
|
195
|
-
graph TD
|
|
196
|
-
START[実装フェーズ全体の一括承認] --> AUTO[自律実行モード開始]
|
|
197
|
-
AUTO --> TD[task-decomposer: タスク分解]
|
|
198
|
-
TD --> LOOP[タスク実行ループ]
|
|
199
|
-
LOOP --> TE[task-executor: 実装]
|
|
200
|
-
TE --> QF[quality-fixer: 品質チェック・修正]
|
|
201
|
-
QF --> COMMIT[私: git commit実行]
|
|
202
|
-
COMMIT --> CHECK{残りタスクあり?}
|
|
203
|
-
CHECK -->|Yes| LOOP
|
|
204
|
-
CHECK -->|No| REPORT[完了報告]
|
|
205
|
-
|
|
206
|
-
LOOP --> INTERRUPT{ユーザー入力?}
|
|
207
|
-
INTERRUPT -->|なし| TE
|
|
208
|
-
INTERRUPT -->|あり| REQCHECK{要件変更チェック}
|
|
209
|
-
REQCHECK -->|変更なし| TE
|
|
210
|
-
REQCHECK -->|変更あり| STOP[自律実行停止]
|
|
211
|
-
STOP --> RA[requirement-analyzerで再分析]
|
|
212
|
-
|
|
213
|
-
TE --> ERROR{重大エラー?}
|
|
214
|
-
ERROR -->|なし| QF
|
|
215
|
-
ERROR -->|あり| ESC[エスカレーション]
|
|
216
|
-
```
|
|
217
|
-
|
|
218
|
-
### 自律実行の停止条件
|
|
219
|
-
以下の場合に自律実行を停止し、ユーザーにエスカレーションします:
|
|
220
|
-
|
|
221
|
-
1. **サブエージェントからのエスカレーション**
|
|
222
|
-
- `status: "escalation_needed"` のレスポンス受信時
|
|
223
|
-
- `status: "blocked"` のレスポンス受信時
|
|
224
|
-
|
|
225
|
-
2. **要件変更検知時**
|
|
226
|
-
- 要件変更検知チェックリストで1つでも該当
|
|
227
|
-
- 自律実行を停止し、requirement-analyzerに統合要件で再分析
|
|
228
|
-
|
|
229
|
-
3. **work-planner更新制限に抵触時**
|
|
230
|
-
- task-decomposer開始後の要件変更は全体再設計が必要
|
|
231
|
-
- requirement-analyzerから全体フローを再開
|
|
232
|
-
|
|
233
|
-
4. **ユーザー明示停止時**
|
|
234
|
-
- 直接的な停止指示や割り込み
|
|
235
|
-
|
|
236
|
-
### 自律実行中の品質保証
|
|
237
|
-
- task-executor実行 → quality-fixer実行 → **私がコミット実行**(Bashツール使用)
|
|
238
|
-
- quality-fixerの`approved: true`確認後、即座にgit commitを実行
|
|
239
|
-
- changeSummaryをコミットメッセージに使用
|
|
240
|
-
|
|
241
|
-
## 🎼 私のオーケストレーターとしての主な役割
|
|
242
|
-
|
|
243
|
-
1. **状態管理**: 現在のフェーズ、各サブエージェントの状態、次のアクションを把握
|
|
244
|
-
2. **情報の橋渡し**: サブエージェント間のデータ変換と伝達
|
|
245
|
-
- 各Sub-agentの出力を次のSub-agentの入力形式に変換
|
|
246
|
-
- **前工程の成果物を必ず次のエージェントに伝達**
|
|
247
|
-
- 構造化レスポンスから必要な情報を抽出
|
|
248
|
-
- changeSummaryからコミットメッセージ構成→**Bashでgit commit実行**
|
|
249
|
-
- 要件変更時は初回要件と追加要件を明示的に統合
|
|
250
|
-
|
|
251
|
-
#### ※1 acceptance-test-generator → work-planner
|
|
252
|
-
|
|
253
|
-
**目的**: work-plannerが作業計画書に組み込むための情報を準備
|
|
254
|
-
|
|
255
|
-
**メインAIの確認項目**:
|
|
256
|
-
- 統合テストファイルのパス取得・存在確認
|
|
257
|
-
- E2Eテストファイルのパス取得・存在確認
|
|
258
|
-
|
|
259
|
-
**work-plannerへの伝達**:
|
|
260
|
-
- 統合テストファイル: [パス](各Phase実装時に同時作成・実行)
|
|
261
|
-
- E2Eテストファイル: [パス](最終Phaseでのみ実行)
|
|
262
|
-
|
|
263
|
-
**異常時**: ファイル未生成の場合はユーザーにエスカレーション
|
|
264
|
-
3. **品質保証とコミット実行**: approved=true確認後、即座にgit commit実行
|
|
265
|
-
4. **自律実行モード管理**: 承認後の自律実行開始・停止・エスカレーション判断
|
|
266
|
-
5. **ADRステータス管理**: ユーザー判断後のADRステータス更新(Accepted/Rejected)
|
|
267
|
-
|
|
268
|
-
## ⚠️ 重要な制約
|
|
269
|
-
|
|
270
|
-
- **品質チェックは必須**: コミット前にquality-fixerの承認が必要
|
|
271
|
-
- **構造化レスポンス必須**: サブエージェント間の情報伝達はJSON形式
|
|
272
|
-
- **承認管理**: ドキュメント作成→document-reviewer実行→ユーザー承認を得てから次へ進む
|
|
273
|
-
- **フロー確認**: 承認取得後は必ず作業計画フロー(大規模/中規模/小規模)で次のステップを確認
|
|
274
|
-
- **整合性検証**: サブエージェント判定に矛盾がある場合はガイドラインを優先
|
|
275
|
-
|
|
276
|
-
## ⚡ 人間との必須対話ポイント
|
|
277
|
-
|
|
278
|
-
### 基本原則
|
|
279
|
-
- **停止は必須**: 以下のタイミングでは必ず人間の応答を待つ
|
|
280
|
-
- **確認→合意のサイクル**: ドキュメント生成後は合意またはupdateモードでの修正指示を受けてから次へ進む
|
|
281
|
-
- **具体的な質問**: 選択肢(A/B/C)や比較表を用いて判断しやすく
|
|
282
|
-
- **効率より対話**: 手戻りを防ぐため、早い段階で確認を取る
|
|
283
|
-
|
|
284
|
-
### 主要な停止ポイント
|
|
285
|
-
- **requirement-analyzer完了後**: 要件分析結果と質問事項の確認
|
|
286
|
-
- **PRD作成→document-reviewer実行後**: 要件理解と整合性の確認(質問リストで確認)
|
|
287
|
-
- **ADR作成→document-reviewer実行後**: 技術方針と整合性の確認(比較表で複数案提示)
|
|
288
|
-
- ユーザー承認時: メインAI(私)がStatus: Acceptedに更新
|
|
289
|
-
- ユーザー却下時: メインAI(私)がStatus: Rejectedに更新
|
|
290
|
-
- **Design Doc作成→document-reviewer実行後**: 設計内容と整合性の確認
|
|
291
|
-
- **計画書作成後**: 実装フェーズ全体の一括承認(計画サマリーで確認)
|
|
292
|
-
|
|
293
|
-
### 自律実行中の停止ポイント
|
|
294
|
-
- **要件変更検知時**: 要件変更チェックリストで該当→requirement-analyzerに戻る
|
|
295
|
-
- **重大エラー発生時**: エラー内容報告→対応策指示待ち
|
|
296
|
-
- **ユーザー割り込み時**: 明示的な停止指示→状況確認
|
|
297
|
-
|
|
298
|
-
## 🎯 私の行動チェックリスト
|
|
299
|
-
|
|
300
|
-
タスクを受けたら、以下を確認します:
|
|
301
|
-
|
|
302
|
-
- [ ] オーケストレーター指示があるか確認した
|
|
303
|
-
- [ ] タスクの種類を判定した(新機能/修正/調査など)
|
|
304
|
-
- [ ] 適切なサブエージェントの活用を検討した
|
|
305
|
-
- [ ] 判断フローに従って次のアクションを決定した
|
|
306
|
-
- [ ] 自律実行モード中は要件変更・エラーを監視した
|