codex-workflows 0.4.6 → 0.4.8
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/.agents/skills/integration-e2e-testing/SKILL.md +45 -13
- package/.agents/skills/integration-e2e-testing/agents/openai.yaml +1 -1
- package/.agents/skills/integration-e2e-testing/references/e2e-design.md +7 -4
- package/.agents/skills/recipe-add-integration-tests/SKILL.md +6 -3
- package/.agents/skills/recipe-build/SKILL.md +6 -2
- package/.agents/skills/recipe-diagnose/SKILL.md +24 -23
- package/.agents/skills/recipe-front-build/SKILL.md +6 -2
- package/.agents/skills/recipe-front-plan/SKILL.md +1 -1
- package/.agents/skills/recipe-fullstack-build/SKILL.md +6 -2
- package/.agents/skills/recipe-fullstack-implement/SKILL.md +6 -4
- package/.agents/skills/recipe-implement/SKILL.md +9 -4
- package/.agents/skills/recipe-plan/SKILL.md +2 -1
- package/.agents/skills/recipe-update-doc/SKILL.md +1 -1
- package/.agents/skills/subagents-orchestration-guide/SKILL.md +9 -6
- package/.agents/skills/task-analyzer/references/skills-index.yaml +2 -2
- package/.agents/skills/testing/references/typescript.md +1 -1
- package/.codex/agents/acceptance-test-generator.toml +49 -26
- package/.codex/agents/code-verifier.toml +3 -1
- package/.codex/agents/design-sync.toml +257 -77
- package/.codex/agents/investigator.toml +46 -18
- package/.codex/agents/quality-fixer-frontend.toml +54 -8
- package/.codex/agents/quality-fixer.toml +55 -8
- package/.codex/agents/solver.toml +29 -25
- package/.codex/agents/technical-designer-frontend.toml +23 -100
- package/.codex/agents/technical-designer.toml +23 -51
- package/.codex/agents/verifier.toml +61 -60
- package/.codex/agents/work-planner.toml +16 -3
- package/package.json +1 -1
|
@@ -38,9 +38,9 @@ Skill Status:
|
|
|
38
38
|
|
|
39
39
|
- **Input**: Accepts both text and JSON formats. For JSON, use `problemSummary`
|
|
40
40
|
- **Unclear input**: Adopt the most reasonable interpretation and include "Investigation target: interpreted as ~" in output
|
|
41
|
-
- **With investigationFocus input**: Collect evidence for each focus point and include in
|
|
41
|
+
- **With investigationFocus input**: Collect evidence for each focus point and include in failurePoints or factualObservations
|
|
42
42
|
- **Without investigationFocus input**: Execute standard investigation flow
|
|
43
|
-
- **Out of scope**:
|
|
43
|
+
- **Out of scope**: Final verification, conclusion derivation, and solution proposals are handled by other agents
|
|
44
44
|
|
|
45
45
|
## Output Scope
|
|
46
46
|
|
|
@@ -80,22 +80,29 @@ Information source priority:
|
|
|
80
80
|
2. Comparison with past working state
|
|
81
81
|
3. External recommended patterns
|
|
82
82
|
|
|
83
|
-
### Step 3:
|
|
83
|
+
### Step 3: Execution Path Mapping
|
|
84
84
|
|
|
85
|
-
-
|
|
86
|
-
-
|
|
87
|
-
-
|
|
88
|
-
|
|
85
|
+
- Map the execution path relevant to the phenomenon from entry point to observable failure point
|
|
86
|
+
- Represent the path as ordered nodes such as route entry, controller/service, validation, persistence, external dependency, render, or background processing
|
|
87
|
+
- Record unknown or unverified nodes explicitly instead of guessing
|
|
88
|
+
|
|
89
|
+
### Step 4: Failure Point Identification
|
|
90
|
+
|
|
91
|
+
- Evaluate each mapped node independently for concrete failure points
|
|
92
|
+
- A failure point is a specific fault or missing constraint on the execution path, not a competing theory
|
|
93
|
+
- For each failure point, determine causeCategory: typo / logic_error / missing_constraint / design_gap / external_factor
|
|
94
|
+
- Record a `causalChain` from observed symptom to that failure point
|
|
95
|
+
- Preserve multiple independent failure points when evidence supports them
|
|
89
96
|
|
|
90
97
|
**Tracking depth check**: Each causal chain must reach a stop condition. If it ends at a configuration state or technical label, continue tracing why that state exists.
|
|
91
98
|
|
|
92
|
-
### Step
|
|
99
|
+
### Step 5: Impact Scope Identification
|
|
93
100
|
|
|
94
101
|
- Search for locations implemented with the same pattern (impactScope)
|
|
95
102
|
- Determine recurrenceRisk: low (isolated) / medium (2 or fewer locations) / high (3+ locations or design_gap)
|
|
96
103
|
- Disclose unexplored areas and investigation limitations
|
|
97
104
|
|
|
98
|
-
### Step
|
|
105
|
+
### Step 6: Return JSON Result
|
|
99
106
|
|
|
100
107
|
Return the JSON result as the final response. See Output Format for the schema.
|
|
101
108
|
|
|
@@ -133,17 +140,30 @@ Return the JSON result as the final response. See Output Format for the schema.
|
|
|
133
140
|
"relevance": "Relevance to this problem"
|
|
134
141
|
}
|
|
135
142
|
],
|
|
136
|
-
"
|
|
143
|
+
"pathMap": {
|
|
144
|
+
"entryPoint": "First relevant execution entry",
|
|
145
|
+
"nodes": [
|
|
146
|
+
{
|
|
147
|
+
"id": "N1",
|
|
148
|
+
"stage": "route_entry|service_entry|validation|persistence_read|persistence_write|external_call|render|other",
|
|
149
|
+
"component": "Component or file path",
|
|
150
|
+
"description": "Role on the execution path",
|
|
151
|
+
"status": "observed|inferred|unverified"
|
|
152
|
+
}
|
|
153
|
+
]
|
|
154
|
+
},
|
|
155
|
+
"failurePoints": [
|
|
137
156
|
{
|
|
138
|
-
"id": "
|
|
139
|
-
"
|
|
157
|
+
"id": "FP1",
|
|
158
|
+
"nodeId": "N1",
|
|
159
|
+
"description": "Specific failure point description",
|
|
140
160
|
"causeCategory": "typo|logic_error|missing_constraint|design_gap|external_factor",
|
|
141
161
|
"causalChain": ["Phenomenon", "→ Direct cause", "→ Root cause"],
|
|
142
162
|
"supportingEvidence": [
|
|
143
163
|
{"evidence": "Evidence", "source": "Source", "strength": "direct|indirect|circumstantial"}
|
|
144
164
|
],
|
|
145
165
|
"contradictingEvidence": [
|
|
146
|
-
{"evidence": "Counter-evidence", "source": "Source", "impact": "Impact on
|
|
166
|
+
{"evidence": "Counter-evidence", "source": "Source", "impact": "Impact on this failure point"}
|
|
147
167
|
],
|
|
148
168
|
"unexploredAspects": ["Unverified aspects"]
|
|
149
169
|
}
|
|
@@ -162,7 +182,14 @@ Return the JSON result as the final response. See Output Format for the schema.
|
|
|
162
182
|
"unexploredAreas": [
|
|
163
183
|
{"area": "Unexplored area", "reason": "Reason could not investigate", "potentialRelevance": "Relevance"}
|
|
164
184
|
],
|
|
165
|
-
"
|
|
185
|
+
"failurePointRelationships": [
|
|
186
|
+
{
|
|
187
|
+
"from": "FP1",
|
|
188
|
+
"to": "FP2",
|
|
189
|
+
"relationship": "independent|upstream_of|downstream_of|amplifies|same_boundary"
|
|
190
|
+
}
|
|
191
|
+
],
|
|
192
|
+
"factualObservations": ["Objective facts observed regardless of failure-point classification"],
|
|
166
193
|
"investigationLimitations": ["Limitations and constraints of this investigation"]
|
|
167
194
|
}
|
|
168
195
|
```
|
|
@@ -172,15 +199,16 @@ Return the JSON result as the final response. See Output Format for the schema.
|
|
|
172
199
|
- [ ] Determined problem type and executed diff analysis for change failures
|
|
173
200
|
- [ ] Output comparisonAnalysis
|
|
174
201
|
- [ ] Investigated each source type or recorded that it had no relevant findings
|
|
175
|
-
- [ ]
|
|
202
|
+
- [ ] Mapped the relevant execution path
|
|
203
|
+
- [ ] Enumerated concrete failure points with causal tracking, evidence collection, and causeCategory determination for each
|
|
176
204
|
- [ ] Determined impactScope and recurrenceRisk
|
|
177
205
|
- [ ] Documented unexplored areas and investigation limitations
|
|
178
206
|
- [ ] Final response is the JSON output
|
|
179
207
|
|
|
180
208
|
## Output Self-Check
|
|
181
|
-
- [ ] Multiple
|
|
182
|
-
- [ ] User's causal relationship hints are reflected in the
|
|
183
|
-
- [ ] All contradicting evidence is addressed with adjusted
|
|
209
|
+
- [ ] Multiple plausible failure points were preserved when evidence supported them
|
|
210
|
+
- [ ] User's causal relationship hints are reflected in the path map or failure points
|
|
211
|
+
- [ ] All contradicting evidence is addressed with adjusted evidence strength or scope notes
|
|
184
212
|
|
|
185
213
|
## Completion Gate [BLOCKING]
|
|
186
214
|
|
|
@@ -48,7 +48,31 @@ Use the appropriate run command based on the `packageManager` field in package.j
|
|
|
48
48
|
|
|
49
49
|
### Environment-Aware Quality Assurance
|
|
50
50
|
|
|
51
|
-
**Step 1:
|
|
51
|
+
**Step 1: Incomplete Implementation Check**
|
|
52
|
+
Before any frontend quality checks, inspect only the current task scope for incomplete implementation.
|
|
53
|
+
|
|
54
|
+
Task scope for this check:
|
|
55
|
+
- primary scope: `filesModified` or the current task's write set when the orchestrator provides it
|
|
56
|
+
- fallback scope: the current uncommitted diff only when no task-scoped file list is available
|
|
57
|
+
|
|
58
|
+
Evaluate changed frontend code in this order:
|
|
59
|
+
1. Explicit unfinished markers:
|
|
60
|
+
- `TODO`, `FIXME`, `placeholder`, `stub`, `temporary`, `not implemented`
|
|
61
|
+
2. Missing required UI behavior:
|
|
62
|
+
- empty event handler, effect, reducer branch, or render branch where the task requires concrete behavior
|
|
63
|
+
3. Placeholder UI/data behavior with no task-level justification:
|
|
64
|
+
- hard-coded fallback state used instead of the required interaction flow
|
|
65
|
+
- placeholder loading/error/success branch used instead of the required UI behavior
|
|
66
|
+
|
|
67
|
+
Treat the following as allowed patterns:
|
|
68
|
+
- intentional fixtures, mocks, and story/demo scaffolding
|
|
69
|
+
- framework-required placeholder shells when the task explicitly requests scaffolding
|
|
70
|
+
- fallback UI states that the Design Doc, task file, or existing behavior explicitly requires
|
|
71
|
+
- comments about future enhancements outside the current task scope when the requested UI behavior is already complete
|
|
72
|
+
|
|
73
|
+
If incomplete implementation is detected, stop immediately and return `status: "stub_detected"` with the affected files and reasons. Proceed to lint, type-check, build, and tests only after this check passes.
|
|
74
|
+
|
|
75
|
+
**Step 2: Detect Quality Check Commands**
|
|
52
76
|
```bash
|
|
53
77
|
# Auto-detect from project manifest files
|
|
54
78
|
# Identify project structure and extract quality commands:
|
|
@@ -57,23 +81,24 @@ Use the appropriate run command based on the `packageManager` field in package.j
|
|
|
57
81
|
# - Build configuration → extract build/check commands
|
|
58
82
|
```
|
|
59
83
|
|
|
60
|
-
**Step
|
|
84
|
+
**Step 3: Execute Quality Checks**
|
|
61
85
|
Follow the principles in ai-development-guide skill "Quality Check Workflow" section:
|
|
62
86
|
- Basic checks (lint, format, build)
|
|
63
87
|
- Tests (unit, integration, React Testing Library)
|
|
64
88
|
- Final gate (all must pass)
|
|
65
89
|
|
|
66
|
-
**Step
|
|
90
|
+
**Step 4: Fix Errors**
|
|
67
91
|
Apply fixes following the principles in coding-rules skill and testing skill.
|
|
68
92
|
|
|
69
|
-
**Step
|
|
93
|
+
**Step 5: Repeat Until Approved**
|
|
70
94
|
- Address all errors in each phase before proceeding to next phase
|
|
71
95
|
- Error found → Fix immediately → Re-run checks
|
|
72
|
-
- All pass → proceed to Step
|
|
73
|
-
- Cannot determine spec → proceed to Step
|
|
96
|
+
- All pass → proceed to Step 6
|
|
97
|
+
- Cannot determine spec → proceed to Step 6 with `blocked` status
|
|
74
98
|
|
|
75
|
-
**Step
|
|
99
|
+
**Step 6: Return JSON Result**
|
|
76
100
|
Return one of the following as the final response (see Output Format for schemas):
|
|
101
|
+
- `status: "stub_detected"` — incomplete implementation found in changed code
|
|
77
102
|
- `status: "approved"` — all quality checks pass
|
|
78
103
|
- `status: "blocked"` — specification unclear or execution prerequisites are missing
|
|
79
104
|
|
|
@@ -105,6 +130,11 @@ Return one of the following as the final response (see Output Format for schemas
|
|
|
105
130
|
|
|
106
131
|
## Status Determination Criteria (Binary Determination)
|
|
107
132
|
|
|
133
|
+
### stub_detected (Incomplete implementation found)
|
|
134
|
+
- Changed frontend code contains placeholder logic, deferred required interactions, or stub UI/data behavior
|
|
135
|
+
- The issue is detected before lint/build/test execution
|
|
136
|
+
- The next action is to route the task back to task-executor-frontend for completion
|
|
137
|
+
|
|
108
138
|
### approved (All quality checks pass)
|
|
109
139
|
- All tests pass (React Testing Library)
|
|
110
140
|
- Build succeeds with zero type errors
|
|
@@ -143,6 +173,22 @@ Before setting status to blocked, confirm specifications in this order:
|
|
|
143
173
|
|
|
144
174
|
### Internal Structured Response (for Main AI)
|
|
145
175
|
|
|
176
|
+
**When incomplete implementation is detected**:
|
|
177
|
+
```json
|
|
178
|
+
{
|
|
179
|
+
"status": "stub_detected",
|
|
180
|
+
"summary": "Incomplete frontend implementation detected in changed code before quality checks.",
|
|
181
|
+
"stubFindings": [
|
|
182
|
+
{
|
|
183
|
+
"file": "src/components/CheckoutButton.tsx",
|
|
184
|
+
"indicator": "placeholder handler",
|
|
185
|
+
"details": "onClick handler still contains placeholder logic for required submission flow"
|
|
186
|
+
}
|
|
187
|
+
],
|
|
188
|
+
"nextActions": "Return to task-executor-frontend and complete the implementation before re-running quality-fixer-frontend."
|
|
189
|
+
}
|
|
190
|
+
```
|
|
191
|
+
|
|
146
192
|
**When quality check succeeds**:
|
|
147
193
|
```json
|
|
148
194
|
{
|
|
@@ -254,7 +300,7 @@ This is intermediate output only. The final response must be the JSON result (St
|
|
|
254
300
|
|
|
255
301
|
## Completion Criteria
|
|
256
302
|
|
|
257
|
-
- [ ] Final response is a single JSON with status `approved
|
|
303
|
+
- [ ] Final response is a single JSON with status `stub_detected`, `approved`, or `blocked`
|
|
258
304
|
|
|
259
305
|
## Important Principles
|
|
260
306
|
|
|
@@ -45,7 +45,32 @@ Skill Status:
|
|
|
45
45
|
|
|
46
46
|
### Environment-Aware Quality Assurance
|
|
47
47
|
|
|
48
|
-
**Step 1:
|
|
48
|
+
**Step 1: Incomplete Implementation Check**
|
|
49
|
+
Before any quality checks, inspect only the current task scope for incomplete implementation.
|
|
50
|
+
|
|
51
|
+
Task scope for this check:
|
|
52
|
+
- primary scope: `filesModified` or the current task's write set when the orchestrator provides it
|
|
53
|
+
- fallback scope: the current uncommitted diff only when no task-scoped file list is available
|
|
54
|
+
|
|
55
|
+
Evaluate changed code in this order:
|
|
56
|
+
1. Explicit unfinished markers:
|
|
57
|
+
- `TODO`, `FIXME`, `placeholder`, `stub`, `temporary`, `not implemented`
|
|
58
|
+
2. Missing required implementation body:
|
|
59
|
+
- empty method/function body where the task requires concrete logic
|
|
60
|
+
- empty event/handler branch where the task requires behavior
|
|
61
|
+
3. Placeholder behavior with no task-level justification:
|
|
62
|
+
- constant sentinel return used instead of required business logic
|
|
63
|
+
- pass-through mock or fallback path used in production code instead of the required behavior
|
|
64
|
+
|
|
65
|
+
Treat the following as allowed patterns:
|
|
66
|
+
- intentional test doubles, fixtures, and test-only helpers
|
|
67
|
+
- framework-required scaffolding when the task explicitly requests scaffolding
|
|
68
|
+
- `null`, `[]`, `{}`, or fallback values when the Design Doc, task file, or existing behavior explicitly requires them
|
|
69
|
+
- comments about future work outside the current task scope when the requested behavior is already complete
|
|
70
|
+
|
|
71
|
+
If incomplete implementation is detected, stop immediately and return `status: "stub_detected"` with the affected files and reasons. Proceed to lint, build, and tests only after this check passes.
|
|
72
|
+
|
|
73
|
+
**Step 2: Detect Quality Check Commands**
|
|
49
74
|
```bash
|
|
50
75
|
# Auto-detect from project manifest files
|
|
51
76
|
# Identify project structure and extract quality commands:
|
|
@@ -54,28 +79,34 @@ Skill Status:
|
|
|
54
79
|
# - Build configuration → extract build/check commands
|
|
55
80
|
```
|
|
56
81
|
|
|
57
|
-
**Step
|
|
82
|
+
**Step 3: Execute Quality Checks**
|
|
58
83
|
Follow the principles in ai-development-guide skill "Quality Check Workflow" section:
|
|
59
84
|
- Basic checks (lint, format, build)
|
|
60
85
|
- Tests (unit, integration)
|
|
61
86
|
- Final gate (all must pass)
|
|
62
87
|
|
|
63
|
-
**Step
|
|
88
|
+
**Step 4: Fix Errors**
|
|
64
89
|
Apply fixes following the principles in coding-rules skill and testing skill.
|
|
65
90
|
|
|
66
|
-
**Step
|
|
91
|
+
**Step 5: Repeat Until Approved**
|
|
67
92
|
- Address all errors in each phase before proceeding to next phase
|
|
68
93
|
- Error found → Fix immediately → Re-run checks
|
|
69
|
-
- All pass → proceed to Step
|
|
70
|
-
- Cannot determine spec → proceed to Step
|
|
94
|
+
- All pass → proceed to Step 6
|
|
95
|
+
- Cannot determine spec → proceed to Step 6 with `blocked` status
|
|
71
96
|
|
|
72
|
-
**Step
|
|
97
|
+
**Step 6: Return JSON Result**
|
|
73
98
|
Return one of the following as the final response (see Output Format for schemas):
|
|
99
|
+
- `status: "stub_detected"` — incomplete implementation found in changed code
|
|
74
100
|
- `status: "approved"` — all quality checks pass
|
|
75
101
|
- `status: "blocked"` — specification unclear or execution prerequisites are missing
|
|
76
102
|
|
|
77
103
|
## Status Determination Criteria (Binary Determination)
|
|
78
104
|
|
|
105
|
+
### stub_detected (Incomplete implementation found)
|
|
106
|
+
- Changed code contains placeholder logic, deferred required work, or stub return values that indicate implementation is not complete
|
|
107
|
+
- The issue is detected before lint/build/test execution
|
|
108
|
+
- The next action is to route the task back to task-executor for completion
|
|
109
|
+
|
|
79
110
|
### approved (All quality checks pass)
|
|
80
111
|
- All tests pass
|
|
81
112
|
- Build succeeds
|
|
@@ -106,6 +137,22 @@ Return one of the following as the final response (see Output Format for schemas
|
|
|
106
137
|
|
|
107
138
|
### Internal Structured Response
|
|
108
139
|
|
|
140
|
+
**When incomplete implementation is detected**:
|
|
141
|
+
```json
|
|
142
|
+
{
|
|
143
|
+
"status": "stub_detected",
|
|
144
|
+
"summary": "Incomplete implementation detected in changed code before quality checks.",
|
|
145
|
+
"stubFindings": [
|
|
146
|
+
{
|
|
147
|
+
"file": "src/example.ts",
|
|
148
|
+
"indicator": "TODO marker",
|
|
149
|
+
"details": "TODO comment defers required business logic in the task scope"
|
|
150
|
+
}
|
|
151
|
+
],
|
|
152
|
+
"nextActions": "Return to task-executor and complete the implementation before re-running quality-fixer."
|
|
153
|
+
}
|
|
154
|
+
```
|
|
155
|
+
|
|
109
156
|
**When quality check succeeds**:
|
|
110
157
|
```json
|
|
111
158
|
{
|
|
@@ -224,7 +271,7 @@ This is intermediate output only. The final response must be the JSON result (St
|
|
|
224
271
|
|
|
225
272
|
## Completion Criteria
|
|
226
273
|
|
|
227
|
-
- [ ] Final response is a single JSON with status `approved
|
|
274
|
+
- [ ] Final response is a single JSON with status `stub_detected`, `approved`, or `blocked`
|
|
228
275
|
|
|
229
276
|
## Important Principles
|
|
230
277
|
|
|
@@ -36,9 +36,9 @@ Skill Status:
|
|
|
36
36
|
## Input and Responsibility Boundaries
|
|
37
37
|
|
|
38
38
|
- **Input**: Structured conclusion (JSON) or text format conclusion
|
|
39
|
-
- **Text format**: Extract
|
|
40
|
-
- **No conclusion**: If
|
|
41
|
-
- **Out of scope**: Cause investigation and
|
|
39
|
+
- **Text format**: Extract failure points and coverage status. Assume `partial` coverage if not specified
|
|
40
|
+
- **No conclusion**: If a failure point is obvious, present solutions as "estimated failure point" with partial coverage; if unclear, report "Cannot derive solutions due to unidentified cause"
|
|
41
|
+
- **Out of scope**: Cause investigation and failure-point verification are handled by other agents
|
|
42
42
|
|
|
43
43
|
## Output Scope
|
|
44
44
|
|
|
@@ -53,27 +53,29 @@ This agent outputs **solution derivation and recommendation presentation**. Proc
|
|
|
53
53
|
|
|
54
54
|
## Execution Steps
|
|
55
55
|
|
|
56
|
-
### Step 1:
|
|
56
|
+
### Step 1: Failure Point Understanding and Input Validation
|
|
57
57
|
|
|
58
58
|
**For JSON format**:
|
|
59
|
-
- Confirm
|
|
60
|
-
- Confirm
|
|
61
|
-
- Confirm
|
|
59
|
+
- Confirm failure points (may be multiple) from `conclusion.confirmedFailurePoints`
|
|
60
|
+
- Confirm failure-point relationships from `conclusion.failurePointRelationships`
|
|
61
|
+
- Confirm coverage assessment from `conclusion.coverageAssessment`
|
|
62
62
|
|
|
63
|
-
**
|
|
64
|
-
- independent: Derive separate solution for each
|
|
65
|
-
-
|
|
66
|
-
-
|
|
63
|
+
**Failure Point Relationship Handling**:
|
|
64
|
+
- independent: Derive separate solution for each failure point
|
|
65
|
+
- upstream_of: Prioritize the upstream failure point before downstream fixes
|
|
66
|
+
- downstream_of: Verify whether the upstream failure point should be fixed first
|
|
67
|
+
- amplifies: Consider a combined mitigation or staged fix because one failure point worsens another
|
|
68
|
+
- same_boundary: Consider a shared boundary fix or compatibility-layer fix
|
|
67
69
|
|
|
68
70
|
**For text format**:
|
|
69
|
-
- Extract
|
|
70
|
-
- Look for
|
|
71
|
+
- Extract failure-point-related descriptions
|
|
72
|
+
- Look for coverage or uncertainty mentions (assume `partial` if not found)
|
|
71
73
|
- Look for uncertainty-related descriptions
|
|
72
74
|
|
|
73
75
|
**User Report Consistency Check**:
|
|
74
76
|
- Example: "I changed A and B broke" → Does the conclusion explain that causal relationship?
|
|
75
77
|
- Example: "The implementation is wrong" → Does the conclusion include design-level issues?
|
|
76
|
-
- If inconsistent, add "Possible need to reconsider the
|
|
78
|
+
- If inconsistent, add "Possible need to reconsider the identified failure point" to residualRisks
|
|
77
79
|
|
|
78
80
|
**Approach Selection Based on impactAnalysis**:
|
|
79
81
|
- impactScope empty, recurrenceRisk: low → Direct fix only
|
|
@@ -85,8 +87,8 @@ Generate at least 3 solutions from the following perspectives:
|
|
|
85
87
|
|
|
86
88
|
| Type | Definition | Application |
|
|
87
89
|
|------|------------|-------------|
|
|
88
|
-
| direct | Directly fix the
|
|
89
|
-
| workaround | Alternative approach avoiding the
|
|
90
|
+
| direct | Directly fix the failure point | When the failure point is clear and certainty is high |
|
|
91
|
+
| workaround | Alternative approach avoiding the failure point | When fixing the failure point is difficult or high-risk |
|
|
90
92
|
| mitigation | Measures to reduce impact | Temporary measure while waiting for root fix |
|
|
91
93
|
| fundamental | Comprehensive fix including recurrence prevention | When similar problems have occurred repeatedly |
|
|
92
94
|
|
|
@@ -106,10 +108,10 @@ Evaluate each solution on the following axes:
|
|
|
106
108
|
| certainty | Degree of certainty in solving the problem |
|
|
107
109
|
|
|
108
110
|
### Step 4: Recommendation Selection
|
|
109
|
-
Recommendation strategy based on
|
|
110
|
-
-
|
|
111
|
-
-
|
|
112
|
-
-
|
|
111
|
+
Recommendation strategy based on coverage assessment:
|
|
112
|
+
- sufficient: Consider direct fixes and fundamental solutions
|
|
113
|
+
- partial: Prefer staged approach, verify with low-impact fixes before full implementation
|
|
114
|
+
- insufficient: Start with conservative mitigation and highlight additional verification needs
|
|
113
115
|
|
|
114
116
|
### Step 5: Implementation Steps Creation
|
|
115
117
|
- Each step independently verifiable
|
|
@@ -126,11 +128,13 @@ Return the JSON result as the final response. See Output Format for the schema.
|
|
|
126
128
|
```json
|
|
127
129
|
{
|
|
128
130
|
"inputSummary": {
|
|
129
|
-
"
|
|
130
|
-
{"
|
|
131
|
+
"identifiedFailurePoints": [
|
|
132
|
+
{"failurePointId": "FP1", "description": "Failure point description", "status": "confirmed|probable|possible"}
|
|
131
133
|
],
|
|
132
|
-
"
|
|
133
|
-
|
|
134
|
+
"failurePointRelationships": [
|
|
135
|
+
{"from": "FP1", "to": "FP2", "relationship": "independent|upstream_of|downstream_of|amplifies|same_boundary"}
|
|
136
|
+
],
|
|
137
|
+
"coverageAssessment": "sufficient|partial|insufficient"
|
|
134
138
|
},
|
|
135
139
|
"solutions": [
|
|
136
140
|
{
|
|
@@ -192,7 +196,7 @@ Return the JSON result as the final response. See Output Format for the schema.
|
|
|
192
196
|
## Output Self-Check
|
|
193
197
|
- [ ] Solution addresses the user's reported symptoms (not just the technical conclusion)
|
|
194
198
|
- [ ] Input conclusion consistency with user report was verified before solution derivation
|
|
195
|
-
- [ ] Contradicting evidence discovered during solution design is addressed with adjusted
|
|
199
|
+
- [ ] Contradicting evidence discovered during solution design is addressed with adjusted coverage assumptions
|
|
196
200
|
|
|
197
201
|
## Completion Gate [BLOCKING]
|
|
198
202
|
|
|
@@ -36,31 +36,12 @@ Skill Status:
|
|
|
36
36
|
|
|
37
37
|
**Current Date Retrieval**: Before starting work, retrieve the actual current date from the operating environment (do not rely on training data cutoff date).
|
|
38
38
|
|
|
39
|
-
## Main Responsibilities
|
|
40
|
-
|
|
41
|
-
1. Identify and evaluate frontend technical options (React libraries, state management, UI frameworks)
|
|
42
|
-
2. Document architecture decisions (ADR) for frontend
|
|
43
|
-
3. Create detailed design (Design Doc) for React components and features
|
|
44
|
-
4. **Define feature acceptance criteria and ensure verifiability in browser environment**
|
|
45
|
-
5. Analyze trade-offs and verify consistency with existing React architecture
|
|
46
|
-
6. **Research latest React/frontend technology information and cite sources**
|
|
47
|
-
|
|
48
39
|
## Document Creation Criteria
|
|
49
40
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
-
|
|
54
|
-
- Design Doc: Required for 3+ component/file changes
|
|
55
|
-
- Also required regardless of scale for:
|
|
56
|
-
- Complex state management logic
|
|
57
|
-
- Criteria: Managing 3+ state variables, or coordinating 5+ async operations (API calls)
|
|
58
|
-
- Example: Complex form state management, multiple API call orchestration
|
|
59
|
-
- Introduction of new React patterns or custom hooks
|
|
60
|
-
- Example: New context patterns, custom hook libraries
|
|
61
|
-
|
|
62
|
-
### Important: Assessment Consistency
|
|
63
|
-
- If assessments conflict, include and report the discrepancy in output
|
|
41
|
+
Follow documentation-criteria skill. If scale or document-type assessments conflict, report the discrepancy in output.
|
|
42
|
+
Representative triggers:
|
|
43
|
+
- ADR: component architecture, state-management, React pattern, or external library changes
|
|
44
|
+
- Design Doc: 3+ component/file changes, complex state management, or new React patterns/custom hooks
|
|
64
45
|
|
|
65
46
|
## Mandatory Process Before Design Doc Creation
|
|
66
47
|
|
|
@@ -239,6 +220,13 @@ When a UI Spec exists for the feature (`docs/ui-spec/{feature-name}-ui-spec.md`)
|
|
|
239
220
|
- Path to existing document
|
|
240
221
|
- Reason for changes
|
|
241
222
|
- Sections needing updates
|
|
223
|
+
- Before editing changed sections, build a Dependency Inventory for identifiers referenced by the update
|
|
224
|
+
- Dependency Inventory output format:
|
|
225
|
+
- `identifier`: exact literal identifier
|
|
226
|
+
- `source`: codebase | accepted_adr | external
|
|
227
|
+
- `status`: verified_existing | requires_new_creation | external_dependency
|
|
228
|
+
- `action`: keep | update_document | create_dependency | confirm_external_reference
|
|
229
|
+
- In update mode, cross-check prerequisite ADR references against Accepted ADRs only. Cross-Design-Doc consistency is handled by design-sync after the update
|
|
242
230
|
|
|
243
231
|
- **Reverse-Engineer Context** (reverse-engineer mode only):
|
|
244
232
|
- Primary Files
|
|
@@ -261,29 +249,6 @@ Exclude from ADR: Schedules, implementation procedures, specific code
|
|
|
261
249
|
|
|
262
250
|
Implementation guidelines MUST only include principles (e.g., "Use custom hooks for logic reuse" is correct, "Implement in Phase 1" is not)
|
|
263
251
|
|
|
264
|
-
## Output Policy
|
|
265
|
-
Execute file output immediately. Final approval is managed by the orchestrator recipe.
|
|
266
|
-
|
|
267
|
-
## Important Design Principles
|
|
268
|
-
|
|
269
|
-
1. **Consistency First Priority**: Follow existing React component patterns, document clear reasons when introducing new patterns
|
|
270
|
-
2. **Appropriate Abstraction**: Design optimal for current requirements, thoroughly apply YAGNI principle (follow project rules)
|
|
271
|
-
3. **Testability**: Props-driven design and mockable custom hooks
|
|
272
|
-
4. **Test Derivation from Feature Acceptance Criteria**: Clear React Testing Library test cases that satisfy each feature acceptance criterion
|
|
273
|
-
5. **Explicit Trade-offs**: Quantitatively evaluate benefits and drawbacks of each option (performance, accessibility)
|
|
274
|
-
6. **Active Use of Latest Information**:
|
|
275
|
-
- MUST research latest React best practices, libraries, and approaches with web search before design
|
|
276
|
-
- Cite information sources in "References" section with URLs
|
|
277
|
-
- Especially confirm multiple reliable sources when introducing new technologies
|
|
278
|
-
|
|
279
|
-
## Design Doc Completion Checklist
|
|
280
|
-
|
|
281
|
-
- [ ] Agreement Checklist completed and reflected in design
|
|
282
|
-
- [ ] Implementation approach selected with rationale
|
|
283
|
-
- [ ] Verification Strategy defined with correctness definition, target comparison, method, observable success indicator, timing, and early verification point
|
|
284
|
-
- [ ] Change Impact Map included
|
|
285
|
-
- [ ] Interface Change Impact Analysis included
|
|
286
|
-
|
|
287
252
|
## Implementation Sample Standards Compliance
|
|
288
253
|
|
|
289
254
|
**MANDATORY**: All implementation samples in ADR and Design Docs MUST strictly comply with coding-rules skill standards without exception.
|
|
@@ -296,51 +261,6 @@ Implementation sample creation checklist:
|
|
|
296
261
|
- Error handling approaches (Error Boundary, error state management)
|
|
297
262
|
- Environment variables (no secrets client-side)
|
|
298
263
|
|
|
299
|
-
**Example Implementation Sample**:
|
|
300
|
-
```typescript
|
|
301
|
-
// Compliant: Function component with Props type definition
|
|
302
|
-
type ButtonProps = {
|
|
303
|
-
label: string
|
|
304
|
-
onClick: () => void
|
|
305
|
-
disabled?: boolean
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
export function Button({ label, onClick, disabled = false }: ButtonProps) {
|
|
309
|
-
return (
|
|
310
|
-
<button onClick={onClick} disabled={disabled}>
|
|
311
|
-
{label}
|
|
312
|
-
</button>
|
|
313
|
-
)
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
// Compliant: Custom hook with type safety
|
|
317
|
-
function useUserData(userId: string) {
|
|
318
|
-
const [user, setUser] = useState<User | null>(null)
|
|
319
|
-
const [error, setError] = useState<Error | null>(null)
|
|
320
|
-
|
|
321
|
-
useEffect(() => {
|
|
322
|
-
async function fetchUser() {
|
|
323
|
-
try {
|
|
324
|
-
const response = await fetch(`/api/users/${userId}`)
|
|
325
|
-
const data: unknown = await response.json()
|
|
326
|
-
|
|
327
|
-
if (!isUser(data)) {
|
|
328
|
-
throw new Error('Invalid user data')
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
setUser(data)
|
|
332
|
-
} catch (err) {
|
|
333
|
-
setError(err instanceof Error ? err : new Error('Unknown error'))
|
|
334
|
-
}
|
|
335
|
-
}
|
|
336
|
-
|
|
337
|
-
fetchUser()
|
|
338
|
-
}, [userId])
|
|
339
|
-
|
|
340
|
-
return { user, error }
|
|
341
|
-
}
|
|
342
|
-
```
|
|
343
|
-
|
|
344
264
|
## Diagram Creation (using mermaid notation)
|
|
345
265
|
|
|
346
266
|
**ADR**: Option comparison diagram, decision impact diagram
|
|
@@ -390,25 +310,20 @@ function useUserData(userId: string) {
|
|
|
390
310
|
|
|
391
311
|
## Acceptance Criteria Creation Guidelines
|
|
392
312
|
|
|
393
|
-
**Principle**: Set specific, verifiable conditions in browser environment. Avoid ambiguous expressions
|
|
313
|
+
**Principle**: Set specific, verifiable conditions in browser environment. Avoid ambiguous expressions and make each criterion convertible to React Testing Library test cases.
|
|
394
314
|
**Example**: "Form works" → "After entering valid email and password, clicking submit button calls API and displays success message"
|
|
395
|
-
|
|
396
|
-
- Expected behavior (happy path)
|
|
397
|
-
- Error handling (unhappy path)
|
|
398
|
-
- Edge cases (empty states, loading states)
|
|
399
|
-
|
|
400
|
-
4. **Priority**: Place important acceptance criteria at the top
|
|
315
|
+
Cover happy path, unhappy path, and edge cases including empty and loading states. Place important criteria first.
|
|
401
316
|
|
|
402
317
|
### AC Scoping for Autonomous Implementation (Frontend)
|
|
403
318
|
|
|
404
|
-
**Include** (High automation
|
|
319
|
+
**Include** (High automation value):
|
|
405
320
|
- User interaction behavior (button clicks, form submissions, navigation)
|
|
406
321
|
- Rendering correctness (component displays correct data)
|
|
407
322
|
- State management behavior (state updates correctly on user actions)
|
|
408
323
|
- Error handling behavior (error messages displayed to user)
|
|
409
324
|
- Accessibility (keyboard navigation, screen reader support)
|
|
410
325
|
|
|
411
|
-
**Exclude** (Low
|
|
326
|
+
**Exclude** (Low automation value in LLM/CI/CD environment):
|
|
412
327
|
- External API real connections → Use MSW for API mocking instead
|
|
413
328
|
- Performance metrics → Non-deterministic in CI environment
|
|
414
329
|
- Implementation details → Focus on user-observable behavior
|
|
@@ -451,6 +366,14 @@ Completion rule for reverse-engineer mode:
|
|
|
451
366
|
- Every Unit Inventory route or public export is accounted for in the Design Doc
|
|
452
367
|
- Every claim about component structure, props flow, state flow, API interaction, or error handling cites file:line evidence
|
|
453
368
|
|
|
369
|
+
## Completion Criteria
|
|
370
|
+
|
|
371
|
+
- Output file paths and document types are determined correctly
|
|
372
|
+
- Required sections for the selected mode are completed
|
|
373
|
+
- Quality checklist items are satisfied
|
|
374
|
+
- Create/update mode includes acceptance criteria and verification strategy
|
|
375
|
+
- Reverse-engineer mode satisfies the reverse-engineer completion rule
|
|
376
|
+
|
|
454
377
|
## Completion Gate [BLOCKING]
|
|
455
378
|
|
|
456
379
|
☐ All completion criteria met with evidence
|