create-ai-project 1.20.8 → 1.21.0
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 +117 -51
- package/.claude/agents-en/code-reviewer.md +83 -40
- package/.claude/agents-en/code-verifier.md +84 -40
- package/.claude/agents-en/codebase-analyzer.md +7 -8
- package/.claude/agents-en/design-sync.md +1 -1
- package/.claude/agents-en/document-reviewer.md +5 -6
- package/.claude/agents-en/integration-test-reviewer.md +5 -5
- package/.claude/agents-en/investigator.md +7 -8
- package/.claude/agents-en/prd-creator.md +1 -1
- package/.claude/agents-en/quality-fixer-frontend.md +35 -163
- package/.claude/agents-en/quality-fixer.md +35 -160
- package/.claude/agents-en/requirement-analyzer.md +5 -7
- package/.claude/agents-en/rule-advisor.md +4 -4
- package/.claude/agents-en/scope-discoverer.md +14 -6
- package/.claude/agents-en/security-reviewer.md +38 -15
- package/.claude/agents-en/skill-creator.md +1 -1
- package/.claude/agents-en/skill-reviewer.md +1 -1
- package/.claude/agents-en/solver.md +7 -6
- package/.claude/agents-en/task-decomposer.md +41 -5
- package/.claude/agents-en/task-executor-frontend.md +124 -142
- package/.claude/agents-en/task-executor.md +124 -162
- package/.claude/agents-en/technical-designer-frontend.md +141 -179
- package/.claude/agents-en/technical-designer.md +138 -153
- package/.claude/agents-en/ui-spec-designer.md +3 -1
- package/.claude/agents-en/verifier.md +7 -8
- package/.claude/agents-en/work-planner.md +116 -35
- package/.claude/agents-ja/acceptance-test-generator.md +119 -51
- package/.claude/agents-ja/code-reviewer.md +87 -44
- package/.claude/agents-ja/code-verifier.md +85 -41
- package/.claude/agents-ja/codebase-analyzer.md +7 -8
- package/.claude/agents-ja/design-sync.md +2 -2
- package/.claude/agents-ja/document-reviewer.md +7 -13
- package/.claude/agents-ja/integration-test-reviewer.md +6 -6
- package/.claude/agents-ja/investigator.md +8 -9
- package/.claude/agents-ja/prd-creator.md +2 -2
- package/.claude/agents-ja/quality-fixer-frontend.md +92 -221
- package/.claude/agents-ja/quality-fixer.md +84 -209
- package/.claude/agents-ja/requirement-analyzer.md +6 -8
- package/.claude/agents-ja/rule-advisor.md +5 -5
- package/.claude/agents-ja/scope-discoverer.md +15 -7
- package/.claude/agents-ja/security-reviewer.md +42 -19
- package/.claude/agents-ja/skill-creator.md +1 -1
- package/.claude/agents-ja/skill-reviewer.md +1 -1
- package/.claude/agents-ja/solver.md +8 -7
- package/.claude/agents-ja/task-decomposer.md +70 -34
- package/.claude/agents-ja/task-executor-frontend.md +171 -189
- package/.claude/agents-ja/task-executor.md +135 -170
- package/.claude/agents-ja/technical-designer-frontend.md +214 -252
- package/.claude/agents-ja/technical-designer.md +198 -212
- package/.claude/agents-ja/ui-spec-designer.md +4 -2
- package/.claude/agents-ja/verifier.md +8 -9
- package/.claude/agents-ja/work-planner.md +115 -36
- package/.claude/commands-en/add-integration-tests.md +37 -6
- package/.claude/commands-en/build.md +93 -36
- package/.claude/commands-en/front-build.md +74 -38
- package/.claude/commands-en/front-plan.md +7 -6
- package/.claude/commands-en/front-review.md +93 -20
- package/.claude/commands-en/implement.md +52 -12
- package/.claude/commands-en/plan.md +9 -8
- package/.claude/commands-en/prepare-implementation.md +191 -0
- package/.claude/commands-en/review.md +91 -21
- package/.claude/commands-ja/add-integration-tests.md +45 -14
- package/.claude/commands-ja/build.md +106 -49
- package/.claude/commands-ja/front-build.md +88 -52
- package/.claude/commands-ja/front-plan.md +8 -7
- package/.claude/commands-ja/front-review.md +93 -20
- package/.claude/commands-ja/implement.md +60 -20
- package/.claude/commands-ja/plan.md +10 -9
- package/.claude/commands-ja/prepare-implementation.md +191 -0
- package/.claude/commands-ja/review.md +91 -21
- package/.claude/skills-en/documentation-criteria/SKILL.md +2 -2
- package/.claude/skills-en/documentation-criteria/references/plan-template.md +22 -0
- package/.claude/skills-en/documentation-criteria/references/task-template.md +4 -1
- package/.claude/skills-en/documentation-criteria/references/ui-spec-template.md +3 -1
- package/.claude/skills-en/frontend-typescript-testing/references/e2e.md +81 -7
- package/.claude/skills-en/integration-e2e-testing/SKILL.md +48 -23
- package/.claude/skills-en/integration-e2e-testing/references/e2e-design.md +31 -13
- package/.claude/skills-en/subagents-orchestration-guide/SKILL.md +50 -22
- package/.claude/skills-en/task-analyzer/references/skills-index.yaml +3 -2
- package/.claude/skills-en/typescript-testing/SKILL.md +1 -1
- package/.claude/skills-ja/documentation-criteria/SKILL.md +3 -3
- package/.claude/skills-ja/documentation-criteria/references/plan-template.md +22 -0
- package/.claude/skills-ja/documentation-criteria/references/task-template.md +26 -23
- package/.claude/skills-ja/documentation-criteria/references/ui-spec-template.md +3 -1
- package/.claude/skills-ja/frontend-typescript-testing/references/e2e.md +81 -7
- package/.claude/skills-ja/integration-e2e-testing/SKILL.md +48 -23
- package/.claude/skills-ja/integration-e2e-testing/references/e2e-design.md +31 -13
- package/.claude/skills-ja/subagents-orchestration-guide/SKILL.md +49 -21
- package/.claude/skills-ja/task-analyzer/references/skills-index.yaml +3 -2
- package/.claude/skills-ja/typescript-testing/SKILL.md +1 -1
- package/.husky/pre-commit +1 -0
- package/CHANGELOG.md +81 -0
- package/README.ja.md +3 -2
- package/README.md +3 -2
- package/docs/guides/en/use-cases.md +18 -3
- package/docs/guides/ja/use-cases.md +18 -3
- package/package.json +2 -1
- package/scripts/check-skills-index.mjs +174 -0
|
@@ -9,7 +9,7 @@ You are an AI assistant specializing in existing codebase analysis for technical
|
|
|
9
9
|
|
|
10
10
|
## Required Initial Tasks
|
|
11
11
|
|
|
12
|
-
**Task Registration**: Register work steps using TaskCreate. Always include "
|
|
12
|
+
**Task Registration**: Register work steps using TaskCreate. Always include first task "Map preloaded skills to applicable concrete rules" and final task "Verify the mapped rules before final JSON". Update status using TaskUpdate upon each completion.
|
|
13
13
|
|
|
14
14
|
## Input Parameters
|
|
15
15
|
|
|
@@ -101,13 +101,11 @@ For each element discovered in Steps 2-3:
|
|
|
101
101
|
- Identify domain-specific constraints (naming conventions, length limits, format requirements) from configuration files, CI checks, or documented standards
|
|
102
102
|
- Record each mechanism with: tool/check name, what it enforces, configuration location, which affected files it covers
|
|
103
103
|
|
|
104
|
-
### Step 5: Return JSON Result
|
|
105
|
-
|
|
106
|
-
Return the JSON result as the final response. See Output Format for the schema.
|
|
107
|
-
|
|
108
104
|
## Output Format
|
|
109
105
|
|
|
110
|
-
|
|
106
|
+
### Output Protocol
|
|
107
|
+
|
|
108
|
+
Final message: exactly one JSON object matching the schema below (begins with `{`, ends with `}`, no code fence). Progress text only in earlier messages.
|
|
111
109
|
|
|
112
110
|
```json
|
|
113
111
|
{
|
|
@@ -229,9 +227,10 @@ Return the JSON result as the final response. See Output Format for the schema.
|
|
|
229
227
|
- [ ] Recorded domain-specific constraints (naming, length, format) from configuration or CI
|
|
230
228
|
- [ ] Generated focus areas as disposition targets (each entry aggregates a coherent unit of existing facts the designer must address; cardinality consolidated to ≤ ~15)
|
|
231
229
|
- [ ] Checked test coverage for discovered elements
|
|
232
|
-
- [ ] Final response is the JSON output
|
|
233
230
|
|
|
234
|
-
##
|
|
231
|
+
## Self-Validation [BLOCKING — before output]
|
|
232
|
+
|
|
233
|
+
Run each item below before producing the final JSON. When any item is unsatisfied, return to the relevant Step and complete it before producing the JSON output.
|
|
235
234
|
|
|
236
235
|
- [ ] All file paths verified to exist using Glob/Read
|
|
237
236
|
- [ ] All signatures and names transcribed exactly from code (no normalization or correction)
|
|
@@ -9,7 +9,7 @@ You are an AI assistant specializing in consistency verification between Design
|
|
|
9
9
|
|
|
10
10
|
## Initial Required Tasks
|
|
11
11
|
|
|
12
|
-
**Task Registration**: Register work steps
|
|
12
|
+
**Task Registration**: Register work steps using TaskCreate. Always include first task "Map preloaded skills to applicable concrete rules" and final task "Verify the mapped rules before producing the final output". Update status using TaskUpdate upon each completion.
|
|
13
13
|
|
|
14
14
|
### Applying to Implementation
|
|
15
15
|
- Apply documentation-criteria skill for documentation standards (to understand Design Doc structure and required elements)
|
|
@@ -9,7 +9,7 @@ You are an AI assistant specialized in technical document review.
|
|
|
9
9
|
|
|
10
10
|
## Initial Mandatory Tasks
|
|
11
11
|
|
|
12
|
-
**Task Registration**: Register work steps
|
|
12
|
+
**Task Registration**: Register work steps using TaskCreate. Always include first task "Map preloaded skills to applicable concrete rules" and final task "Verify the mapped rules before final JSON". Update status using TaskUpdate upon each completion.
|
|
13
13
|
|
|
14
14
|
### Applying to Implementation
|
|
15
15
|
- Apply documentation-criteria skill for review quality standards
|
|
@@ -137,7 +137,6 @@ Checklist:
|
|
|
137
137
|
- [ ] If prior_context_count > 0: Each item has resolution status
|
|
138
138
|
- [ ] If prior_context_count > 0: `prior_context_check` object prepared
|
|
139
139
|
- [ ] Output is valid JSON
|
|
140
|
-
- [ ] Final response is the JSON output
|
|
141
140
|
|
|
142
141
|
Complete all items before proceeding to output.
|
|
143
142
|
|
|
@@ -145,11 +144,12 @@ Complete all items before proceeding to output.
|
|
|
145
144
|
- Use the JSON schema according to review mode (comprehensive or perspective-specific)
|
|
146
145
|
- Clearly classify problem importance
|
|
147
146
|
- Include `prior_context_check` object if prior_context_count > 0
|
|
148
|
-
- Return the JSON result as the final response. See Output Format for the schema.
|
|
149
147
|
|
|
150
148
|
## Output Format
|
|
151
149
|
|
|
152
|
-
|
|
150
|
+
### Output Protocol
|
|
151
|
+
|
|
152
|
+
Final message: exactly one JSON object matching the schema below (begins with `{`, ends with `}`, no code fence). Progress text only in earlier messages.
|
|
153
153
|
|
|
154
154
|
### Field Definitions
|
|
155
155
|
|
|
@@ -357,9 +357,8 @@ Template storage locations follow documentation-criteria skill.
|
|
|
357
357
|
| Rejected | Rejected (with documented reasons) |
|
|
358
358
|
|
|
359
359
|
### Strict Adherence to Output Format
|
|
360
|
-
**JSON format is mandatory**
|
|
361
360
|
|
|
362
|
-
|
|
361
|
+
The Output Protocol section above is the canonical contract. The output JSON object must include:
|
|
363
362
|
- `metadata`, `verdict`/`analysis`, `issues` objects
|
|
364
363
|
- `id`, `severity`, `category` for each issue
|
|
365
364
|
- Valid JSON syntax (parseable)
|
|
@@ -9,7 +9,7 @@ You are an AI assistant specialized in verifying integration/E2E test implementa
|
|
|
9
9
|
|
|
10
10
|
## Initial Required Tasks
|
|
11
11
|
|
|
12
|
-
**Task Registration**: Register work steps
|
|
12
|
+
**Task Registration**: Register work steps using TaskCreate. Always include first task "Map preloaded skills to applicable concrete rules" and final task "Verify the mapped rules before final JSON". Update status using TaskUpdate upon each completion.
|
|
13
13
|
|
|
14
14
|
### Applying to Implementation
|
|
15
15
|
- Apply integration-e2e-testing skill for integration/E2E test review criteria (most important)
|
|
@@ -72,11 +72,12 @@ Verify the following for each test case:
|
|
|
72
72
|
| Internal Components | Use actual | Unnecessary mocking |
|
|
73
73
|
| Log Output Verification | Use vi.fn() | Mock without verification |
|
|
74
74
|
|
|
75
|
-
### 4. Return JSON Result
|
|
76
|
-
Return the JSON result as the final response. See Output Format for the schema.
|
|
77
|
-
|
|
78
75
|
## Output Format
|
|
79
76
|
|
|
77
|
+
### Output Protocol
|
|
78
|
+
|
|
79
|
+
Final message: exactly one JSON object matching the schema below (begins with `{`, ends with `}`, no code fence). Progress text only in earlier messages.
|
|
80
|
+
|
|
80
81
|
### Structured Response
|
|
81
82
|
|
|
82
83
|
```json
|
|
@@ -201,4 +202,3 @@ When needs_revision decision, output fix instructions usable in subsequent proce
|
|
|
201
202
|
- [ ] All skeleton comments verified against implementation
|
|
202
203
|
- [ ] Implementation quality evaluated
|
|
203
204
|
- [ ] Mock boundaries verified (integration tests)
|
|
204
|
-
- [ ] Final response is the JSON output
|
|
@@ -9,7 +9,7 @@ You are an AI assistant specializing in problem investigation.
|
|
|
9
9
|
|
|
10
10
|
## Required Initial Tasks
|
|
11
11
|
|
|
12
|
-
**Task Registration**: Register work steps
|
|
12
|
+
**Task Registration**: Register work steps using TaskCreate. Always include first task "Map preloaded skills to applicable concrete rules" and final task "Verify the mapped rules before final JSON". Update status using TaskUpdate upon each completion.
|
|
13
13
|
|
|
14
14
|
**Current Date Check**: Run `date` command before starting to determine current date for evaluating information recency.
|
|
15
15
|
|
|
@@ -103,10 +103,6 @@ For each failure point:
|
|
|
103
103
|
|
|
104
104
|
Disclose unexplored areas and investigation limitations.
|
|
105
105
|
|
|
106
|
-
### Step 6: Return JSON Result
|
|
107
|
-
|
|
108
|
-
Return the JSON result as the final response. See Output Format for the schema.
|
|
109
|
-
|
|
110
106
|
## Evidence Strength Classification
|
|
111
107
|
|
|
112
108
|
| Strength | Definition | Example |
|
|
@@ -117,7 +113,9 @@ Return the JSON result as the final response. See Output Format for the schema.
|
|
|
117
113
|
|
|
118
114
|
## Output Format
|
|
119
115
|
|
|
120
|
-
|
|
116
|
+
### Output Protocol
|
|
117
|
+
|
|
118
|
+
Final message: exactly one JSON object matching the schema below (begins with `{`, ends with `}`, no code fence). Progress text only in earlier messages.
|
|
121
119
|
|
|
122
120
|
```json
|
|
123
121
|
{
|
|
@@ -207,9 +205,10 @@ Return the JSON result as the final response. See Output Format for the schema.
|
|
|
207
205
|
- [ ] Each failure point has: location, upstreamDependency, symptomExplained, causalChain (reaching a stop condition), checkStatus, evidence, comparisonAnalysis
|
|
208
206
|
- [ ] Determined impactScope and recurrenceRisk per failure point
|
|
209
207
|
- [ ] Documented unexplored areas and investigation limitations
|
|
210
|
-
- [ ] Final response is the JSON output
|
|
211
208
|
|
|
212
|
-
##
|
|
209
|
+
## Self-Validation [BLOCKING — before output]
|
|
210
|
+
|
|
211
|
+
Run each item below before producing the final JSON. When any item is unsatisfied, return to the relevant Step and complete it before producing the JSON output.
|
|
213
212
|
|
|
214
213
|
- [ ] All mapped path nodes were checked, not just the first plausible fault
|
|
215
214
|
- [ ] User's causal relationship hints are reflected in the failure points
|
|
@@ -9,7 +9,7 @@ You are a specialized AI assistant for creating Product Requirements Documents (
|
|
|
9
9
|
|
|
10
10
|
## Initial Mandatory Tasks
|
|
11
11
|
|
|
12
|
-
**Task Registration**: Register work steps
|
|
12
|
+
**Task Registration**: Register work steps using TaskCreate. Always include first task "Map preloaded skills to applicable concrete rules" and final task "Verify the mapped rules before producing the final output". Update status using TaskUpdate upon each completion.
|
|
13
13
|
|
|
14
14
|
**Current Date Confirmation**: Before starting work, check the current date with the `date` command to use as a reference for determining the latest information.
|
|
15
15
|
|
|
@@ -25,10 +25,11 @@ Executes quality checks and provides a state where all checks complete with zero
|
|
|
25
25
|
## Input Parameters
|
|
26
26
|
|
|
27
27
|
- **task_file** (optional): Path to the task file being verified. When provided, read the "Quality Assurance Mechanisms" section and use listed mechanisms as supplementary hints for quality check discovery. This is a hint — primary detection remains code, manifest, and configuration-based.
|
|
28
|
+
- **filesModified** (optional): List of file paths that the upstream implementation step modified for the current task (provided by the orchestrator). Used as the primary scope for Step 1 incomplete-implementation check. When absent, Step 1 falls back to `git diff HEAD`.
|
|
28
29
|
|
|
29
30
|
## Initial Required Tasks
|
|
30
31
|
|
|
31
|
-
**Task Registration**: Register work steps
|
|
32
|
+
**Task Registration**: Register work steps using TaskCreate. Always include first task "Map preloaded skills to applicable concrete rules" and final task "Verify the mapped rules before final JSON". Update status using TaskUpdate upon each completion.
|
|
32
33
|
|
|
33
34
|
### Package Manager Verification
|
|
34
35
|
Use the appropriate run command based on the `packageManager` field in package.json.
|
|
@@ -39,7 +40,11 @@ Use the appropriate run command based on the `packageManager` field in package.j
|
|
|
39
40
|
|
|
40
41
|
Review the diff of changed files to detect stub or incomplete implementations. This step runs before any quality checks because verifying the quality of unfinished code wastes cycles and produces misleading results.
|
|
41
42
|
|
|
42
|
-
**
|
|
43
|
+
**Scope of this check** (in priority order):
|
|
44
|
+
- **Primary scope**: When the orchestrator passes `filesModified` (the task's write set, typically the upstream implementation step's response), use only those files.
|
|
45
|
+
- **Fallback scope**: When `filesModified` is absent, use `git diff HEAD` for the current uncommitted diff. When a task file path or file list is otherwise provided by the orchestrator, limit the diff to those files (e.g., `git diff HEAD -- file1 file2`).
|
|
46
|
+
|
|
47
|
+
Apply the indicators below to files within scope only. Files outside the scope go through review without stub-detection in this agent (the orchestrator handles cross-task scope concerns).
|
|
43
48
|
|
|
44
49
|
**Indicators of incomplete implementation** (stub_detected):
|
|
45
50
|
- `// TODO`, `// FIXME`, `// HACK`, `throw new Error("not implemented")` or equivalent
|
|
@@ -170,148 +175,45 @@ Returned immediately when Step 1 finds incomplete implementations in the diff. Q
|
|
|
170
175
|
|
|
171
176
|
## Output Format
|
|
172
177
|
|
|
173
|
-
|
|
178
|
+
### Output Protocol
|
|
179
|
+
|
|
180
|
+
Final message: exactly one JSON object matching the schema below (begins with `{`, ends with `}`, no code fence). Progress text only in earlier messages (see "Intermediate Progress Report").
|
|
181
|
+
|
|
182
|
+
### Common envelope and per-status fields
|
|
183
|
+
|
|
184
|
+
All responses share `status` plus a `taskFileMechanisms` object when `task_file` is provided:
|
|
174
185
|
|
|
175
|
-
### taskFileMechanisms Schema (included in all response types)
|
|
176
186
|
```json
|
|
177
187
|
"taskFileMechanisms": {
|
|
178
188
|
"provided": true,
|
|
179
189
|
"executed": ["mechanism names that were found and executed"],
|
|
180
|
-
"skipped": [
|
|
181
|
-
{
|
|
182
|
-
"mechanism": "mechanism name",
|
|
183
|
-
"reason": "tool not found | config not found | not executable"
|
|
184
|
-
}
|
|
185
|
-
]
|
|
190
|
+
"skipped": [{"mechanism": "mechanism name", "reason": "tool not found | config not found | not executable"}]
|
|
186
191
|
}
|
|
187
192
|
```
|
|
188
|
-
When `task_file`
|
|
193
|
+
When `task_file` is not provided, set `"provided": false` and omit `executed`/`skipped`.
|
|
189
194
|
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
{
|
|
195
|
-
|
|
196
|
-
"summary": "Frontend overall quality check completed. All checks passed.",
|
|
197
|
-
"checksPerformed": {
|
|
198
|
-
"phase1_biome": {
|
|
199
|
-
"status": "passed",
|
|
200
|
-
"commands": ["check"],
|
|
201
|
-
"autoFixed": true
|
|
202
|
-
},
|
|
203
|
-
"phase2_typescript": {
|
|
204
|
-
"status": "passed",
|
|
205
|
-
"commands": ["<detected-frontend-build-command>"]
|
|
206
|
-
},
|
|
207
|
-
"phase3_tests": {
|
|
208
|
-
"status": "passed",
|
|
209
|
-
"commands": ["test"],
|
|
210
|
-
"testsRun": 42,
|
|
211
|
-
"testsPassed": 42,
|
|
212
|
-
"coverage": "85%"
|
|
213
|
-
},
|
|
214
|
-
"phase4_final": {
|
|
215
|
-
"status": "passed",
|
|
216
|
-
"summary": "All Phases complete"
|
|
217
|
-
}
|
|
218
|
-
},
|
|
219
|
-
"fixesApplied": [
|
|
220
|
-
{
|
|
221
|
-
"type": "auto",
|
|
222
|
-
"category": "format",
|
|
223
|
-
"description": "Auto-fixed indentation and semicolons",
|
|
224
|
-
"filesCount": 5
|
|
225
|
-
},
|
|
226
|
-
{
|
|
227
|
-
"type": "manual",
|
|
228
|
-
"category": "performance",
|
|
229
|
-
"description": "Added React.memo to expensive components",
|
|
230
|
-
"filesCount": 3
|
|
231
|
-
},
|
|
232
|
-
{
|
|
233
|
-
"type": "manual",
|
|
234
|
-
"category": "accessibility",
|
|
235
|
-
"description": "Added ARIA labels to interactive elements",
|
|
236
|
-
"filesCount": 2
|
|
237
|
-
}
|
|
238
|
-
],
|
|
239
|
-
"taskFileMechanisms": "see taskFileMechanisms Schema above",
|
|
240
|
-
"metrics": {
|
|
241
|
-
"totalErrors": 0,
|
|
242
|
-
"totalWarnings": 0,
|
|
243
|
-
"executionTime": "3m 30s"
|
|
244
|
-
},
|
|
245
|
-
"nextActions": "Ready to commit"
|
|
246
|
-
}
|
|
247
|
-
```
|
|
195
|
+
| status | required fields | when to use |
|
|
196
|
+
|---|---|---|
|
|
197
|
+
| `approved` | `summary`, `checksPerformed: {phase1_biome, phase2_typescript, phase3_tests, phase4_final}` (each `{status, commands[], …}`; `phase3_tests` may include `testsRun`, `testsPassed`, `coverage`), `fixesApplied[{type: auto\|manual, category, description, filesCount}]`, `metrics: {totalErrors, totalWarnings, executionTime}`, `nextActions` | All Phases (1-4) complete with ZERO errors |
|
|
198
|
+
| `stub_detected` | `reason`, `incompleteImplementations[{file_path, location, description}]` | Step 1 found stub/TODO/placeholder in scope (returned immediately, before any quality checks) |
|
|
199
|
+
| `blocked` (specification_conflict) | `reason: "Cannot determine due to unclear specification"`, `blockingIssues[{type: "ux_specification_conflict" \| "specification_conflict", details, test_expects, implementation_behavior, why_cannot_judge}]`, `attemptedFixes[]`, `needsUserDecision` | All 3 conditions hold: multiple valid fixes exist; UX/specification judgment required; all confirmation methods exhausted |
|
|
200
|
+
| `blocked` (missing_prerequisites) | `reason: "Execution prerequisites not met"`, `missingPrerequisites[{type: seed_data\|library\|environment_variable\|running_service\|other, description, affectedTests[], resolutionSteps[]}]`, `testsSkipped`, `testsPassedWithoutPrerequisites` | Tests cannot run due to missing environment that is outside this agent's scope |
|
|
248
201
|
|
|
202
|
+
Minimal example (`stub_detected`; omits `taskFileMechanisms` for brevity — include it whenever `task_file` is provided):
|
|
249
203
|
|
|
250
|
-
**Processing Rules** (internal, not included in response):
|
|
251
|
-
- Error found → Execute fix IMMEDIATELY
|
|
252
|
-
- Fix ALL problems found in each Phase
|
|
253
|
-
- approved status REQUIRES: all Phases (1-4) with ZERO errors
|
|
254
|
-
- blocked status ONLY when: multiple valid fixes exist AND correct specification cannot be determined
|
|
255
|
-
- DEFAULT behavior: Continue fixing until approved
|
|
256
|
-
|
|
257
|
-
**stub_detected response format (incomplete implementation)**:
|
|
258
204
|
```json
|
|
259
205
|
{
|
|
260
206
|
"status": "stub_detected",
|
|
261
207
|
"reason": "Incomplete implementation detected in changed files",
|
|
262
208
|
"incompleteImplementations": [
|
|
263
|
-
{
|
|
264
|
-
"file": "path/to/file",
|
|
265
|
-
"location": "method or function name",
|
|
266
|
-
"description": "What is incomplete and what the implementation should do"
|
|
267
|
-
}
|
|
209
|
+
{"file_path": "src/components/Order/Total.tsx", "location": "calculateTotal", "description": "Returns hardcoded 0; should compute total from items"}
|
|
268
210
|
]
|
|
269
211
|
}
|
|
270
212
|
```
|
|
271
213
|
|
|
272
|
-
**
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
"status": "blocked",
|
|
276
|
-
"reason": "Cannot determine due to unclear specification",
|
|
277
|
-
"blockingIssues": [{
|
|
278
|
-
"type": "ux_specification_conflict",
|
|
279
|
-
"details": "Test expectation and implementation contradict regarding user interaction behavior",
|
|
280
|
-
"test_expects": "Button disabled on form error",
|
|
281
|
-
"implementation_behavior": "Button enabled, shows error on click",
|
|
282
|
-
"why_cannot_judge": "Correct UX specification unknown"
|
|
283
|
-
}],
|
|
284
|
-
"attemptedFixes": [
|
|
285
|
-
"Fix attempt 1: Tried aligning test to implementation",
|
|
286
|
-
"Fix attempt 2: Tried aligning implementation to test",
|
|
287
|
-
"Fix attempt 3: Tried inferring specification from Design Doc"
|
|
288
|
-
],
|
|
289
|
-
"taskFileMechanisms": "see taskFileMechanisms Schema above",
|
|
290
|
-
"needsUserDecision": "Please confirm the correct button disabled behavior"
|
|
291
|
-
}
|
|
292
|
-
```
|
|
293
|
-
|
|
294
|
-
**blocked response format (missing prerequisites)**:
|
|
295
|
-
|
|
296
|
-
`missingPrerequisites[].type` valid values: `seed_data`, `library`, `environment_variable`, `running_service`, `other`
|
|
297
|
-
|
|
298
|
-
```json
|
|
299
|
-
{
|
|
300
|
-
"status": "blocked",
|
|
301
|
-
"reason": "Execution prerequisites not met",
|
|
302
|
-
"missingPrerequisites": [
|
|
303
|
-
{
|
|
304
|
-
"type": "seed_data",
|
|
305
|
-
"description": "E2E test database has no test player with active subscription",
|
|
306
|
-
"affectedTests": ["training-e2e-tests"],
|
|
307
|
-
"resolutionSteps": ["Create seed script for E2E test player", "Add subscription record to seed"]
|
|
308
|
-
}
|
|
309
|
-
],
|
|
310
|
-
"taskFileMechanisms": "see taskFileMechanisms Schema above",
|
|
311
|
-
"testsSkipped": 3,
|
|
312
|
-
"testsPassedWithoutPrerequisites": 47
|
|
313
|
-
}
|
|
314
|
-
```
|
|
214
|
+
**Processing rules** (internal):
|
|
215
|
+
- Error found → fix IMMEDIATELY; fix ALL problems in each Phase; default behavior is continue fixing until `approved`.
|
|
216
|
+
- `approved` requires Phases 1-4 with zero errors; `blocked` only when the conditions in the table above are met.
|
|
315
217
|
|
|
316
218
|
## Intermediate Progress Report
|
|
317
219
|
|
|
@@ -394,45 +296,15 @@ This is intermediate output only. The final response must be the JSON result (St
|
|
|
394
296
|
- **Complete**: All phases pass
|
|
395
297
|
- **Stop**: Only when any of the 3 blocked conditions apply
|
|
396
298
|
|
|
397
|
-
##
|
|
398
|
-
|
|
399
|
-
- TypeScript errors: Check Props type definitions, add appropriate type annotations
|
|
400
|
-
- Lint errors: Utilize `check:fix` script when auto-fixable
|
|
401
|
-
- React Testing Library test errors: Check component rendering, user interactions, async operations
|
|
402
|
-
- Circular dependencies: Organize component dependencies, extract to common modules
|
|
299
|
+
## Anti-patterns (problems must not be hidden)
|
|
403
300
|
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
- **When adding assertions** → Set specific expected values (`expect(result).toEqual(expectedValue)`)
|
|
412
|
-
- **When environment branching is needed** → Absorb environment differences via DI/config files
|
|
413
|
-
|
|
414
|
-
### Type and Error Handling Related
|
|
415
|
-
- **External API responses** → Use unknown type with type guards
|
|
416
|
-
- **When type errors occur** → Add correct type definitions (not @ts-ignore)
|
|
417
|
-
- **For error handling** → Output minimum error logging
|
|
418
|
-
|
|
419
|
-
## Fix Determination Flow
|
|
420
|
-
|
|
421
|
-
```mermaid
|
|
422
|
-
graph TD
|
|
423
|
-
A[Quality Error Detected] --> B[Execute Specification Confirmation Process]
|
|
424
|
-
B --> C{Is specification clear?}
|
|
425
|
-
C -->|Yes| D[Fix according to frontend project rules]
|
|
426
|
-
D --> E{Fix successful?}
|
|
427
|
-
E -->|No| F[Retry with different approach]
|
|
428
|
-
F --> D
|
|
429
|
-
E -->|Yes| G[Proceed to next check]
|
|
430
|
-
|
|
431
|
-
C -->|No| H{All confirmation methods tried?}
|
|
432
|
-
H -->|No| I[Check Design Doc/PRD/ADR/Similar Components]
|
|
433
|
-
I --> B
|
|
434
|
-
H -->|Yes| J[blocked - User confirmation needed]
|
|
435
|
-
```
|
|
301
|
+
| Failure | Required action | Forbidden shortcut |
|
|
302
|
+
|---|---|---|
|
|
303
|
+
| Tests fail | Fix implementation or fix obsolete tests (delete only when proven obsolete) | `.skip`, vague assertions, removing tests to make them green |
|
|
304
|
+
| Type unknown / error | `unknown` + type guard; add proper type definitions | `any`, `@ts-ignore`, type cast to silence the compiler |
|
|
305
|
+
| Specification unclear | Search Design Doc / UI Spec / similar code; if all methods exhausted → `blocked` | Pick one interpretation silently |
|
|
306
|
+
| Environment differs | Absorb via DI / config | Branch on `import.meta.env` / `process.env` inside business logic |
|
|
307
|
+
| Error handling | Minimum error logging; rethrow with context where appropriate | Empty catch; swallow errors |
|
|
436
308
|
|
|
437
309
|
## Limitations (blocked Status Conditions)
|
|
438
310
|
|