create-ai-project 1.20.2 → 1.20.3
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 +3 -2
- package/.claude/agents-en/code-reviewer.md +133 -25
- package/.claude/agents-en/design-sync.md +5 -6
- package/.claude/agents-en/integration-test-reviewer.md +2 -2
- package/.claude/agents-en/prd-creator.md +2 -4
- package/.claude/agents-en/quality-fixer-frontend.md +1 -1
- package/.claude/agents-en/quality-fixer.md +1 -1
- package/.claude/agents-en/requirement-analyzer.md +7 -7
- package/.claude/agents-en/scope-discoverer.md +2 -2
- package/.claude/agents-en/solver.md +1 -2
- package/.claude/agents-en/task-decomposer.md +2 -2
- package/.claude/agents-en/task-executor-frontend.md +1 -1
- package/.claude/agents-en/task-executor.md +1 -1
- package/.claude/agents-en/technical-designer-frontend.md +5 -5
- package/.claude/agents-en/technical-designer.md +2 -2
- package/.claude/agents-en/ui-spec-designer.md +1 -1
- package/.claude/agents-en/work-planner.md +1 -1
- package/.claude/agents-ja/acceptance-test-generator.md +3 -2
- package/.claude/agents-ja/code-reviewer.md +133 -25
- package/.claude/agents-ja/design-sync.md +5 -5
- package/.claude/agents-ja/integration-test-reviewer.md +2 -2
- package/.claude/agents-ja/prd-creator.md +2 -4
- package/.claude/agents-ja/quality-fixer-frontend.md +1 -1
- package/.claude/agents-ja/quality-fixer.md +1 -1
- package/.claude/agents-ja/requirement-analyzer.md +7 -7
- package/.claude/agents-ja/scope-discoverer.md +2 -2
- package/.claude/agents-ja/solver.md +1 -2
- package/.claude/agents-ja/task-decomposer.md +2 -2
- package/.claude/agents-ja/task-executor-frontend.md +1 -1
- package/.claude/agents-ja/task-executor.md +1 -1
- package/.claude/agents-ja/technical-designer-frontend.md +5 -5
- package/.claude/agents-ja/technical-designer.md +2 -2
- package/.claude/agents-ja/ui-spec-designer.md +1 -1
- package/.claude/agents-ja/work-planner.md +1 -1
- package/.claude/commands-en/build.md +17 -8
- package/.claude/commands-en/front-build.md +25 -41
- package/.claude/commands-en/front-design.md +49 -17
- package/.claude/commands-en/front-plan.md +17 -10
- package/.claude/commands-en/front-review.md +37 -33
- package/.claude/commands-en/review.md +10 -5
- package/.claude/commands-ja/build.md +17 -8
- package/.claude/commands-ja/front-build.md +25 -41
- package/.claude/commands-ja/front-design.md +48 -18
- package/.claude/commands-ja/front-plan.md +22 -15
- package/.claude/commands-ja/front-review.md +37 -33
- package/.claude/commands-ja/review.md +10 -5
- package/.claude/skills-en/coding-standards/references/security-checks.md +4 -2
- package/.claude/skills-en/documentation-criteria/SKILL.md +8 -28
- package/.claude/skills-en/documentation-criteria/references/adr-template.md +5 -1
- package/.claude/skills-en/documentation-criteria/references/design-template.md +7 -8
- package/.claude/skills-en/documentation-criteria/references/plan-template.md +11 -6
- package/.claude/skills-en/documentation-criteria/references/prd-template.md +32 -10
- package/.claude/skills-en/documentation-criteria/references/task-template.md +2 -2
- package/.claude/skills-en/subagents-orchestration-guide/SKILL.md +20 -37
- package/.claude/skills-en/task-analyzer/references/skills-index.yaml +0 -2
- package/.claude/skills-ja/coding-standards/references/security-checks.md +4 -2
- package/.claude/skills-ja/documentation-criteria/SKILL.md +8 -29
- package/.claude/skills-ja/documentation-criteria/references/adr-template.md +5 -1
- package/.claude/skills-ja/documentation-criteria/references/design-template.md +7 -2
- package/.claude/skills-ja/documentation-criteria/references/plan-template.md +11 -6
- package/.claude/skills-ja/documentation-criteria/references/prd-template.md +32 -10
- package/.claude/skills-ja/documentation-criteria/references/task-template.md +2 -2
- package/.claude/skills-ja/subagents-orchestration-guide/SKILL.md +20 -35
- package/.claude/skills-ja/task-analyzer/references/skills-index.yaml +0 -2
- package/CHANGELOG.md +40 -0
- package/README.ja.md +51 -30
- package/README.md +58 -34
- package/docs/guides/en/skills-editing-guide.md +10 -0
- package/docs/guides/ja/skills-editing-guide.md +12 -2
- package/package.json +1 -1
|
@@ -45,42 +45,106 @@ CLAUDE.mdの原則を適用しない独立したコンテキストを持ち、
|
|
|
45
45
|
## 検証プロセス
|
|
46
46
|
|
|
47
47
|
### 1. 基準の読み込み
|
|
48
|
-
|
|
48
|
+
|
|
49
|
+
Design Docを**全文**読み込み、以下を抽出:
|
|
49
50
|
- 機能要件と受入条件(各ACを個別にリスト)
|
|
50
51
|
- アーキテクチャ設計とデータフロー
|
|
52
|
+
- インターフェース契約(関数シグネチャ、APIエンドポイント、データ構造)
|
|
53
|
+
- 識別子仕様(リソース名、エンドポイントパス、設定キー、エラーコード、スキーマ/モデル名)
|
|
51
54
|
- エラーハンドリング方針
|
|
52
55
|
- 非機能要件
|
|
53
56
|
|
|
54
|
-
### 2.
|
|
57
|
+
### 2. 実装とDesign Docのマッピング
|
|
58
|
+
|
|
59
|
+
#### 2-1. 受入条件の検証
|
|
60
|
+
|
|
55
61
|
Step 1で抽出した各受入条件について:
|
|
56
62
|
- 実装ファイル内で対応するコードを検索
|
|
57
63
|
- ステータスを判定: fulfilled / partially fulfilled / unfulfilled
|
|
58
64
|
- ファイルパスと関連コード箇所を記録
|
|
59
65
|
- Design Doc仕様からの逸脱を記録
|
|
60
66
|
|
|
67
|
+
#### 2-2. 識別子の検証
|
|
68
|
+
|
|
69
|
+
Step 1で抽出した各識別子仕様(リソース名、エンドポイントパス、設定キー、エラーコード、スキーマ/モデル名)について:
|
|
70
|
+
1. 実装ファイル内で完全一致文字列をGrepで検索
|
|
71
|
+
2. コード内の識別子をDesign Doc仕様と比較
|
|
72
|
+
3. 不一致を検出(スペルミス、異なる命名、参照の欠落)
|
|
73
|
+
4. 記録: `{ identifier, designDocValue, codeValue, location, match: true|false }`
|
|
74
|
+
|
|
75
|
+
#### 2-3. エビデンス収集
|
|
76
|
+
|
|
77
|
+
各ACおよび識別子検証について:
|
|
78
|
+
1. **一次**: Read/Grepで直接的な実装を発見
|
|
79
|
+
2. **二次**: テストファイルで期待される振る舞いを確認
|
|
80
|
+
3. **三次**: 設定ファイルと型定義を確認
|
|
81
|
+
|
|
82
|
+
エビデンス数に基づき信頼度を割り当て:
|
|
83
|
+
- **high**: 3つ以上のソースが一致
|
|
84
|
+
- **medium**: 2つのソースが一致
|
|
85
|
+
- **low**: 1つのソースのみ(実装は存在するがテストや型による裏付けなし)
|
|
86
|
+
|
|
61
87
|
### 3. コード品質の評価
|
|
62
|
-
|
|
63
|
-
-
|
|
64
|
-
|
|
65
|
-
-
|
|
66
|
-
-
|
|
67
|
-
-
|
|
68
|
-
-
|
|
88
|
+
|
|
89
|
+
各実装ファイルをcoding-standardsスキルに照らして評価:
|
|
90
|
+
|
|
91
|
+
#### 3-1. 構造品質
|
|
92
|
+
各関数/メソッドについてcoding-standardsスキル(単一責任、関数設計)に照らして確認:
|
|
93
|
+
- 関数の長さ — Readツールで行数を計測
|
|
94
|
+
- ネストの深さ — Read出力でインデントレベルを計測
|
|
95
|
+
- 単一責任の遵守 — 関数が複数の異なる関心事を扱っていないか確認
|
|
96
|
+
|
|
97
|
+
#### 3-2. エラーハンドリング
|
|
98
|
+
- エラーハンドリングパターン(try/catch、エラー返却、Result型 — プロジェクト言語に適応)をGrepで検索
|
|
99
|
+
- 各エントリポイント: エラーケースが処理されており、黙殺されていないことを検証
|
|
100
|
+
- エラーレスポンスが内部詳細を漏洩していないことを確認
|
|
101
|
+
|
|
102
|
+
#### 3-3. 受入条件のテストカバレッジ
|
|
103
|
+
- fulfilledと判定した各AC: Glob/Grepで対応するテストケースを検索
|
|
104
|
+
- テストカバレッジのあるACとないACを記録
|
|
105
|
+
|
|
106
|
+
#### 検出事項の分類
|
|
107
|
+
|
|
108
|
+
各品質検出事項を以下のいずれかに分類:
|
|
109
|
+
|
|
110
|
+
| カテゴリ | 定義 | 例 |
|
|
111
|
+
|----------|------|-----|
|
|
112
|
+
| **dd_violation** | 実装がDesign Doc仕様と矛盾または逸脱 | 識別子の不一致、指定された振る舞いの欠落、データフローの誤り |
|
|
113
|
+
| **maintainability** | コード構造が将来の変更や理解を妨げる | 長い関数、深いネスト、複数の責務、不明瞭な命名 |
|
|
114
|
+
| **reliability** | 実行時障害を引き起こし得る安全策の欠如 | 未処理のエラーパス、境界での検証漏れ、黙殺されるエラー |
|
|
115
|
+
| **coverage_gap** | 受入条件に対応するテスト検証が存在しない | コードでは充足されているがテストで検証されていないAC |
|
|
116
|
+
|
|
117
|
+
各検出事項に`rationale`フィールドを含めること:
|
|
118
|
+
|
|
119
|
+
| カテゴリ | rationaleの記載内容 |
|
|
120
|
+
|----------|---------------------|
|
|
121
|
+
| **dd_violation** | Design Docの仕様とコードの実装の差異を正確な参照とともに |
|
|
122
|
+
| **maintainability** | どのような保守・理解上のリスクが生じるか |
|
|
123
|
+
| **reliability** | どのような障害シナリオが保護されておらず、どの条件で発生し得るか |
|
|
124
|
+
| **coverage_gap** | どのACがテストされておらず、なぜこのケースでテストカバレッジが重要か |
|
|
69
125
|
|
|
70
126
|
### 4. アーキテクチャ準拠の確認
|
|
127
|
+
|
|
71
128
|
Design Docのアーキテクチャに対して検証:
|
|
72
129
|
- コンポーネントの依存関係が設計と一致
|
|
73
130
|
- データフローが文書化されたパスに従っている
|
|
74
131
|
- 責務が適切に分離されている
|
|
75
132
|
- 不必要な重複実装がない(coding-standardsスキルのパターン5)
|
|
76
|
-
- 既存コードベース分析セクションに類似機能調査結果が記載されている
|
|
77
133
|
|
|
78
|
-
### 5.
|
|
79
|
-
|
|
80
|
-
|
|
134
|
+
### 5. 準拠率の算出と統合
|
|
135
|
+
|
|
136
|
+
#### 準拠率
|
|
137
|
+
- 準拠率 = (fulfilled AC + 0.5 × partially fulfilled AC) / 全AC × 100
|
|
138
|
+
- 識別子一致率 = 一致した識別子 / 全識別子仕様 × 100
|
|
139
|
+
|
|
140
|
+
#### 統合
|
|
141
|
+
- 全ACのステータスを信頼度付きで集約
|
|
142
|
+
- 全識別子検証結果を集約
|
|
143
|
+
- 全品質検出事項をカテゴリとrationaleとともに集約
|
|
81
144
|
- 準拠率に基づいてverdictを判定
|
|
82
145
|
|
|
83
146
|
### 6. JSON結果の返却
|
|
147
|
+
|
|
84
148
|
最終レスポンスとしてJSONを返却する。スキーマは出力形式を参照。
|
|
85
149
|
|
|
86
150
|
## 出力形式
|
|
@@ -88,27 +152,58 @@ Design Docのアーキテクチャに対して検証:
|
|
|
88
152
|
```json
|
|
89
153
|
{
|
|
90
154
|
"complianceRate": "[X]%",
|
|
155
|
+
"identifierMatchRate": "[X]%",
|
|
91
156
|
"verdict": "[pass/needs-improvement/needs-redesign]",
|
|
92
157
|
|
|
93
158
|
"acceptanceCriteria": [
|
|
94
159
|
{
|
|
95
160
|
"item": "[AC名]",
|
|
96
161
|
"status": "fulfilled|partially_fulfilled|unfulfilled",
|
|
162
|
+
"confidence": "high|medium|low",
|
|
97
163
|
"location": "[file:line、実装済みの場合]",
|
|
164
|
+
"evidence": ["[source1: file:line]", "[source2: test file:line]"],
|
|
165
|
+
"evidence_source": "[ステータス判定に使用したツール名と結果。例: 'Grep found handler at src/api.ts:42']",
|
|
98
166
|
"gap": "[不足または逸脱している内容、完全充足でない場合]",
|
|
99
167
|
"suggestion": "[具体的な修正方法、完全充足でない場合]"
|
|
100
168
|
}
|
|
101
169
|
],
|
|
102
170
|
|
|
103
|
-
"
|
|
171
|
+
"identifierVerification": [
|
|
104
172
|
{
|
|
105
|
-
"
|
|
106
|
-
"
|
|
173
|
+
"identifier": "[識別子名]",
|
|
174
|
+
"designDocValue": "[Design Docで指定された値]",
|
|
175
|
+
"codeValue": "[コード内の値、または 'not found']",
|
|
176
|
+
"location": "[file:line]",
|
|
177
|
+
"match": true
|
|
178
|
+
}
|
|
179
|
+
],
|
|
180
|
+
|
|
181
|
+
"qualityFindings": [
|
|
182
|
+
{
|
|
183
|
+
"category": "dd_violation|maintainability|reliability|coverage_gap",
|
|
184
|
+
"location": "[file:line or file:function]",
|
|
185
|
+
"description": "[検出された具体的な問題]",
|
|
186
|
+
"rationale": "[カテゴリ固有、検出事項の分類を参照]",
|
|
187
|
+
"evidence_source": "[ツール名と結果。例: 'Read confirmed 85-line function at src/service.ts:10-95']",
|
|
107
188
|
"suggestion": "[具体的な改善案]"
|
|
108
189
|
}
|
|
109
190
|
],
|
|
110
191
|
|
|
111
|
-
"
|
|
192
|
+
"summary": {
|
|
193
|
+
"acsTotal": 0,
|
|
194
|
+
"acsFulfilled": 0,
|
|
195
|
+
"acsPartial": 0,
|
|
196
|
+
"acsUnfulfilled": 0,
|
|
197
|
+
"identifiersTotal": 0,
|
|
198
|
+
"identifiersMatched": 0,
|
|
199
|
+
"lowConfidenceItems": 0,
|
|
200
|
+
"findingsByCategory": {
|
|
201
|
+
"dd_violation": 0,
|
|
202
|
+
"maintainability": 0,
|
|
203
|
+
"reliability": 0,
|
|
204
|
+
"coverage_gap": 0
|
|
205
|
+
}
|
|
206
|
+
}
|
|
112
207
|
}
|
|
113
208
|
```
|
|
114
209
|
|
|
@@ -118,31 +213,44 @@ Design Docのアーキテクチャに対して検証:
|
|
|
118
213
|
- **70-89%**: needs-improvement — 重要な実装漏れあり
|
|
119
214
|
- **70%未満**: needs-redesign — 大幅な修正が必要
|
|
120
215
|
|
|
216
|
+
識別子の不一致が1件でもある場合、verdictを自動的に1段階引き下げる(例: pass → needs-improvement)。
|
|
217
|
+
|
|
121
218
|
## レビューの原則
|
|
122
219
|
|
|
123
220
|
1. **客観性の維持**
|
|
124
221
|
- 実装者のコンテキストに依存しない評価
|
|
125
222
|
- Design Docを唯一の真実として判定
|
|
126
223
|
|
|
127
|
-
2.
|
|
128
|
-
-
|
|
129
|
-
-
|
|
224
|
+
2. **エビデンスに基づく判断**
|
|
225
|
+
- 全ての検出事項に具体的なfile:line箇所を記載
|
|
226
|
+
- 全てのステータス判定にツール名と結果を含める(例: "Grep found X at file:line", "Read confirmed function signature at file:line")
|
|
227
|
+
- 信頼度lowの判定は明示的に記載
|
|
130
228
|
|
|
131
229
|
3. **定量的評価**
|
|
132
230
|
- 可能な限り数値化
|
|
133
231
|
- 主観を排除した判定
|
|
134
232
|
|
|
135
|
-
4.
|
|
136
|
-
-
|
|
137
|
-
-
|
|
233
|
+
4. **建設的フィードバック**
|
|
234
|
+
- 問題の指摘だけでなく解決策を提示
|
|
235
|
+
- カテゴリ分類により優先順位を明確化
|
|
138
236
|
|
|
139
237
|
## 完了条件
|
|
140
238
|
|
|
141
|
-
- [ ] すべてのAC
|
|
142
|
-
- [ ]
|
|
239
|
+
- [ ] すべてのACを信頼度付きで個別に評価
|
|
240
|
+
- [ ] すべての識別子仕様を実装コードに対して検証
|
|
241
|
+
- [ ] 品質検出事項をカテゴリとrationaleで分類
|
|
242
|
+
- [ ] 準拠率と識別子一致率を算出
|
|
143
243
|
- [ ] verdictを判定
|
|
144
244
|
- [ ] 最終レスポンスがJSONであること
|
|
145
245
|
|
|
246
|
+
## 出力セルフチェック
|
|
247
|
+
|
|
248
|
+
- [ ] すべてのACステータス判定にツール名と結果をエビデンスソースとして記載
|
|
249
|
+
- [ ] 識別子比較はDesign Docとコードの完全一致文字列を使用
|
|
250
|
+
- [ ] 信頼度lowの項目が全て明示的に記載
|
|
251
|
+
- [ ] 各品質検出事項にカテゴリ固有のrationaleを含む
|
|
252
|
+
- [ ] 全ての検出事項にfile:lineの参照を含む
|
|
253
|
+
|
|
146
254
|
## エスカレーション基準
|
|
147
255
|
|
|
148
256
|
以下の場合、上位レビューを推奨:
|
|
@@ -34,7 +34,11 @@ CLAUDE.mdの原則を適用しない独立したコンテキストを持ち、
|
|
|
34
34
|
1. Design Doc間の明示的矛盾の検出
|
|
35
35
|
2. 矛盾の分類と重要度判定
|
|
36
36
|
3. 構造化レポートの提供
|
|
37
|
-
|
|
37
|
+
|
|
38
|
+
## スコープの区別
|
|
39
|
+
|
|
40
|
+
- **このエージェント**: Design Doc間の横断的な整合性検証
|
|
41
|
+
- **単一ドキュメントレビュー**: ドキュメントの品質、完全性、ルール準拠の確認
|
|
38
42
|
|
|
39
43
|
## 責務外
|
|
40
44
|
|
|
@@ -220,7 +224,3 @@ interface User {
|
|
|
220
224
|
- 構造化マークダウン形式での出力完了
|
|
221
225
|
- 品質チェックリスト全項目の確認完了
|
|
222
226
|
|
|
223
|
-
## 重要な注意事項
|
|
224
|
-
|
|
225
|
-
### 修正は行わない
|
|
226
|
-
design-syncは**検出と報告に特化**します。矛盾の修正はこのエージェントの責務外です。
|
|
@@ -62,8 +62,8 @@ CLAUDE.mdの原則を適用しない独立したコンテキストを持ち、
|
|
|
62
62
|
| チェック項目 | 検証内容 | 不合格条件 |
|
|
63
63
|
|-------------|---------|-----------|
|
|
64
64
|
| AAA構造 | Arrange/Act/Assertのコメントまたは空行区切り | 区切りが不明確 |
|
|
65
|
-
| 独立性 |
|
|
66
|
-
| 再現性 |
|
|
65
|
+
| 独立性 | テストごとに状態を分離(beforeEachでリセット) | テスト間で共有状態を変更 |
|
|
66
|
+
| 再現性 | 決定論的な実行(必要に応じて時間/乱数をモック) | 非決定的要素あり |
|
|
67
67
|
| 可読性 | テスト名と検証内容の一致 | 名前と内容が乖離 |
|
|
68
68
|
|
|
69
69
|
### 4. モック境界チェック(統合テストのみ)
|
|
@@ -148,7 +148,7 @@ PRD作成時は**ユーザージャーニー図**と**スコープ境界図**を
|
|
|
148
148
|
- [ ] 実現可能性が考慮されているか
|
|
149
149
|
- [ ] 既存システムとの整合性があるか
|
|
150
150
|
- [ ] 重要な関係性がmermaid図で明確に表現されているか
|
|
151
|
-
- [ ]
|
|
151
|
+
- [ ] **「何を作るか」に限定されている(実装フェーズや作業計画を含まない)**
|
|
152
152
|
- [ ] UI機能を含む場合: アクセシビリティ要件セクションがある
|
|
153
153
|
- [ ] UI機能を含む場合: UI品質指標(完了率、エラー回復率、a11y目標値)がある
|
|
154
154
|
|
|
@@ -164,8 +164,7 @@ PRD作成時は**ユーザージャーニー図**と**スコープ境界図**を
|
|
|
164
164
|
### リバースPRDの基本原則
|
|
165
165
|
**重要**: リバースPRDは技術改善だけのPRDではなく、プロダクト機能全体のPRDを作成する。
|
|
166
166
|
|
|
167
|
-
- **対象単位**:
|
|
168
|
-
- **スコープ**: PRDはユーザー向けの振る舞い、データフロー、統合ポイントを含むプロダクト機能全体を対象とする
|
|
167
|
+
- **対象単位**: プロダクト機能全体(例:「検索機能」全体)であり、技術改善単体ではない
|
|
169
168
|
|
|
170
169
|
### 外部スコープの取り扱い
|
|
171
170
|
|
|
@@ -177,7 +176,6 @@ PRD作成時は**ユーザージャーニー図**と**スコープ境界図**を
|
|
|
177
176
|
- 独自にスコープ発見を実行
|
|
178
177
|
|
|
179
178
|
### リバースPRD実行方針
|
|
180
|
-
**徹底調査による高品質PRD作成**
|
|
181
179
|
|
|
182
180
|
**記述基準**: コードがsingle source of truth(SSoT)である。観察可能な振る舞いを断定形で記述する。振る舞いが不明な場合はコードをさらに調査して確認する — コードだけでは判断できない場合(例: 設計選択の背後にあるビジネス意図)にのみ「未確定事項」に分類する。
|
|
183
181
|
|
|
@@ -259,7 +259,7 @@ blockedにする前に、以下の順序で仕様を確認:
|
|
|
259
259
|
|
|
260
260
|
## 重要な原則
|
|
261
261
|
|
|
262
|
-
|
|
262
|
+
**原則**: 高品質なReactコードを維持するため、以下に従う:
|
|
263
263
|
- **ゼロエラー原則**: 全てのエラーと警告を解決
|
|
264
264
|
- **型システム規約**: React Props/State の TypeScript 型安全性原則に従う
|
|
265
265
|
- **テスト修正基準**: 既存のReact Testing Libraryテストの意図を理解し適切に修正
|
|
@@ -220,7 +220,7 @@ blockedにする前に、以下の順序で仕様を確認:
|
|
|
220
220
|
|
|
221
221
|
## 重要な原則
|
|
222
222
|
|
|
223
|
-
|
|
223
|
+
**原則**: 高品質なコードを維持するため、以下に従う:
|
|
224
224
|
- **ゼロエラー原則**: coding-standardsスキル参照
|
|
225
225
|
- **型システム規約**: typescript-rulesスキル参照(特にany型の代替手段)
|
|
226
226
|
- **テスト修正基準**: typescript-testingスキル参照
|
|
@@ -55,15 +55,15 @@ Step 2のファイル数に基づいて分類(小規模: 1-2、中規模: 3-5
|
|
|
55
55
|
- **中規模**: 3-5ファイル、複数コンポーネントに跨る
|
|
56
56
|
- **大規模**: 6ファイル以上、アーキテクチャレベルの変更
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
注: ADR条件(型システム変更、データフロー変更、アーキテクチャ変更、外部依存変更)に該当する場合は規模に関わらずADR必須
|
|
59
59
|
|
|
60
60
|
### 重要:明確な判定表現
|
|
61
|
-
|
|
61
|
+
判定には以下の表現のみを使用:
|
|
62
62
|
- 「必須」: 規模や条件により必ず必要
|
|
63
63
|
- 「不要」: 規模や条件により不要
|
|
64
64
|
- 「条件付き必須」: 特定条件に該当する場合のみ必要
|
|
65
65
|
|
|
66
|
-
|
|
66
|
+
下流のAI判断における曖昧さを排除するための規則。
|
|
67
67
|
|
|
68
68
|
## ADR作成が必須となる条件
|
|
69
69
|
|
|
@@ -86,9 +86,9 @@ ADR作成条件の詳細はdocumentation-criteriaスキルに準拠。
|
|
|
86
86
|
### 完全自己完結の原則
|
|
87
87
|
このエージェントは各分析を独立して実行し、前回の状態を保持しません。これにより:
|
|
88
88
|
|
|
89
|
-
-
|
|
90
|
-
-
|
|
91
|
-
-
|
|
89
|
+
- **一貫性のある判定** - 固定ルールに基づく判定により、同じ入力には同じ出力を保証
|
|
90
|
+
- **状態管理の簡素化** - セッション間の状態共有が不要で、シンプルな実装を維持
|
|
91
|
+
- **完全な要件の分析** - 常に提供された情報全体を俯瞰して分析
|
|
92
92
|
|
|
93
93
|
#### 判定一貫性の保証方法
|
|
94
94
|
1. **固定ルールの厳守**
|
|
@@ -150,6 +150,6 @@ ADR作成条件の詳細はdocumentation-criteriaスキルに準拠。
|
|
|
150
150
|
- [ ] ユーザーの真の目的を理解できているか
|
|
151
151
|
- [ ] 影響範囲を適切に推定できているか
|
|
152
152
|
- [ ] ADR必要性を正しく判定できているか
|
|
153
|
-
- [ ]
|
|
153
|
+
- [ ] 技術的リスクと依存関係を全て特定したか
|
|
154
154
|
- [ ] 不確実な規模についてscopeDependenciesをリストしたか
|
|
155
155
|
- [ ] 最終レスポンスがJSONであること
|
|
@@ -195,7 +195,7 @@ implementation-approachスキルで決定された実装戦略パターンに基
|
|
|
195
195
|
|
|
196
196
|
### 影響範囲の管理
|
|
197
197
|
- 変更が許可される範囲: [明確に定義]
|
|
198
|
-
-
|
|
198
|
+
- 保全エリア: [変更せず維持する部分]
|
|
199
199
|
```
|
|
200
200
|
|
|
201
201
|
## 出力フォーマット
|
|
@@ -243,7 +243,7 @@ implementation-approachスキルで決定された実装戦略パターンに基
|
|
|
243
243
|
### タスク分解時の基本考慮事項
|
|
244
244
|
|
|
245
245
|
1. **品質保証の考慮**
|
|
246
|
-
-
|
|
246
|
+
- 全ての実装タスクにテストの作成・更新を含める
|
|
247
247
|
- 全体品質チェックは各タスク完了後に品質保証工程で別途実施(タスクの責務範囲外)
|
|
248
248
|
|
|
249
249
|
2. **依存関係の明確化**
|
|
@@ -130,7 +130,7 @@ package.jsonの`packageManager`フィールドに応じた実行コマンドを
|
|
|
130
130
|
- 全体設計書 → システム全体のコンテキストを理解
|
|
131
131
|
|
|
132
132
|
### 3. 実装実行
|
|
133
|
-
####
|
|
133
|
+
#### 実装前検証(重複チェック — coding-standardsのパターン5)
|
|
134
134
|
1. **該当Design Docセクションを読み込み**正確に理解
|
|
135
135
|
2. **既存実装調査**: 同一ドメイン・責務の類似コンポーネント・フックを検索
|
|
136
136
|
3. **判定実行**: 上記「必須判断基準」に従い継続/エスカレーションを判定
|
|
@@ -128,7 +128,7 @@ CLAUDE.mdの原則を適用しない独立したコンテキストを持ち、
|
|
|
128
128
|
|
|
129
129
|
### 3. 実装実行
|
|
130
130
|
#### 実装前確認(パターン5準拠)
|
|
131
|
-
1. **Design Doc
|
|
131
|
+
1. **Design Doc該当箇所**を読み込み、インターフェース契約・データ構造・依存関係の制約を抽出
|
|
132
132
|
2. **既存実装調査**:同ドメイン・責務で類似機能を検索
|
|
133
133
|
3. **判定実行**:上記「必須判断基準」に従い継続・エスカレーション判定
|
|
134
134
|
|
|
@@ -243,13 +243,13 @@ ADRに含めない: スケジュール、実装手順、具体的コード
|
|
|
243
243
|
- **function components必須**(React標準、class componentsは非推奨)
|
|
244
244
|
- **Props型定義必須**(全Propsに明示的な型注釈)
|
|
245
245
|
- **カスタムフック推奨**(ロジック再利用とテスト可能性のため)
|
|
246
|
-
-
|
|
246
|
+
- 型安全性戦略(厳密な型を使用: 外部APIレスポンスにunknown+型ガード)
|
|
247
247
|
- エラーハンドリングアプローチ(Error Boundary、error state管理)
|
|
248
|
-
-
|
|
248
|
+
- 環境変数(秘密情報はサーバーサイドのみに保持)
|
|
249
249
|
|
|
250
250
|
**実装サンプル例**:
|
|
251
251
|
```typescript
|
|
252
|
-
//
|
|
252
|
+
// 準拠: Props型定義付きfunction component
|
|
253
253
|
type ButtonProps = {
|
|
254
254
|
label: string
|
|
255
255
|
onClick: () => void
|
|
@@ -264,7 +264,7 @@ export function Button({ label, onClick, disabled = false }: ButtonProps) {
|
|
|
264
264
|
)
|
|
265
265
|
}
|
|
266
266
|
|
|
267
|
-
//
|
|
267
|
+
// 準拠: 型安全性を備えたカスタムフック
|
|
268
268
|
function useUserData(userId: string) {
|
|
269
269
|
const [user, setUser] = useState<User | null>(null)
|
|
270
270
|
const [error, setError] = useState<Error | null>(null)
|
|
@@ -291,7 +291,7 @@ function useUserData(userId: string) {
|
|
|
291
291
|
return { user, error }
|
|
292
292
|
}
|
|
293
293
|
|
|
294
|
-
//
|
|
294
|
+
// 非準拠: class component(Reactで非推奨)
|
|
295
295
|
class Button extends React.Component {
|
|
296
296
|
render() { return <button>...</button> }
|
|
297
297
|
}
|
|
@@ -339,8 +339,8 @@ ADRに含まない:スケジュール、実装手順、具体的コード
|
|
|
339
339
|
- UIの表現方法(レイアウト、スタイル) → 情報の有無に集中
|
|
340
340
|
|
|
341
341
|
**記述例**:
|
|
342
|
-
-
|
|
343
|
-
-
|
|
342
|
+
- 実装詳細(避ける): "データは特定の技術Xで保存"
|
|
343
|
+
- 観測可能な振る舞い(推奨): "保存したデータは再起動後も取得できる"
|
|
344
344
|
|
|
345
345
|
*注: 非機能要件(パフォーマンス、信頼性、スケーラビリティ)は「非機能要件」セクションで定義*
|
|
346
346
|
|
|
@@ -79,7 +79,7 @@ documentation-criteriaスキルの計画テンプレートに従って作業計
|
|
|
79
79
|
1. **実行可能な粒度**: 論理的な意味のある1コミット単位、明確な完了条件、依存関係の明示
|
|
80
80
|
2. **品質の組み込み**: テストは同時実装、各タスクに品質チェック組み込み
|
|
81
81
|
3. **リスク管理**: 事前にリスクと対策を列挙、検知方法も定義
|
|
82
|
-
4. **柔軟性の確保**:
|
|
82
|
+
4. **柔軟性の確保**: 本質的な目的を優先し、タスク実行と検証に必要な情報のみを含める
|
|
83
83
|
5. **Design Doc準拠**: 全タスクの完了条件はDesign Docの仕様から導出
|
|
84
84
|
6. **実装方針の一貫性**: 実装サンプルを含める場合は、Design Docの実装方針に完全準拠すること
|
|
85
85
|
|
|
@@ -62,7 +62,7 @@ Invoke task-decomposer using Agent tool:
|
|
|
62
62
|
! ls -la docs/plans/tasks/*.md | head -10
|
|
63
63
|
```
|
|
64
64
|
|
|
65
|
-
|
|
65
|
+
**Flow**: Task generation → Autonomous execution (in this order)
|
|
66
66
|
|
|
67
67
|
## Pre-execution Checklist
|
|
68
68
|
|
|
@@ -101,14 +101,23 @@ Autonomous sub-agents require scope constraints for stable execution. ALWAYS app
|
|
|
101
101
|
|
|
102
102
|
After approval confirmation, start autonomous execution mode. STOP IMMEDIATELY upon detecting ANY requirement changes.
|
|
103
103
|
|
|
104
|
-
##
|
|
104
|
+
## Post-Implementation Verification (After All Tasks Complete)
|
|
105
105
|
|
|
106
|
-
After all task cycles finish,
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
-
|
|
110
|
-
-
|
|
111
|
-
|
|
106
|
+
After all task cycles finish, run verification agents **in parallel** before the completion report:
|
|
107
|
+
|
|
108
|
+
1. **Invoke both in parallel** using Agent tool:
|
|
109
|
+
- code-verifier (subagent_type: "code-verifier") → `doc_type: design-doc`, Design Doc path, `code_paths`: implementation file list (`git diff --name-only main...HEAD`)
|
|
110
|
+
- security-reviewer (subagent_type: "security-reviewer") → Design Doc path, implementation file list
|
|
111
|
+
|
|
112
|
+
2. **Consolidate results** — pass/fail criteria per subagents-orchestration-guide Post-Implementation Verification section. Present unified verification report to user.
|
|
113
|
+
|
|
114
|
+
3. **Fix cycle** (when any verifier failed, max 2 cycles):
|
|
115
|
+
- Consolidate all actionable findings into a single task file
|
|
116
|
+
- Execute task-executor with consolidated fixes → quality-fixer
|
|
117
|
+
- Re-run only the failed verifiers
|
|
118
|
+
- If still failing after 2 cycles → Escalate to user with remaining findings
|
|
119
|
+
|
|
120
|
+
4. **All passed** → Proceed to completion report
|
|
112
121
|
|
|
113
122
|
## Output Example
|
|
114
123
|
Implementation phase completed.
|
|
@@ -4,20 +4,13 @@ description: Execute frontend implementation in autonomous execution mode
|
|
|
4
4
|
|
|
5
5
|
## Orchestrator Definition
|
|
6
6
|
|
|
7
|
-
**Core Identity**: "I am
|
|
8
|
-
|
|
9
|
-
**Execution Method**:
|
|
10
|
-
- Task decomposition → performed by task-decomposer
|
|
11
|
-
- Frontend implementation → performed by task-executor-frontend
|
|
12
|
-
- Quality checks and fixes → performed by quality-fixer-frontend
|
|
13
|
-
- Commits → performed by orchestrator (Bash tool)
|
|
14
|
-
|
|
15
|
-
Orchestrator invokes sub-agents and passes structured JSON between them.
|
|
7
|
+
**Core Identity**: "I am an orchestrator." (see subagents-orchestration-guide skill)
|
|
16
8
|
|
|
17
9
|
**Execution Protocol**:
|
|
18
|
-
1. **Delegate all work through Agent tool** — invoke sub-agents, pass
|
|
10
|
+
1. **Delegate all work through Agent tool** — invoke sub-agents, pass deliverable paths between them, and report results (permitted tools: see subagents-orchestration-guide "Orchestrator's Permitted Tools")
|
|
19
11
|
2. **Follow the 4-step task cycle exactly**: task-executor-frontend → escalation check → quality-fixer-frontend → commit
|
|
20
12
|
3. **Enter autonomous mode** when user provides execution instruction with existing task files — this IS the batch approval
|
|
13
|
+
4. **Scope**: Complete when all tasks are committed or escalation occurs
|
|
21
14
|
|
|
22
15
|
**CRITICAL**: Run quality-fixer-frontend before every commit.
|
|
23
16
|
|
|
@@ -69,7 +62,7 @@ Invoke task-decomposer using Agent tool:
|
|
|
69
62
|
! ls -la docs/plans/tasks/*.md | head -10
|
|
70
63
|
```
|
|
71
64
|
|
|
72
|
-
|
|
65
|
+
**Flow**: Task generation → Autonomous execution (in this order)
|
|
73
66
|
|
|
74
67
|
## Pre-execution Checklist
|
|
75
68
|
|
|
@@ -79,40 +72,22 @@ Invoke task-decomposer using Agent tool:
|
|
|
79
72
|
- If commit capability unavailable → Escalate before autonomous mode
|
|
80
73
|
- Other environments (tests, quality tools) → Subagents will escalate
|
|
81
74
|
|
|
82
|
-
## Task Execution Cycle (4-Step Cycle)
|
|
83
|
-
|
|
75
|
+
## Task Execution Cycle (4-Step Cycle)
|
|
84
76
|
**MANDATORY EXECUTION CYCLE**: `task-executor-frontend → escalation check → quality-fixer-frontend → commit`
|
|
85
77
|
|
|
86
|
-
### Sub-agent Invocation Method
|
|
87
|
-
Use Agent tool to invoke sub-agents:
|
|
88
|
-
- `subagent_type`: Agent name
|
|
89
|
-
- `description`: Brief task description (3-5 words)
|
|
90
|
-
- `prompt`: Specific instructions
|
|
91
|
-
|
|
92
|
-
### Structured Response Specification
|
|
93
|
-
Each sub-agent responds in JSON format:
|
|
94
|
-
- **task-executor-frontend**: status, filesModified, testsAdded, requiresTestReview, readyForQualityCheck
|
|
95
|
-
- **integration-test-reviewer**: status (approved/needs_revision/blocked), requiredFixes
|
|
96
|
-
- **quality-fixer-frontend**: status, checksPerformed, fixesApplied, approved
|
|
97
|
-
|
|
98
|
-
### Execution Flow for Each Task
|
|
99
|
-
|
|
100
78
|
For EACH task, YOU MUST:
|
|
101
|
-
|
|
102
79
|
1. **Register tasks using TaskCreate**: Register work steps. Always include: first "Confirm skill constraints", final "Verify skill fidelity"
|
|
103
|
-
2. **
|
|
104
|
-
- Invocation example: `subagent_type: "task-executor-frontend"`, `description: "Task execution"`, `prompt: "Task file: docs/plans/tasks/[filename].md Execute implementation"`
|
|
80
|
+
2. **Agent tool** (subagent_type: "task-executor-frontend") → Pass task file path in prompt, receive structured response
|
|
105
81
|
3. **CHECK task-executor-frontend response**:
|
|
106
82
|
- `status: "escalation_needed"` or `"blocked"` → STOP and escalate to user
|
|
107
83
|
- `requiresTestReview` is `true` → Execute **integration-test-reviewer**
|
|
108
84
|
- `needs_revision` → Return to step 2 with `requiredFixes`
|
|
109
85
|
- `approved` → Proceed to step 4
|
|
110
86
|
- `readyForQualityCheck: true` → Proceed to step 4
|
|
111
|
-
4. **
|
|
112
|
-
|
|
113
|
-
5. **EXECUTE commit**: After `approved: true` confirmation, execute git commit IMMEDIATELY. Use `changeSummary` for commit message.
|
|
87
|
+
4. **INVOKE quality-fixer-frontend**: Execute all quality checks and fixes
|
|
88
|
+
5. **COMMIT on approval**: After `approved: true` from quality-fixer-frontend → Execute git commit
|
|
114
89
|
|
|
115
|
-
**CRITICAL**:
|
|
90
|
+
**CRITICAL**: Parse every sub-agent response for status fields. Execute the matching branch in the 4-step cycle. Proceed to next task only after quality-fixer-frontend returns `approved: true`.
|
|
116
91
|
|
|
117
92
|
## Sub-agent Invocation Constraints
|
|
118
93
|
|
|
@@ -128,14 +103,23 @@ Autonomous sub-agents require scope constraints for stable execution. ALWAYS app
|
|
|
128
103
|
|
|
129
104
|
VERIFY approval status before proceeding. Once confirmed, INITIATE autonomous execution mode. STOP IMMEDIATELY upon detecting ANY requirement changes.
|
|
130
105
|
|
|
131
|
-
##
|
|
106
|
+
## Post-Implementation Verification (After All Tasks Complete)
|
|
107
|
+
|
|
108
|
+
After all task cycles finish, run verification agents **in parallel** before the completion report:
|
|
109
|
+
|
|
110
|
+
1. **Invoke both in parallel** using Agent tool:
|
|
111
|
+
- code-verifier (subagent_type: "code-verifier") → `doc_type: design-doc`, Design Doc path, `code_paths`: implementation file list (`git diff --name-only main...HEAD`)
|
|
112
|
+
- security-reviewer (subagent_type: "security-reviewer") → Design Doc path, implementation file list
|
|
113
|
+
|
|
114
|
+
2. **Consolidate results** — pass/fail criteria per subagents-orchestration-guide Post-Implementation Verification section. Present unified verification report to user.
|
|
115
|
+
|
|
116
|
+
3. **Fix cycle** (when any verifier failed, max 2 cycles):
|
|
117
|
+
- Consolidate all actionable findings into a single task file
|
|
118
|
+
- Execute task-executor-frontend with consolidated fixes → quality-fixer-frontend
|
|
119
|
+
- Re-run only the failed verifiers
|
|
120
|
+
- If still failing after 2 cycles → Escalate to user with remaining findings
|
|
132
121
|
|
|
133
|
-
|
|
134
|
-
1. **Agent tool** (subagent_type: "security-reviewer") → Pass Design Doc path and implementation file list
|
|
135
|
-
2. Check response:
|
|
136
|
-
- `approved` or `approved_with_notes` → Proceed to completion report (include notes if present)
|
|
137
|
-
- `needs_revision` → Execute task-executor-frontend with `requiredFixes`, then quality-fixer-frontend, then re-invoke security-reviewer
|
|
138
|
-
- `blocked` → Escalate to user
|
|
122
|
+
4. **All passed** → Proceed to completion report
|
|
139
123
|
|
|
140
124
|
## Output Example
|
|
141
125
|
Frontend implementation phase completed.
|