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.
Files changed (28) hide show
  1. package/.agents/skills/integration-e2e-testing/SKILL.md +45 -13
  2. package/.agents/skills/integration-e2e-testing/agents/openai.yaml +1 -1
  3. package/.agents/skills/integration-e2e-testing/references/e2e-design.md +7 -4
  4. package/.agents/skills/recipe-add-integration-tests/SKILL.md +6 -3
  5. package/.agents/skills/recipe-build/SKILL.md +6 -2
  6. package/.agents/skills/recipe-diagnose/SKILL.md +24 -23
  7. package/.agents/skills/recipe-front-build/SKILL.md +6 -2
  8. package/.agents/skills/recipe-front-plan/SKILL.md +1 -1
  9. package/.agents/skills/recipe-fullstack-build/SKILL.md +6 -2
  10. package/.agents/skills/recipe-fullstack-implement/SKILL.md +6 -4
  11. package/.agents/skills/recipe-implement/SKILL.md +9 -4
  12. package/.agents/skills/recipe-plan/SKILL.md +2 -1
  13. package/.agents/skills/recipe-update-doc/SKILL.md +1 -1
  14. package/.agents/skills/subagents-orchestration-guide/SKILL.md +9 -6
  15. package/.agents/skills/task-analyzer/references/skills-index.yaml +2 -2
  16. package/.agents/skills/testing/references/typescript.md +1 -1
  17. package/.codex/agents/acceptance-test-generator.toml +49 -26
  18. package/.codex/agents/code-verifier.toml +3 -1
  19. package/.codex/agents/design-sync.toml +257 -77
  20. package/.codex/agents/investigator.toml +46 -18
  21. package/.codex/agents/quality-fixer-frontend.toml +54 -8
  22. package/.codex/agents/quality-fixer.toml +55 -8
  23. package/.codex/agents/solver.toml +29 -25
  24. package/.codex/agents/technical-designer-frontend.toml +23 -100
  25. package/.codex/agents/technical-designer.toml +23 -51
  26. package/.codex/agents/verifier.toml +61 -60
  27. package/.codex/agents/work-planner.toml +16 -3
  28. 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 hypotheses or factualObservations
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**: Hypothesis verification, conclusion derivation, and solution proposals are handled by other agents
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: Hypothesis Generation and Evaluation
83
+ ### Step 3: Execution Path Mapping
84
84
 
85
- - Generate multiple hypotheses from observed phenomena (minimum 2, including "unlikely" ones)
86
- - Perform causal tracking for each hypothesis (stop conditions: addressable by code change / design decision level / external constraint)
87
- - Collect supporting and contradicting evidence for each hypothesis
88
- - Determine causeCategory: typo / logic_error / missing_constraint / design_gap / external_factor
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 4: Impact Scope Identification
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 5: Return JSON Result
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
- "hypotheses": [
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": "H1",
139
- "description": "Hypothesis description",
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 hypothesis"}
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
- "factualObservations": ["Objective facts observed regardless of hypotheses"],
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
- - [ ] Enumerated 2+ hypotheses with causal tracking, evidence collection, and causeCategory determination for each
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 hypotheses were evaluated (not just the first plausible one)
182
- - [ ] User's causal relationship hints are reflected in the hypothesis set
183
- - [ ] All contradicting evidence is addressed with adjusted confidence levels
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: Detect Quality Check Commands**
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 2: Execute Quality Checks**
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 3: Fix Errors**
90
+ **Step 4: Fix Errors**
67
91
  Apply fixes following the principles in coding-rules skill and testing skill.
68
92
 
69
- **Step 4: Repeat Until Approved**
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 5
73
- - Cannot determine spec → proceed to Step 5 with `blocked` status
96
+ - All pass → proceed to Step 6
97
+ - Cannot determine spec → proceed to Step 6 with `blocked` status
74
98
 
75
- **Step 5: Return JSON Result**
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` or `blocked`
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: Detect Quality Check Commands**
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 2: Execute Quality Checks**
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 3: Fix Errors**
88
+ **Step 4: Fix Errors**
64
89
  Apply fixes following the principles in coding-rules skill and testing skill.
65
90
 
66
- **Step 4: Repeat Until Approved**
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 5
70
- - Cannot determine spec → proceed to Step 5 with `blocked` status
94
+ - All pass → proceed to Step 6
95
+ - Cannot determine spec → proceed to Step 6 with `blocked` status
71
96
 
72
- **Step 5: Return JSON Result**
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` or `blocked`
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 cause and confidence. Assume `medium` if confidence not specified
40
- - **No conclusion**: If cause is obvious, present solutions as "estimated cause" (confidence: low); if unclear, report "Cannot derive solutions due to unidentified cause"
41
- - **Out of scope**: Cause investigation and hypothesis verification are handled by other agents
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: Cause Understanding and Input Validation
56
+ ### Step 1: Failure Point Understanding and Input Validation
57
57
 
58
58
  **For JSON format**:
59
- - Confirm causes (may be multiple) from `conclusion.causes`
60
- - Confirm causes relationship from `conclusion.causesRelationship`
61
- - Confirm confidence from `conclusion.confidence`
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
- **Causes Relationship Handling**:
64
- - independent: Derive separate solution for each cause
65
- - dependent: Solving root cause resolves derived causes
66
- - exclusive: One cause is true (others are incorrect)
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 cause-related descriptions
70
- - Look for confidence mentions (assume `medium` if not found)
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 cause" to residualRisks
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 cause | When cause is clear and certainty is high |
89
- | workaround | Alternative approach avoiding the cause | When fixing the cause is difficult or high-risk |
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 confidence:
110
- - high: Consider aggressive direct fixes and fundamental solutions
111
- - medium: Staged approach, verify with low-impact fixes before full implementation
112
- - low: Start with conservative mitigation, prioritize solutions that address multiple possible causes
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
- "identifiedCauses": [
130
- {"hypothesisId": "H1", "description": "Cause description", "status": "confirmed|probable|possible"}
131
+ "identifiedFailurePoints": [
132
+ {"failurePointId": "FP1", "description": "Failure point description", "status": "confirmed|probable|possible"}
131
133
  ],
132
- "causesRelationship": "independent|dependent|exclusive",
133
- "confidence": "high|medium|low"
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 confidence
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
- Details of documentation creation criteria follow the principles in documentation-criteria skill.
51
-
52
- ### Overview
53
- - ADR: Component architecture changes, state management changes, React patterns changes, external library changes
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, document in format convertible to React Testing Library test cases.
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
- **Comprehensiveness**: Cover happy path, unhappy path, and edge cases. Define non-functional requirements in separate section.
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 ROI):
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 ROI in LLM/CI/CD environment):
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