create-ai-project 1.23.3 → 1.23.5
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 +8 -31
- package/.claude/agents-en/code-reviewer.md +15 -24
- package/.claude/agents-en/code-verifier.md +3 -32
- package/.claude/agents-en/codebase-analyzer.md +10 -78
- package/.claude/agents-en/document-reviewer.md +10 -57
- package/.claude/agents-en/integration-test-reviewer.md +6 -37
- package/.claude/agents-en/investigator.md +6 -59
- package/.claude/agents-en/quality-fixer-frontend.md +4 -8
- package/.claude/agents-en/quality-fixer.md +4 -8
- package/.claude/agents-en/requirement-analyzer.md +3 -14
- package/.claude/agents-en/rule-advisor.md +3 -16
- package/.claude/agents-en/scope-discoverer.md +5 -29
- package/.claude/agents-en/security-reviewer.md +2 -13
- package/.claude/agents-en/skill-creator.md +3 -6
- package/.claude/agents-en/skill-reviewer.md +7 -43
- package/.claude/agents-en/solver.md +9 -24
- package/.claude/agents-en/task-decomposer.md +19 -1
- package/.claude/agents-en/task-executor-frontend.md +15 -20
- package/.claude/agents-en/task-executor.md +15 -20
- package/.claude/agents-en/ui-analyzer.md +16 -115
- package/.claude/agents-en/verifier.md +9 -53
- package/.claude/agents-en/work-planner.md +2 -5
- package/.claude/agents-ja/acceptance-test-generator.md +8 -31
- package/.claude/agents-ja/code-reviewer.md +15 -24
- package/.claude/agents-ja/code-verifier.md +3 -32
- package/.claude/agents-ja/codebase-analyzer.md +10 -78
- package/.claude/agents-ja/document-reviewer.md +10 -57
- package/.claude/agents-ja/integration-test-reviewer.md +6 -37
- package/.claude/agents-ja/investigator.md +6 -59
- package/.claude/agents-ja/quality-fixer-frontend.md +4 -8
- package/.claude/agents-ja/quality-fixer.md +4 -8
- package/.claude/agents-ja/requirement-analyzer.md +3 -14
- package/.claude/agents-ja/rule-advisor.md +3 -16
- package/.claude/agents-ja/scope-discoverer.md +5 -29
- package/.claude/agents-ja/security-reviewer.md +2 -13
- package/.claude/agents-ja/skill-creator.md +3 -6
- package/.claude/agents-ja/skill-reviewer.md +7 -43
- package/.claude/agents-ja/solver.md +9 -24
- package/.claude/agents-ja/task-decomposer.md +19 -1
- package/.claude/agents-ja/task-executor-frontend.md +15 -20
- package/.claude/agents-ja/task-executor.md +15 -20
- package/.claude/agents-ja/ui-analyzer.md +16 -115
- package/.claude/agents-ja/verifier.md +9 -53
- package/.claude/agents-ja/work-planner.md +2 -5
- package/.claude/commands-en/build.md +6 -15
- package/.claude/commands-en/front-build.md +4 -13
- package/.claude/commands-en/implement.md +2 -15
- package/.claude/commands-en/plan.md +7 -2
- package/.claude/commands-en/prepare-implementation.md +7 -17
- package/.claude/commands-en/sync-skills.md +3 -3
- package/.claude/commands-ja/build.md +7 -16
- package/.claude/commands-ja/front-build.md +4 -13
- package/.claude/commands-ja/implement.md +2 -15
- package/.claude/commands-ja/plan.md +6 -1
- package/.claude/commands-ja/prepare-implementation.md +8 -18
- package/.claude/commands-ja/sync-skills.md +3 -3
- package/.claude/skills-en/documentation-criteria/references/plan-template.md +1 -3
- package/.claude/skills-en/documentation-criteria/references/task-template.md +8 -0
- package/.claude/skills-en/frontend-technical-spec/SKILL.md +4 -8
- package/.claude/skills-en/frontend-typescript-rules/SKILL.md +4 -2
- package/.claude/skills-en/frontend-typescript-testing/SKILL.md +5 -11
- package/.claude/skills-en/integration-e2e-testing/SKILL.md +2 -0
- package/.claude/skills-en/subagents-orchestration-guide/SKILL.md +2 -7
- package/.claude/skills-en/technical-spec/SKILL.md +4 -3
- package/.claude/skills-en/typescript-testing/SKILL.md +4 -4
- package/.claude/skills-ja/documentation-criteria/references/plan-template.md +1 -3
- package/.claude/skills-ja/documentation-criteria/references/task-template.md +8 -0
- package/.claude/skills-ja/frontend-technical-spec/SKILL.md +4 -8
- package/.claude/skills-ja/frontend-typescript-rules/SKILL.md +4 -2
- package/.claude/skills-ja/frontend-typescript-testing/SKILL.md +5 -11
- package/.claude/skills-ja/integration-e2e-testing/SKILL.md +2 -0
- package/.claude/skills-ja/subagents-orchestration-guide/SKILL.md +2 -7
- package/.claude/skills-ja/task-analyzer/references/skills-index.yaml +3 -3
- package/.claude/skills-ja/technical-spec/SKILL.md +4 -3
- package/.claude/skills-ja/typescript-testing/SKILL.md +4 -4
- package/CHANGELOG.md +16 -0
- package/package.json +1 -1
|
@@ -109,106 +109,38 @@ skills: coding-standards, project-context, technical-spec
|
|
|
109
109
|
|
|
110
110
|
```json
|
|
111
111
|
{
|
|
112
|
-
"analysisScope": {
|
|
113
|
-
"filesAnalyzed": ["path/to/file1"],
|
|
114
|
-
"tracedDependencies": ["path/to/dep1"],
|
|
115
|
-
"categoriesDetected": ["data_layer", "external_integration", "validation", "auth"]
|
|
116
|
-
},
|
|
112
|
+
"analysisScope": {"filesAnalyzed": ["path/to/file1"], "tracedDependencies": ["path/to/dep1"], "categoriesDetected": ["data_layer", "external_integration", "validation", "auth"]},
|
|
117
113
|
"existingElements": [
|
|
118
|
-
{
|
|
119
|
-
"category": "interface|type|function|method|class|constant|configuration",
|
|
120
|
-
"name": "要素名",
|
|
121
|
-
"filePath": "path/to/file:行番号",
|
|
122
|
-
"visibility": "public|private|internal",
|
|
123
|
-
"signature": "シグネチャまたは定義の概要",
|
|
124
|
-
"usedBy": ["path/to/consumer1"]
|
|
125
|
-
}
|
|
114
|
+
{"category": "interface|type|function|method|class|constant|configuration", "name": "要素名", "filePath": "path/to/file:行番号", "visibility": "public|private|internal", "signature": "シグネチャまたは定義の概要", "usedBy": ["path/to/consumer1"]}
|
|
126
115
|
],
|
|
127
116
|
"dataModel": {
|
|
128
117
|
"detected": true,
|
|
129
118
|
"schemas": [
|
|
130
|
-
{
|
|
131
|
-
"name": "テーブルまたはモデル名",
|
|
132
|
-
"definitionPath": "path/to/schema:行番号",
|
|
133
|
-
"fields": [
|
|
134
|
-
{
|
|
135
|
-
"name": "フィールド名",
|
|
136
|
-
"type": "フィールド型",
|
|
137
|
-
"constraints": ["NOT NULL", "UNIQUE"]
|
|
138
|
-
}
|
|
139
|
-
],
|
|
140
|
-
"relationships": [
|
|
141
|
-
"外部キーカラム経由で他テーブルを参照"
|
|
142
|
-
]
|
|
143
|
-
}
|
|
119
|
+
{"name": "テーブルまたはモデル名", "definitionPath": "path/to/schema:行番号", "fields": [{"name": "フィールド名", "type": "フィールド型", "constraints": ["NOT NULL", "UNIQUE"]}], "relationships": ["外部キーカラム経由で他テーブルを参照"]}
|
|
144
120
|
],
|
|
145
121
|
"accessPatterns": [
|
|
146
|
-
{
|
|
147
|
-
"operation": "read|write|aggregate|join|delete",
|
|
148
|
-
"location": "path/to/file:行番号",
|
|
149
|
-
"targetSchema": "テーブルまたはモデル名",
|
|
150
|
-
"description": "操作内容の概要"
|
|
151
|
-
}
|
|
122
|
+
{"operation": "read|write|aggregate|join|delete", "location": "path/to/file:行番号", "targetSchema": "テーブルまたはモデル名", "description": "操作内容の概要"}
|
|
152
123
|
],
|
|
153
124
|
"migrationFiles": ["path/to/migration/files"]
|
|
154
125
|
},
|
|
155
126
|
"dataTransformationPipelines": [
|
|
156
|
-
{
|
|
157
|
-
"entryPoint": "ClassName.methodName (file:line)",
|
|
158
|
-
"steps": [
|
|
159
|
-
{
|
|
160
|
-
"order": 1,
|
|
161
|
-
"method": "methodName (file:line)",
|
|
162
|
-
"input": "入力データ/フォーマットの説明",
|
|
163
|
-
"output": "出力データ/フォーマットの説明",
|
|
164
|
-
"externalLookups": ["MasterTable.getData() でコード変換"],
|
|
165
|
-
"transformation": "何が変わるか(例: 生値がルックアップテーブル経由で表示値にマッピング)"
|
|
166
|
-
}
|
|
167
|
-
],
|
|
168
|
-
"intermediateFormats": ["中間データ表現の説明(該当する場合)"],
|
|
169
|
-
"finalOutput": "最終出力データ/フォーマットの説明"
|
|
170
|
-
}
|
|
127
|
+
{"entryPoint": "ClassName.methodName (file:line)", "steps": [{"order": 1, "method": "methodName (file:line)", "input": "入力データ/フォーマットの説明", "output": "出力データ/フォーマットの説明", "externalLookups": ["MasterTable.getData() でコード変換"], "transformation": "何が変わるか(例: 生値がルックアップテーブル経由で表示値にマッピング)"}], "intermediateFormats": ["中間データ表現の説明(該当する場合)"], "finalOutput": "最終出力データ/フォーマットの説明"}
|
|
171
128
|
],
|
|
172
129
|
"constraints": [
|
|
173
|
-
{
|
|
174
|
-
"type": "validation|business_rule|configuration|assumption",
|
|
175
|
-
"description": "制約が強制する内容",
|
|
176
|
-
"location": "path/to/file:行番号",
|
|
177
|
-
"impact": "この制約に違反した場合の影響"
|
|
178
|
-
}
|
|
130
|
+
{"type": "validation|business_rule|configuration|assumption", "description": "制約が強制する内容", "location": "path/to/file:行番号", "impact": "この制約に違反した場合の影響"}
|
|
179
131
|
],
|
|
180
132
|
"qualityAssurance": {
|
|
181
133
|
"mechanisms": [
|
|
182
|
-
{
|
|
183
|
-
"tool": "ツールまたはチェック名",
|
|
184
|
-
"enforces": "検証する品質項目",
|
|
185
|
-
"configLocation": "path/to/config:行番号",
|
|
186
|
-
"coveredFiles": ["このメカニズムでカバーされる影響ファイル"],
|
|
187
|
-
"type": "linter|static_analysis|schema_validator|domain_specific|ci_check"
|
|
188
|
-
}
|
|
134
|
+
{"tool": "ツールまたはチェック名", "enforces": "検証する品質項目", "configLocation": "path/to/config:行番号", "coveredFiles": ["このメカニズムでカバーされる影響ファイル"], "type": "linter|static_analysis|schema_validator|domain_specific|ci_check"}
|
|
189
135
|
],
|
|
190
136
|
"domainConstraints": [
|
|
191
|
-
{
|
|
192
|
-
"constraint": "ドメイン固有の制約の説明",
|
|
193
|
-
"source": "path/to/config-or-ci:行番号",
|
|
194
|
-
"affectedFiles": ["この制約の対象ファイル"]
|
|
195
|
-
}
|
|
137
|
+
{"constraint": "ドメイン固有の制約の説明", "source": "path/to/config-or-ci:行番号", "affectedFiles": ["この制約の対象ファイル"]}
|
|
196
138
|
]
|
|
197
139
|
},
|
|
198
140
|
"focusAreas": [
|
|
199
|
-
{
|
|
200
|
-
"fact_id": "src/auth/createUser.ts:createUser",
|
|
201
|
-
"area": "領域名(既存事実の1つのまとまり)",
|
|
202
|
-
"evidence": "existingElements[name='createUser']",
|
|
203
|
-
"relatedFiles": ["src/auth/createUser.ts", "src/api/routes/users.ts", "src/services/notification.ts"],
|
|
204
|
-
"factsToAddress": "設計が扱うべき具体的事実(例: '関数Xは[a, b, c]から呼び出される'、'メソッドYは4つの結果ケースに分岐する: case1...case4'、'フィールドZは[v1, v2, v3]の値を受け付ける')",
|
|
205
|
-
"risk": "これらの事実を設計が省略または矛盾させた場合に起こる問題"
|
|
206
|
-
}
|
|
141
|
+
{"fact_id": "src/auth/createUser.ts:createUser", "area": "領域名(既存事実の1つのまとまり)", "evidence": "existingElements[name='createUser']", "relatedFiles": ["src/auth/createUser.ts", "src/api/routes/users.ts", "src/services/notification.ts"], "factsToAddress": "設計が扱うべき具体的事実(例: '関数Xは[a, b, c]から呼び出される'、'メソッドYは4つの結果ケースに分岐する: case1...case4'、'フィールドZは[v1, v2, v3]の値を受け付ける')", "risk": "これらの事実を設計が省略または矛盾させた場合に起こる問題"}
|
|
207
142
|
],
|
|
208
|
-
"testCoverage": {
|
|
209
|
-
"testedElements": ["テストファイルが見つかった要素名"],
|
|
210
|
-
"untestedElements": ["テストファイルが見つからなかった要素名"]
|
|
211
|
-
},
|
|
143
|
+
"testCoverage": {"testedElements": ["テストファイルが見つかった要素名"], "untestedElements": ["テストファイルが見つからなかった要素名"]},
|
|
212
144
|
"limitations": ["分析できなかった内容とその理由"]
|
|
213
145
|
}
|
|
214
146
|
```
|
|
@@ -173,49 +173,15 @@ WorkPlanの場合、追加で以下を確認:
|
|
|
173
173
|
|
|
174
174
|
```json
|
|
175
175
|
{
|
|
176
|
-
"metadata": {
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
},
|
|
181
|
-
"scores": {
|
|
182
|
-
"consistency": 85,
|
|
183
|
-
"completeness": 80,
|
|
184
|
-
"rule_compliance": 90,
|
|
185
|
-
"clarity": 75
|
|
186
|
-
},
|
|
187
|
-
"gate0": {
|
|
188
|
-
"status": "pass|fail",
|
|
189
|
-
"missing_elements": []
|
|
190
|
-
},
|
|
191
|
-
"verdict": {
|
|
192
|
-
"decision": "approved_with_conditions",
|
|
193
|
-
"conditions": [
|
|
194
|
-
"FileUtilの不整合を解消",
|
|
195
|
-
"不足しているテストファイルを追加"
|
|
196
|
-
]
|
|
197
|
-
},
|
|
176
|
+
"metadata": {"review_mode": "comprehensive", "doc_type": "DesignDoc", "target_path": "/path/to/document.md"},
|
|
177
|
+
"scores": {"consistency": 85, "completeness": 80, "rule_compliance": 90, "clarity": 75},
|
|
178
|
+
"gate0": {"status": "pass|fail", "missing_elements": []},
|
|
179
|
+
"verdict": {"decision": "approved_with_conditions", "conditions": ["FileUtilの不整合を解消", "不足しているテストファイルを追加"]},
|
|
198
180
|
"issues": [
|
|
199
|
-
{
|
|
200
|
-
"id": "I001",
|
|
201
|
-
"severity": "critical",
|
|
202
|
-
"category": "consistency",
|
|
203
|
-
"location": "セクション3.2",
|
|
204
|
-
"description": "FileUtilメソッドの不一致",
|
|
205
|
-
"suggestion": "実際のFileUtil使用状況を反映するようドキュメントを更新"
|
|
206
|
-
}
|
|
207
|
-
],
|
|
208
|
-
"recommendations": [
|
|
209
|
-
"承認前に優先修正が必要",
|
|
210
|
-
"ドキュメントと実装の整合"
|
|
181
|
+
{"id": "I001", "severity": "critical", "category": "consistency", "location": "セクション3.2", "description": "FileUtilメソッドの不一致", "suggestion": "実際のFileUtil使用状況を反映するようドキュメントを更新"}
|
|
211
182
|
],
|
|
212
|
-
"
|
|
213
|
-
|
|
214
|
-
"resolved": 0,
|
|
215
|
-
"partially_resolved": 0,
|
|
216
|
-
"unresolved": 0,
|
|
217
|
-
"items": []
|
|
218
|
-
}
|
|
183
|
+
"recommendations": ["承認前に優先修正が必要", "ドキュメントと実装の整合"],
|
|
184
|
+
"prior_context_check": {"items_received": 0, "resolved": 0, "partially_resolved": 0, "unresolved": 0, "items": []}
|
|
219
185
|
}
|
|
220
186
|
```
|
|
221
187
|
|
|
@@ -223,16 +189,8 @@ WorkPlanの場合、追加で以下を確認:
|
|
|
223
189
|
|
|
224
190
|
```json
|
|
225
191
|
{
|
|
226
|
-
"metadata": {
|
|
227
|
-
|
|
228
|
-
"focus": "implementation",
|
|
229
|
-
"doc_type": "DesignDoc",
|
|
230
|
-
"target_path": "/path/to/document.md"
|
|
231
|
-
},
|
|
232
|
-
"analysis": {
|
|
233
|
-
"summary": "分析結果の説明",
|
|
234
|
-
"scores": {}
|
|
235
|
-
},
|
|
192
|
+
"metadata": {"review_mode": "perspective", "focus": "implementation", "doc_type": "DesignDoc", "target_path": "/path/to/document.md"},
|
|
193
|
+
"analysis": {"summary": "分析結果の説明", "scores": {}},
|
|
236
194
|
"issues": [],
|
|
237
195
|
"checklist": [
|
|
238
196
|
{"item": "チェック項目の説明", "status": "pass|fail|na"}
|
|
@@ -253,12 +211,7 @@ WorkPlanの場合、追加で以下を確認:
|
|
|
253
211
|
"partially_resolved": 1,
|
|
254
212
|
"unresolved": 0,
|
|
255
213
|
"items": [
|
|
256
|
-
{
|
|
257
|
-
"id": "D001",
|
|
258
|
-
"status": "resolved",
|
|
259
|
-
"location": "セクション3.2",
|
|
260
|
-
"evidence": "コードがドキュメントと一致"
|
|
261
|
-
}
|
|
214
|
+
{"id": "D001", "status": "resolved", "location": "セクション3.2", "evidence": "コードがドキュメントと一致"}
|
|
262
215
|
]
|
|
263
216
|
}
|
|
264
217
|
}
|
|
@@ -102,11 +102,7 @@ skills: integration-e2e-testing, typescript-testing, project-context
|
|
|
102
102
|
"implementedACs": 4,
|
|
103
103
|
"pendingTodos": 1,
|
|
104
104
|
"missingAssertions": [
|
|
105
|
-
{
|
|
106
|
-
"ac": "AC2: エラー時にフォールバック値を返す",
|
|
107
|
-
"expectedBehavior": "API障害 → フォールバック値返却",
|
|
108
|
-
"issue": "フォールバック値の検証が欠落"
|
|
109
|
-
}
|
|
105
|
+
{"ac": "AC2: エラー時にフォールバック値を返す", "expectedBehavior": "API障害 → フォールバック値返却", "issue": "フォールバック値の検証が欠落"}
|
|
110
106
|
]
|
|
111
107
|
},
|
|
112
108
|
|
|
@@ -114,38 +110,17 @@ skills: integration-e2e-testing, typescript-testing, project-context
|
|
|
114
110
|
"totalPropertyAnnotations": 2,
|
|
115
111
|
"fastCheckImplemented": 1,
|
|
116
112
|
"missing": [
|
|
117
|
-
{
|
|
118
|
-
"property": "モデル名は常にgemini-3-pro-image-preview",
|
|
119
|
-
"location": "line 45",
|
|
120
|
-
"issue": "fc.assert(fc.property(...))形式で未実装"
|
|
121
|
-
}
|
|
113
|
+
{"property": "モデル名は常にgemini-3-pro-image-preview", "location": "line 45", "issue": "fc.assert(fc.property(...))形式で未実装"}
|
|
122
114
|
]
|
|
123
115
|
},
|
|
124
116
|
|
|
125
117
|
"qualityIssues": [
|
|
126
|
-
{
|
|
127
|
-
"severity": "high | medium | low",
|
|
128
|
-
"category": "aaa_structure | independence | reproducibility | mock_boundary | proof_insufficient | readability",
|
|
129
|
-
"location": "[ファイル:行番号]",
|
|
130
|
-
"description": "[問題の説明]",
|
|
131
|
-
"suggestion": "[具体的な修正提案]"
|
|
132
|
-
}
|
|
118
|
+
{"severity": "high | medium | low", "category": "aaa_structure | independence | reproducibility | mock_boundary | proof_insufficient | readability", "location": "[ファイル:行番号]", "description": "[問題の説明]", "suggestion": "[具体的な修正提案]"}
|
|
133
119
|
],
|
|
134
120
|
|
|
135
|
-
"passedChecks": [
|
|
136
|
-
"AAA構造が明確",
|
|
137
|
-
"テスト間の独立性が確保",
|
|
138
|
-
"日時・乱数の適切なモック化"
|
|
139
|
-
],
|
|
121
|
+
"passedChecks": ["AAA構造が明確", "テスト間の独立性が確保", "日時・乱数の適切なモック化"],
|
|
140
122
|
|
|
141
|
-
"verdict": {
|
|
142
|
-
"decision": "approved | needs_revision | blocked",
|
|
143
|
-
"reason": "[判定理由]",
|
|
144
|
-
"prioritizedActions": [
|
|
145
|
-
"1. [最優先の修正項目]",
|
|
146
|
-
"2. [次の修正項目]"
|
|
147
|
-
]
|
|
148
|
-
}
|
|
123
|
+
"verdict": {"decision": "approved | needs_revision | blocked", "reason": "[判定理由]", "prioritizedActions": ["1. [最優先の修正項目]", "2. [次の修正項目]"]}
|
|
149
124
|
}
|
|
150
125
|
```
|
|
151
126
|
|
|
@@ -184,13 +159,7 @@ needs_revision判定時、後続処理で使用できる修正指示を出力:
|
|
|
184
159
|
```json
|
|
185
160
|
{
|
|
186
161
|
"requiredFixes": [
|
|
187
|
-
{
|
|
188
|
-
"priority": 1,
|
|
189
|
-
"issue": "[問題]",
|
|
190
|
-
"fix": "[具体的な修正内容]",
|
|
191
|
-
"location": "[ファイル:行番号]",
|
|
192
|
-
"codeHint": "[修正コードのヒント]"
|
|
193
|
-
}
|
|
162
|
+
{"priority": 1, "issue": "[問題]", "fix": "[具体的な修正内容]", "location": "[ファイル:行番号]", "codeHint": "[修正コードのヒント]"}
|
|
194
163
|
]
|
|
195
164
|
}
|
|
196
165
|
```
|
|
@@ -119,74 +119,21 @@ skills: project-context, technical-spec, coding-standards
|
|
|
119
119
|
|
|
120
120
|
```json
|
|
121
121
|
{
|
|
122
|
-
"problemSummary": {
|
|
123
|
-
"phenomenon": "観察された現象の客観的記述",
|
|
124
|
-
"context": "発生条件、環境、タイミング",
|
|
125
|
-
"scope": "影響範囲"
|
|
126
|
-
},
|
|
122
|
+
"problemSummary": {"phenomenon": "観察された現象の客観的記述", "context": "発生条件、環境、タイミング", "scope": "影響範囲"},
|
|
127
123
|
"investigationSources": [
|
|
128
|
-
{
|
|
129
|
-
"type": "code|history|dependency|config|document|external",
|
|
130
|
-
"location": "調査した場所",
|
|
131
|
-
"findings": "発見した事実(解釈を含めない)"
|
|
132
|
-
}
|
|
124
|
+
{"type": "code|history|dependency|config|document|external", "location": "調査した場所", "findings": "発見した事実(解釈を含めない)"}
|
|
133
125
|
],
|
|
134
126
|
"externalResearch": [
|
|
135
|
-
{
|
|
136
|
-
"query": "検索したクエリ",
|
|
137
|
-
"source": "情報源",
|
|
138
|
-
"findings": "発見した関連情報",
|
|
139
|
-
"relevance": "この問題との関連性"
|
|
140
|
-
}
|
|
127
|
+
{"query": "検索したクエリ", "source": "情報源", "findings": "発見した関連情報", "relevance": "この問題との関連性"}
|
|
141
128
|
],
|
|
142
129
|
"pathMap": [
|
|
143
|
-
{
|
|
144
|
-
"symptomId": "S1",
|
|
145
|
-
"symptom": "観察された症状の記述",
|
|
146
|
-
"trigger": "この症状を引き起こすトリガー",
|
|
147
|
-
"paths": [
|
|
148
|
-
{
|
|
149
|
-
"pathId": "S1-P1",
|
|
150
|
-
"description": "パスの説明(例: メインのデータ取得パス)",
|
|
151
|
-
"nodes": [
|
|
152
|
-
{
|
|
153
|
-
"nodeId": "S1-P1-N1",
|
|
154
|
-
"location": "file:line",
|
|
155
|
-
"description": "このノードが行うこと"
|
|
156
|
-
}
|
|
157
|
-
]
|
|
158
|
-
}
|
|
159
|
-
]
|
|
160
|
-
}
|
|
130
|
+
{"symptomId": "S1", "symptom": "観察された症状の記述", "trigger": "この症状を引き起こすトリガー", "paths": [{"pathId": "S1-P1", "description": "パスの説明(例: メインのデータ取得パス)", "nodes": [{"nodeId": "S1-P1-N1", "location": "file:line", "description": "このノードが行うこと"}]}]}
|
|
161
131
|
],
|
|
162
132
|
"failurePoints": [
|
|
163
|
-
{
|
|
164
|
-
"id": "FP1",
|
|
165
|
-
"nodeId": "S1-P1-N1",
|
|
166
|
-
"symptomId": "S1",
|
|
167
|
-
"description": "障害の内容",
|
|
168
|
-
"causeCategory": "typo|logic_error|missing_constraint|design_gap|external_factor",
|
|
169
|
-
"location": "file:line",
|
|
170
|
-
"upstreamDependency": "このノードが依存しているもの",
|
|
171
|
-
"symptomExplained": "この障害が観察された症状にどうつながるか",
|
|
172
|
-
"causalChain": ["観察された障害", "→ 直接原因", "→ 根本原因(停止条件)"],
|
|
173
|
-
"checkStatus": "supported|weakened|blocked|not_reached",
|
|
174
|
-
"evidence": [
|
|
175
|
-
{"type": "supporting|contradicting", "detail": "証拠の詳細", "source": "情報源の場所", "strength": "direct|indirect|circumstantial"}
|
|
176
|
-
],
|
|
177
|
-
"comparisonAnalysis": {
|
|
178
|
-
"normalImplementation": "正常動作する実装のパス(見つからない場合はnull)",
|
|
179
|
-
"keyDifferences": ["差分"]
|
|
180
|
-
}
|
|
181
|
-
}
|
|
133
|
+
{"id": "FP1", "nodeId": "S1-P1-N1", "symptomId": "S1", "description": "障害の内容", "causeCategory": "typo|logic_error|missing_constraint|design_gap|external_factor", "location": "file:line", "upstreamDependency": "このノードが依存しているもの", "symptomExplained": "この障害が観察された症状にどうつながるか", "causalChain": ["観察された障害", "→ 直接原因", "→ 根本原因(停止条件)"], "checkStatus": "supported|weakened|blocked|not_reached", "evidence": [{"type": "supporting|contradicting", "detail": "証拠の詳細", "source": "情報源の場所", "strength": "direct|indirect|circumstantial"}], "comparisonAnalysis": {"normalImplementation": "正常動作する実装のパス(見つからない場合はnull)", "keyDifferences": ["差分"]}}
|
|
182
134
|
],
|
|
183
135
|
"impactAnalysis": [
|
|
184
|
-
{
|
|
185
|
-
"failurePointId": "FP1",
|
|
186
|
-
"impactScope": ["影響を受けるファイルパス"],
|
|
187
|
-
"recurrenceRisk": "low|medium|high",
|
|
188
|
-
"riskRationale": "リスク判定の根拠"
|
|
189
|
-
}
|
|
136
|
+
{"failurePointId": "FP1", "impactScope": ["影響を受けるファイルパス"], "recurrenceRisk": "low|medium|high", "riskRationale": "リスク判定の根拠"}
|
|
190
137
|
],
|
|
191
138
|
"unexploredAreas": [
|
|
192
139
|
{"area": "未探索領域", "reason": "調査できなかった理由", "potentialRelevance": "関連性"}
|
|
@@ -199,11 +199,7 @@ package.json からフロントエンドビルドコマンドを自動検出し
|
|
|
199
199
|
全レスポンスは `status` を共有し、`task_file` 提供時には `taskFileMechanisms` オブジェクトを含める:
|
|
200
200
|
|
|
201
201
|
```json
|
|
202
|
-
"taskFileMechanisms": {
|
|
203
|
-
"provided": true,
|
|
204
|
-
"executed": ["mechanism names that were found and executed"],
|
|
205
|
-
"skipped": [{"mechanism": "mechanism name", "reason": "tool not found | config not found | not executable"}]
|
|
206
|
-
}
|
|
202
|
+
"taskFileMechanisms": {"provided": true, "executed": ["mechanism names that were found and executed"], "skipped": [{"mechanism": "mechanism name", "reason": "tool not found | config not found | not executable"}]}
|
|
207
203
|
```
|
|
208
204
|
`task_file` が指定されなかった場合は `"provided": false` とし、`executed`/`skipped` は省略。
|
|
209
205
|
|
|
@@ -241,10 +237,10 @@ package.json からフロントエンドビルドコマンドを自動検出し
|
|
|
241
237
|
実行中、ツール呼び出しの間に以下のフォーマットで進捗を報告する:
|
|
242
238
|
|
|
243
239
|
```markdown
|
|
244
|
-
|
|
240
|
+
Phase [番号]: [フェーズ名]
|
|
245
241
|
|
|
246
242
|
実行コマンド: [コマンド]
|
|
247
|
-
結果:
|
|
243
|
+
結果: エラー [件数] / 警告 [件数] / パス
|
|
248
244
|
|
|
249
245
|
修正が必要な問題:
|
|
250
246
|
1. [問題概要]
|
|
@@ -253,7 +249,7 @@ package.json からフロントエンドビルドコマンドを自動検出し
|
|
|
253
249
|
- 修正方法: [具体的な修正アプローチ]
|
|
254
250
|
|
|
255
251
|
[修正実施後]
|
|
256
|
-
|
|
252
|
+
Phase [番号] 完了!次のフェーズへ進みます。
|
|
257
253
|
```
|
|
258
254
|
|
|
259
255
|
これは中間出力であり、最終レスポンスはJSON結果(ステップ6)で出力する。
|
|
@@ -163,11 +163,7 @@ coding-standardsおよびtypescript-testingスキルに従って修正を適用
|
|
|
163
163
|
全レスポンスは `status` を共有し、`task_file` 提供時には `taskFileMechanisms` オブジェクトを含める:
|
|
164
164
|
|
|
165
165
|
```json
|
|
166
|
-
"taskFileMechanisms": {
|
|
167
|
-
"provided": true,
|
|
168
|
-
"executed": ["mechanism names that were found and executed"],
|
|
169
|
-
"skipped": [{"mechanism": "mechanism name", "reason": "tool not found | config not found | not executable"}]
|
|
170
|
-
}
|
|
166
|
+
"taskFileMechanisms": {"provided": true, "executed": ["mechanism names that were found and executed"], "skipped": [{"mechanism": "mechanism name", "reason": "tool not found | config not found | not executable"}]}
|
|
171
167
|
```
|
|
172
168
|
`task_file` が指定されなかった場合は `"provided": false` とし、`executed`/`skipped` は省略。
|
|
173
169
|
|
|
@@ -205,10 +201,10 @@ coding-standardsおよびtypescript-testingスキルに従って修正を適用
|
|
|
205
201
|
実行中、ツール呼び出しの間に以下のフォーマットで進捗を報告する:
|
|
206
202
|
|
|
207
203
|
```markdown
|
|
208
|
-
|
|
204
|
+
Phase [番号]: [フェーズ名]
|
|
209
205
|
|
|
210
206
|
実行コマンド: [コマンド]
|
|
211
|
-
結果:
|
|
207
|
+
結果: エラー [件数] / 警告 [件数] / パス
|
|
212
208
|
|
|
213
209
|
修正が必要な問題:
|
|
214
210
|
1. [問題概要]
|
|
@@ -217,7 +213,7 @@ coding-standardsおよびtypescript-testingスキルに従って修正を適用
|
|
|
217
213
|
- 修正方法: [具体的な修正アプローチ]
|
|
218
214
|
|
|
219
215
|
[修正実施後]
|
|
220
|
-
|
|
216
|
+
Phase [番号] 完了!次のフェーズへ進みます。
|
|
221
217
|
```
|
|
222
218
|
|
|
223
219
|
これは中間出力であり、最終レスポンスはJSON結果(ステップ6)で出力する。
|
|
@@ -116,23 +116,12 @@ ADR作成条件の詳細はdocumentation-criteriaスキルに準拠。
|
|
|
116
116
|
"fileCount": 3,
|
|
117
117
|
"adrRequired": true,
|
|
118
118
|
"adrReason": "該当する条件、または不要な場合はnull",
|
|
119
|
-
"technicalConsiderations": {
|
|
120
|
-
"constraints": ["リスト"],
|
|
121
|
-
"risks": ["リスト"],
|
|
122
|
-
"dependencies": ["リスト"]
|
|
123
|
-
},
|
|
119
|
+
"technicalConsiderations": {"constraints": ["リスト"], "risks": ["リスト"], "dependencies": ["リスト"]},
|
|
124
120
|
"scopeDependencies": [
|
|
125
|
-
{
|
|
126
|
-
"question": "規模に影響する具体的な質問",
|
|
127
|
-
"impact": { "if_yes": "large", "if_no": "medium" }
|
|
128
|
-
}
|
|
121
|
+
{"question": "規模に影響する具体的な質問", "impact": {"if_yes": "large", "if_no": "medium"}}
|
|
129
122
|
],
|
|
130
123
|
"questions": [
|
|
131
|
-
{
|
|
132
|
-
"category": "boundary|existing_code|dependencies",
|
|
133
|
-
"question": "具体的な質問",
|
|
134
|
-
"options": ["A", "B", "C"]
|
|
135
|
-
}
|
|
124
|
+
{"category": "boundary|existing_code|dependencies", "question": "具体的な質問", "options": ["A", "B", "C"]}
|
|
136
125
|
]
|
|
137
126
|
}
|
|
138
127
|
```
|
|
@@ -59,24 +59,11 @@ task-analyzerスキル(frontmatterで自動読み込み)が提供するも
|
|
|
59
59
|
|
|
60
60
|
```json
|
|
61
61
|
{
|
|
62
|
-
"taskAnalysis": {
|
|
63
|
-
"taskType": "実装|修正|リファクタリング|設計|品質改善",
|
|
64
|
-
"essence": "根本目的", "estimatedFiles": 3, "scale": "small|medium|large",
|
|
65
|
-
"extractedTags": ["implementation", "testing", "security"]
|
|
66
|
-
},
|
|
62
|
+
"taskAnalysis": {"taskType": "実装|修正|リファクタリング|設計|品質改善", "essence": "根本目的", "estimatedFiles": 3, "scale": "small|medium|large", "extractedTags": ["implementation", "testing", "security"]},
|
|
67
63
|
"selectedSkills": [
|
|
68
|
-
{
|
|
69
|
-
"skill": "coding-standards",
|
|
70
|
-
"sections": [{"title": "セクション名", "content": "## セクション内容..."}],
|
|
71
|
-
"reason": "必要な理由", "priority": "high"
|
|
72
|
-
}
|
|
64
|
+
{"skill": "coding-standards", "sections": [{"title": "セクション名", "content": "## セクション内容..."}], "reason": "必要な理由", "priority": "high"}
|
|
73
65
|
],
|
|
74
|
-
"metaCognitiveGuidance": {
|
|
75
|
-
"taskEssence": "表面作業でなく根本目的の理解",
|
|
76
|
-
"pastFailures": ["エラー修正衝動", "一度に大変更", "テスト不足"],
|
|
77
|
-
"potentialPitfalls": ["根本原因分析なし", "段階的アプローチなし", "テストなし"],
|
|
78
|
-
"firstStep": {"action": "最初のアクション", "rationale": "なぜ最初か"}
|
|
79
|
-
},
|
|
66
|
+
"metaCognitiveGuidance": {"taskEssence": "表面作業でなく根本目的の理解", "pastFailures": ["エラー修正衝動", "一度に大変更", "テスト不足"], "potentialPitfalls": ["根本原因分析なし", "段階的アプローチなし", "テストなし"], "firstStep": {"action": "最初のアクション", "rationale": "なぜ最初か"}},
|
|
80
67
|
"metaCognitiveQuestions": ["最重要品質基準は?", "類似タスクでの過去の問題は?", "どこから着手?"],
|
|
81
68
|
"warningPatterns": [
|
|
82
69
|
{"pattern": "一度に大変更", "risk": "高複雑性", "mitigation": "フェーズ分割"},
|
|
@@ -164,17 +164,8 @@ skills: documentation-criteria, coding-standards, technical-spec, implementation
|
|
|
164
164
|
"entryPoints": ["/path1", "/path2"],
|
|
165
165
|
"relatedFiles": ["src/feature/*"],
|
|
166
166
|
"dependencies": ["UNIT-002"],
|
|
167
|
-
"valueProfile": {
|
|
168
|
-
|
|
169
|
-
"userGoal": "この機能でユーザーが達成したいこと",
|
|
170
|
-
"valueCategory": "属する上位機能(例: '認証', 'コンテンツ管理', 'レポーティング')"
|
|
171
|
-
},
|
|
172
|
-
"technicalProfile": {
|
|
173
|
-
"primaryModules": ["src/<feature>/module-a.ts", "src/<feature>/module-b.ts"],
|
|
174
|
-
"publicInterfaces": ["ServiceA.operation()", "ModuleB.handle()"],
|
|
175
|
-
"dataFlowSummary": "入力元 → 主要処理経路 → 出力先",
|
|
176
|
-
"infrastructureDeps": ["外部依存リスト"]
|
|
177
|
-
},
|
|
167
|
+
"valueProfile": {"targetPersona": "この機能が誰向けか(例: 'エンドユーザー', '管理者', '開発者')", "userGoal": "この機能でユーザーが達成したいこと", "valueCategory": "属する上位機能(例: '認証', 'コンテンツ管理', 'レポーティング')"},
|
|
168
|
+
"technicalProfile": {"primaryModules": ["src/<feature>/module-a.ts", "src/<feature>/module-b.ts"], "publicInterfaces": ["ServiceA.operation()", "ModuleB.handle()"], "dataFlowSummary": "入力元 → 主要処理経路 → 出力先", "infrastructureDeps": ["外部依存リスト"]},
|
|
178
169
|
"unitInventory": {
|
|
179
170
|
"routes": [
|
|
180
171
|
{"method": "POST", "path": "/api/auth/login", "handler": "AuthController.handleLogin", "file": "routes:15"}
|
|
@@ -189,28 +180,13 @@ skills: documentation-criteria, coding-standards, technical-spec, implementation
|
|
|
189
180
|
}
|
|
190
181
|
],
|
|
191
182
|
"relationships": [
|
|
192
|
-
{
|
|
193
|
-
"from": "UNIT-001",
|
|
194
|
-
"to": "UNIT-002",
|
|
195
|
-
"type": "depends_on|extends|shares_data"
|
|
196
|
-
}
|
|
183
|
+
{"from": "UNIT-001", "to": "UNIT-002", "type": "depends_on|extends|shares_data"}
|
|
197
184
|
],
|
|
198
185
|
"uncertainAreas": [
|
|
199
|
-
{
|
|
200
|
-
"area": "領域名",
|
|
201
|
-
"reason": "不確実な理由",
|
|
202
|
-
"suggestedAction": "推奨アクション"
|
|
203
|
-
}
|
|
186
|
+
{"area": "領域名", "reason": "不確実な理由", "suggestedAction": "推奨アクション"}
|
|
204
187
|
],
|
|
205
188
|
"prdUnits": [
|
|
206
|
-
{
|
|
207
|
-
"id": "PRD-001",
|
|
208
|
-
"name": "PRDユニット名(ユーザー価値レベル)",
|
|
209
|
-
"description": "この機能がユーザーに提供する価値",
|
|
210
|
-
"sourceUnits": ["UNIT-001", "UNIT-003"],
|
|
211
|
-
"combinedRelatedFiles": ["src/feature-a/*", "src/feature-b/*"],
|
|
212
|
-
"combinedEntryPoints": ["/path1", "/path2", "/path3"]
|
|
213
|
-
}
|
|
189
|
+
{"id": "PRD-001", "name": "PRDユニット名(ユーザー価値レベル)", "description": "この機能がユーザーに提供する価値", "sourceUnits": ["UNIT-001", "UNIT-003"], "combinedRelatedFiles": ["src/feature-a/*", "src/feature-b/*"], "combinedEntryPoints": ["/path1", "/path2", "/path3"]}
|
|
214
190
|
],
|
|
215
191
|
"limitations": ["発見できなかった内容とその理由"]
|
|
216
192
|
}
|
|
@@ -100,22 +100,11 @@ coding-standardsのSecurity Principlesの各原則に対して実装を検証:
|
|
|
100
100
|
"summary": "[1-2文の要約]",
|
|
101
101
|
"filesReviewed": 5,
|
|
102
102
|
"findings": [
|
|
103
|
-
{
|
|
104
|
-
"category": "confirmed_risk|suspected_risk|defense_gap|hardening|policy",
|
|
105
|
-
"confidence": "high|medium|low",
|
|
106
|
-
"location": "[file:line]",
|
|
107
|
-
"description": "[検出された具体的な問題]",
|
|
108
|
-
"rationale": "[カテゴリ別、上記参照]",
|
|
109
|
-
"suggestion": "[具体的な修正方法]"
|
|
110
|
-
}
|
|
103
|
+
{"category": "confirmed_risk|suspected_risk|defense_gap|hardening|policy", "confidence": "high|medium|low", "location": "[file:line]", "description": "[検出された具体的な問題]", "rationale": "[カテゴリ別、上記参照]", "suggestion": "[具体的な修正方法]"}
|
|
111
104
|
],
|
|
112
105
|
"notes": "[hardening/policy検出結果の要約、statusがapproved_with_notesの場合に提示]",
|
|
113
106
|
"requiredFixes": [
|
|
114
|
-
{
|
|
115
|
-
"location": "[file:line — Fix Mode の許可リスト拡張のため file[:line] として解釈可能であること]",
|
|
116
|
-
"issue": "[修正対象の具体的な問題 — 対応する finding から取得]",
|
|
117
|
-
"fix": "[具体的な修正指示]"
|
|
118
|
-
}
|
|
107
|
+
{"location": "[file:line — Fix Mode の許可リスト拡張のため file[:line] として解釈可能であること]", "issue": "[修正対象の具体的な問題 — 対応する finding から取得]", "fix": "[具体的な修正指示]"}
|
|
119
108
|
]
|
|
120
109
|
}
|
|
121
110
|
```
|
|
@@ -152,17 +152,14 @@ description: {生成したdescription}
|
|
|
152
152
|
{
|
|
153
153
|
"mode": "creation|modification",
|
|
154
154
|
"skillName": "...",
|
|
155
|
-
"frontmatter": {
|
|
156
|
-
"name": "...",
|
|
157
|
-
"description": "..."
|
|
158
|
-
},
|
|
155
|
+
"frontmatter": {"name": "...", "description": "..."},
|
|
159
156
|
"body": "frontmatter以降のmarkdownコンテンツ全文",
|
|
160
157
|
"references": [
|
|
161
|
-
{
|
|
158
|
+
{"filename": "...", "content": "..."}
|
|
162
159
|
],
|
|
163
160
|
"optimizationReport": {
|
|
164
161
|
"issuesFound": [
|
|
165
|
-
{
|
|
162
|
+
{"pattern": "BP-XXX", "severity": "P1/P2/P3", "location": "...", "transform": "..."}
|
|
166
163
|
],
|
|
167
164
|
"researchFindings": [],
|
|
168
165
|
"lineCount": 0,
|