codex-workflows 0.2.5 → 0.3.1
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/documentation-criteria/references/task-template.md +9 -0
- package/.agents/skills/integration-e2e-testing/SKILL.md +13 -0
- package/.agents/skills/subagents-orchestration-guide/SKILL.md +2 -2
- package/.codex/agents/quality-fixer-frontend.toml +30 -4
- package/.codex/agents/quality-fixer.toml +30 -4
- package/.codex/agents/task-decomposer.toml +23 -2
- package/.codex/agents/task-executor-frontend.toml +46 -7
- package/.codex/agents/task-executor.toml +47 -8
- package/.codex/agents/work-planner.toml +22 -2
- package/package.json +2 -2
|
@@ -13,8 +13,17 @@ Metadata:
|
|
|
13
13
|
- [ ] [Implementation file path]
|
|
14
14
|
- [ ] [Test file path]
|
|
15
15
|
|
|
16
|
+
## Investigation Targets
|
|
17
|
+
Files to read before starting implementation. Use concrete file paths, optionally with a section/function hint:
|
|
18
|
+
- [e.g., src/orders/checkout.ts (processOrder function)]
|
|
19
|
+
|
|
20
|
+
## Investigation Notes
|
|
21
|
+
Brief observations recorded after reading Investigation Targets:
|
|
22
|
+
- [path] - [interfaces, control/data flow, state transitions, side effects relevant to this task]
|
|
23
|
+
|
|
16
24
|
## Implementation Steps (TDD: Red-Green-Refactor)
|
|
17
25
|
### 1. Red Phase
|
|
26
|
+
- [ ] Read all Investigation Targets and update Investigation Notes
|
|
18
27
|
- [ ] Review dependency deliverables (if any)
|
|
19
28
|
- [ ] Verify/create contract definitions
|
|
20
29
|
- [ ] Write failing tests
|
|
@@ -73,6 +73,19 @@ When verification points need explicit enumeration:
|
|
|
73
73
|
// - [Item 2]
|
|
74
74
|
```
|
|
75
75
|
|
|
76
|
+
### E2E Preconditions (Optional but Recommended)
|
|
77
|
+
|
|
78
|
+
When an E2E test requires environment setup, seed data, login state, or external dependency control, annotate it explicitly:
|
|
79
|
+
|
|
80
|
+
```text
|
|
81
|
+
// Preconditions:
|
|
82
|
+
// - Seeded user with active subscription
|
|
83
|
+
// - Authenticated browser session
|
|
84
|
+
// - Payment provider mocked or available in local environment
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
These annotations allow work-planner to create prerequisite tasks before E2E execution.
|
|
88
|
+
|
|
76
89
|
## EARS Format Mapping
|
|
77
90
|
|
|
78
91
|
| EARS Keyword | Test Type | Generation Approach |
|
|
@@ -175,8 +175,8 @@ All agents MUST use this vocabulary consistently:
|
|
|
175
175
|
|
|
176
176
|
Subagents respond in JSON format. The final response from each JSON-returning subagent must be the JSON payload itself, with no trailing prose. Key fields for orchestrator decisions:
|
|
177
177
|
- **requirement-analyzer**: scale, confidence, affectedLayers, adrRequired, scopeDependencies, questions
|
|
178
|
-
- **task-executor**: status (escalation_needed/
|
|
179
|
-
- **quality-fixer**: status (approved/blocked)
|
|
178
|
+
- **task-executor**: status (escalation_needed/completed), escalation_type (design_compliance_violation/similar_function_found/similar_component_found/investigation_target_not_found/out_of_scope_file/test_environment_not_ready), testsAdded, requiresTestReview
|
|
179
|
+
- **quality-fixer**: status (approved/blocked). For blocked responses, discriminate by `reason`: specification conflicts use `blockingIssues[]`; execution prerequisites use `missingPrerequisites[]`, and each item provides its own `resolutionSteps`
|
|
180
180
|
- **document-reviewer**: verdict.decision (approved/approved_with_conditions/needs_revision/rejected)
|
|
181
181
|
- **design-sync**: sync_status (CONFLICTS_FOUND/NO_CONFLICTS) — text format with [SUMMARY] block
|
|
182
182
|
- **integration-test-reviewer**: status (approved/needs_revision/blocked), requiredFixes
|
|
@@ -75,7 +75,7 @@ Apply fixes following the principles in coding-rules skill and testing skill.
|
|
|
75
75
|
**Step 5: Return JSON Result**
|
|
76
76
|
Return one of the following as the final response (see Output Format for schemas):
|
|
77
77
|
- `status: "approved"` — all quality checks pass
|
|
78
|
-
- `status: "blocked"` — specification unclear
|
|
78
|
+
- `status: "blocked"` — specification unclear or execution prerequisites are missing
|
|
79
79
|
|
|
80
80
|
## Frontend-Specific Quality Criteria
|
|
81
81
|
|
|
@@ -112,7 +112,7 @@ Return one of the following as the final response (see Output Format for schemas
|
|
|
112
112
|
- Lint/Format succeeds
|
|
113
113
|
- Bundle size within acceptable limits (if configured)
|
|
114
114
|
|
|
115
|
-
### blocked (Cannot determine due to unclear specifications)
|
|
115
|
+
### blocked (Cannot determine due to unclear specifications or execution prerequisites not met)
|
|
116
116
|
|
|
117
117
|
**Specification Confirmation Process**:
|
|
118
118
|
Before setting status to blocked, confirm specifications in this order:
|
|
@@ -128,8 +128,14 @@ Before setting status to blocked, confirm specifications in this order:
|
|
|
128
128
|
| Test and implementation contradict, both technically valid | Test: "button disabled", Implementation: "button enabled" | Cannot determine correct UX requirement |
|
|
129
129
|
| Cannot identify expected values from external systems | External API supports multiple response formats | Cannot determine even after all verification methods |
|
|
130
130
|
| Multiple implementation methods with different UX values | Form validation "on blur" vs "on submit" | Cannot determine correct UX design |
|
|
131
|
+
| Execution prerequisites not met | Missing test data, environment variables, required browsers, running services, external mocks | Cannot run checks without prerequisites |
|
|
131
132
|
|
|
132
|
-
**Determination Logic**: Execute fixes for all technically solvable problems. Only block when business/UX judgment is required.
|
|
133
|
+
**Determination Logic**: Execute fixes for all technically solvable problems. Only block when business/UX judgment is required or execution prerequisites are missing.
|
|
134
|
+
|
|
135
|
+
**Execution prerequisites escalation**: When checks fail because prerequisites are missing, report:
|
|
136
|
+
- What is missing
|
|
137
|
+
- Which checks or tests are affected
|
|
138
|
+
- Concrete steps needed to unblock execution
|
|
133
139
|
|
|
134
140
|
## Output Format
|
|
135
141
|
|
|
@@ -183,7 +189,7 @@ Before setting status to blocked, confirm specifications in this order:
|
|
|
183
189
|
}
|
|
184
190
|
```
|
|
185
191
|
|
|
186
|
-
**blocked response format**:
|
|
192
|
+
**blocked response format (specification conflict)**:
|
|
187
193
|
```json
|
|
188
194
|
{
|
|
189
195
|
"status": "blocked",
|
|
@@ -204,6 +210,26 @@ Before setting status to blocked, confirm specifications in this order:
|
|
|
204
210
|
}
|
|
205
211
|
```
|
|
206
212
|
|
|
213
|
+
**blocked response format (missing prerequisites)**:
|
|
214
|
+
```json
|
|
215
|
+
{
|
|
216
|
+
"status": "blocked",
|
|
217
|
+
"reason": "Execution prerequisites not met",
|
|
218
|
+
"missingPrerequisites": [
|
|
219
|
+
{
|
|
220
|
+
"type": "browser_runtime",
|
|
221
|
+
"description": "Playwright browsers are not installed for E2E execution",
|
|
222
|
+
"affectedChecks": ["test:e2e"],
|
|
223
|
+
"resolutionSteps": ["Install the required browser runtime", "Re-run the E2E check command"]
|
|
224
|
+
}
|
|
225
|
+
],
|
|
226
|
+
"checksSkipped": 1,
|
|
227
|
+
"checksPassedWithoutPrerequisites": 2
|
|
228
|
+
}
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
Allowed `type` values: `seed_data`, `library`, `environment_variable`, `running_service`, `browser_runtime`, `external_dependency`, `other`
|
|
232
|
+
|
|
207
233
|
## Intermediate Progress Report
|
|
208
234
|
|
|
209
235
|
During execution, report progress between tool calls using this format:
|
|
@@ -72,7 +72,7 @@ Apply fixes following the principles in coding-rules skill and testing skill.
|
|
|
72
72
|
**Step 5: Return JSON Result**
|
|
73
73
|
Return one of the following as the final response (see Output Format for schemas):
|
|
74
74
|
- `status: "approved"` — all quality checks pass
|
|
75
|
-
- `status: "blocked"` — specification unclear
|
|
75
|
+
- `status: "blocked"` — specification unclear or execution prerequisites are missing
|
|
76
76
|
|
|
77
77
|
## Status Determination Criteria (Binary Determination)
|
|
78
78
|
|
|
@@ -82,17 +82,23 @@ Return one of the following as the final response (see Output Format for schemas
|
|
|
82
82
|
- Static checks succeed
|
|
83
83
|
- Lint/Format succeeds
|
|
84
84
|
|
|
85
|
-
### blocked (Specification unclear or
|
|
85
|
+
### blocked (Specification unclear or execution prerequisites not met)
|
|
86
86
|
|
|
87
87
|
| Condition | Example | Reason |
|
|
88
88
|
|-----------|---------|--------|
|
|
89
89
|
| Test and implementation contradict, both technically valid | Test: "500 error", Implementation: "400 error" | Cannot determine correct specification |
|
|
90
90
|
| External system expectation cannot be identified | External API supports multiple response formats | Cannot determine even after all verification methods |
|
|
91
91
|
| Multiple implementation methods with different business value | Discount calculation: "from tax-included" vs "from tax-excluded" | Cannot determine correct business logic |
|
|
92
|
+
| Execution prerequisites not met | Missing test database, seed data, required libraries, environment variables, external service access | Cannot run checks without prerequisites |
|
|
92
93
|
|
|
93
94
|
**Before blocking**: Always check Design Doc → PRD → Similar code → Test comments
|
|
94
95
|
|
|
95
|
-
**Determination**: Fix all technically solvable problems. Block only when business judgment required.
|
|
96
|
+
**Determination**: Fix all technically solvable problems. Block only when business judgment is required or execution prerequisites are missing.
|
|
97
|
+
|
|
98
|
+
**Execution prerequisites escalation**: When checks fail because prerequisites are missing, report:
|
|
99
|
+
- What is missing
|
|
100
|
+
- Which checks or tests are affected
|
|
101
|
+
- Concrete steps needed to unblock execution
|
|
96
102
|
|
|
97
103
|
## Output Format
|
|
98
104
|
|
|
@@ -153,7 +159,7 @@ Return one of the following as the final response (see Output Format for schemas
|
|
|
153
159
|
}
|
|
154
160
|
```
|
|
155
161
|
|
|
156
|
-
**blocked response format**:
|
|
162
|
+
**blocked response format (specification conflict)**:
|
|
157
163
|
```json
|
|
158
164
|
{
|
|
159
165
|
"status": "blocked",
|
|
@@ -174,6 +180,26 @@ Return one of the following as the final response (see Output Format for schemas
|
|
|
174
180
|
}
|
|
175
181
|
```
|
|
176
182
|
|
|
183
|
+
**blocked response format (missing prerequisites)**:
|
|
184
|
+
```json
|
|
185
|
+
{
|
|
186
|
+
"status": "blocked",
|
|
187
|
+
"reason": "Execution prerequisites not met",
|
|
188
|
+
"missingPrerequisites": [
|
|
189
|
+
{
|
|
190
|
+
"type": "seed_data",
|
|
191
|
+
"description": "E2E database is missing required seeded user records",
|
|
192
|
+
"affectedChecks": ["test:e2e"],
|
|
193
|
+
"resolutionSteps": ["Run the project seed script for E2E fixtures", "Start the dependent local services"]
|
|
194
|
+
}
|
|
195
|
+
],
|
|
196
|
+
"checksSkipped": 1,
|
|
197
|
+
"checksPassedWithoutPrerequisites": 3
|
|
198
|
+
}
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
Allowed `type` values: `seed_data`, `library`, `environment_variable`, `running_service`, `external_dependency`, `other`
|
|
202
|
+
|
|
177
203
|
## Intermediate Progress Report
|
|
178
204
|
|
|
179
205
|
During execution, report progress between tool calls using this format:
|
|
@@ -113,15 +113,35 @@ Decompose tasks based on implementation strategy patterns determined in implemen
|
|
|
113
113
|
Include the following in each task file:
|
|
114
114
|
- Task overview
|
|
115
115
|
- Target files
|
|
116
|
+
- Investigation Targets
|
|
117
|
+
- Investigation Notes
|
|
116
118
|
- Concrete implementation steps
|
|
117
119
|
- Completion criteria
|
|
118
120
|
|
|
119
|
-
6. **
|
|
121
|
+
6. **Investigation Targets Determination**
|
|
122
|
+
For each task, determine what the executor must read before implementation based on task nature:
|
|
123
|
+
|
|
124
|
+
| Task Nature | Investigation Targets |
|
|
125
|
+
|---|---|
|
|
126
|
+
| Existing code modification | Files being changed, adjacent tests, relevant Design Doc sections |
|
|
127
|
+
| New feature/component | Adjacent implementations in the same layer/domain, interface-defining Design Doc sections |
|
|
128
|
+
| Integration/E2E test work | Test skeleton file, target implementation under test, existing fixture/auth/setup patterns |
|
|
129
|
+
| E2E environment/setup work | Current environment config, startup scripts, seed/fixture scripts, auth flow references |
|
|
130
|
+
| Bug fix/refactor | Affected code paths, failing tests, reproduction-related files |
|
|
131
|
+
|
|
132
|
+
**Principles**:
|
|
133
|
+
- Every task must include at least one Investigation Target
|
|
134
|
+
- Investigation Targets are file paths to read, not actions to perform
|
|
135
|
+
- Use specific paths with optional hints such as `docs/design/payments.md (§ Retry Flow)` or `src/orders/service.ts (createOrder)`
|
|
136
|
+
- When test skeletons exist, include them explicitly
|
|
137
|
+
- When a task matches multiple natures, include Investigation Targets from all matching rows and deduplicate overlaps
|
|
138
|
+
|
|
139
|
+
7. **Implementation Pattern Consistency**
|
|
120
140
|
When including implementation samples, MUST ensure strict compliance with the Design Doc implementation approach that forms the basis of the work plan
|
|
121
141
|
|
|
122
142
|
**ENFORCEMENT**: Implementation samples violating Design Doc approach invalidate the task file
|
|
123
143
|
|
|
124
|
-
|
|
144
|
+
8. **Utilize Test Information**
|
|
125
145
|
When test information (@category, @dependency, @complexity, etc.) is documented in the work plan, reflect that information in task files
|
|
126
146
|
|
|
127
147
|
## Task File Template
|
|
@@ -222,6 +242,7 @@ Please execute decomposed tasks according to the order.
|
|
|
222
242
|
- [ ] Task dependencies and execution order clarification
|
|
223
243
|
- [ ] Impact scope and boundaries definition for each task
|
|
224
244
|
- [ ] Appropriate granularity (1-5 files/task)
|
|
245
|
+
- [ ] Investigation Targets specified for every task
|
|
225
246
|
- [ ] Clear completion criteria setting
|
|
226
247
|
- [ ] Overall design document creation
|
|
227
248
|
- [ ] Implementation efficiency and rework prevention (pre-identification of common processing, clarification of impact scope)
|
|
@@ -13,6 +13,7 @@ You are a specialized AI assistant for reliably executing frontend implementatio
|
|
|
13
13
|
☐ [VERIFIED] Task file exists and has uncompleted items
|
|
14
14
|
|
|
15
15
|
☐ [VERIFIED] Target files list extracted from task file
|
|
16
|
+
☐ [VERIFIED] Investigation Targets section reviewed, or marked N/A when the task file has no Investigation Targets section
|
|
16
17
|
|
|
17
18
|
**ENFORCEMENT**: HALT and return to caller if any gate unchecked
|
|
18
19
|
|
|
@@ -135,6 +136,13 @@ Use the appropriate run command based on the `packageManager` field in package.j
|
|
|
135
136
|
Select and execute files with pattern `docs/plans/tasks/*-task-*.md` that have uncompleted checkboxes `[ ]` remaining
|
|
136
137
|
|
|
137
138
|
### 2. Task Background Understanding
|
|
139
|
+
#### Investigation Targets (Required when present)
|
|
140
|
+
1. Extract file paths from task file "Investigation Targets" section
|
|
141
|
+
2. Read each file before any implementation
|
|
142
|
+
3. When a search hint is provided, locate and focus on that section or symbol
|
|
143
|
+
4. Append brief notes to the task file's "Investigation Notes" section. Record the relevant props/interfaces, data flow, state transitions, and side effects observed in each Investigation Target
|
|
144
|
+
5. If an Investigation Target file does not exist or the path is stale, escalate with `reason: "Investigation target not found"` and `escalation_type: "investigation_target_not_found"`
|
|
145
|
+
|
|
138
146
|
**Utilizing Dependency Deliverables**:
|
|
139
147
|
1. Extract paths from task file "Dependencies" section
|
|
140
148
|
2. Read each deliverable
|
|
@@ -156,7 +164,8 @@ Select and execute files with pattern `docs/plans/tasks/*-task-*.md` that have u
|
|
|
156
164
|
#### Pre-implementation Verification (Pattern 5 Compliant)
|
|
157
165
|
1. **Read relevant Design Doc sections** and understand accurately
|
|
158
166
|
2. **Investigate existing implementations**: Search for similar components/hooks in same domain/responsibility
|
|
159
|
-
3. **
|
|
167
|
+
3. **Cross-check against Investigation Notes**: Ensure planned implementation is consistent with the observations recorded in the task file
|
|
168
|
+
4. **Execute determination**: Determine continue/escalation per "Mandatory Judgment Criteria" above
|
|
160
169
|
|
|
161
170
|
#### Implementation Flow (TDD Compliant)
|
|
162
171
|
**Completion Confirmation**: If all checkboxes are `[x]`, report "already completed" and end
|
|
@@ -290,23 +299,53 @@ When discovering similar components/hooks during existing code investigation, es
|
|
|
290
299
|
}
|
|
291
300
|
```
|
|
292
301
|
|
|
302
|
+
#### 2-3. Investigation Target Not Found Escalation
|
|
303
|
+
When an Investigation Target file does not exist or the path is stale, escalate in following JSON format:
|
|
304
|
+
|
|
305
|
+
```json
|
|
306
|
+
{
|
|
307
|
+
"status": "escalation_needed",
|
|
308
|
+
"reason": "Investigation target not found",
|
|
309
|
+
"taskName": "[Task name being executed]",
|
|
310
|
+
"escalation_type": "investigation_target_not_found",
|
|
311
|
+
"missingTargets": [
|
|
312
|
+
{
|
|
313
|
+
"path": "[path specified in task file]",
|
|
314
|
+
"searchHint": "[section/function hint if provided, or null]",
|
|
315
|
+
"searchAttempts": ["Checked path directly", "Searched nearby files with similar names", "Reviewed task dependencies for renamed or moved files"]
|
|
316
|
+
}
|
|
317
|
+
],
|
|
318
|
+
"user_decision_required": true,
|
|
319
|
+
"suggested_options": [
|
|
320
|
+
"Provide the correct file path",
|
|
321
|
+
"Remove this Investigation Target and proceed",
|
|
322
|
+
"Update the task file with current paths"
|
|
323
|
+
],
|
|
324
|
+
"recommendation": "[Recommended next step based on what was found]"
|
|
325
|
+
}
|
|
326
|
+
```
|
|
327
|
+
|
|
293
328
|
## Scope Boundary (delegate to orchestrator)
|
|
294
329
|
- Overall quality checks → handled by quality-fixer-frontend
|
|
295
330
|
- Commit creation → handled by orchestrator after quality checks
|
|
296
331
|
- Design Doc deviation → escalate to orchestrator immediately
|
|
297
332
|
- Component patterns → use functional components exclusively (React standard)
|
|
298
333
|
|
|
299
|
-
## Completion Criteria
|
|
300
|
-
|
|
301
|
-
- [ ] Final response is a single JSON with status `completed` or `escalation_needed`
|
|
302
|
-
|
|
303
334
|
## Completion Gate [BLOCKING]
|
|
304
335
|
|
|
305
|
-
☐ All
|
|
336
|
+
☐ All task checkboxes completed with evidence
|
|
337
|
+
☐ Investigation Targets were processed, or marked N/A when the task file has no Investigation Targets section
|
|
338
|
+
☐ Investigation Notes were updated before implementation when Investigation Targets exist
|
|
339
|
+
☐ Implementation is consistent with the observations recorded in Investigation Notes
|
|
306
340
|
☐ Output format validated (JSON response with all required fields)
|
|
307
341
|
☐ Quality standards satisfied (tests pass, progress updated)
|
|
342
|
+
☐ Final response is a single JSON with status `completed` or `escalation_needed`
|
|
343
|
+
|
|
344
|
+
**ENFORCEMENT**: HALT if any gate unchecked. Return `status: "escalation_needed"` to caller.
|
|
308
345
|
|
|
309
|
-
|
|
346
|
+
## Completion Criteria
|
|
347
|
+
|
|
348
|
+
- [ ] Final response is a single JSON with status `completed` or `escalation_needed`
|
|
310
349
|
"""
|
|
311
350
|
|
|
312
351
|
[[skills.config]]
|
|
@@ -13,6 +13,7 @@ You are a specialized AI assistant for reliably executing individual tasks.
|
|
|
13
13
|
☐ [VERIFIED] Task file exists and has uncompleted items
|
|
14
14
|
|
|
15
15
|
☐ [VERIFIED] Target files list extracted from task file
|
|
16
|
+
☐ [VERIFIED] Investigation Targets section reviewed, or marked N/A when the task file has no Investigation Targets section
|
|
16
17
|
|
|
17
18
|
**ENFORCEMENT**: HALT and return to caller if any gate unchecked
|
|
18
19
|
|
|
@@ -135,6 +136,13 @@ Skill Status:
|
|
|
135
136
|
Select and execute files with pattern `docs/plans/tasks/*-task-*.md` that have uncompleted checkboxes `[ ]` remaining
|
|
136
137
|
|
|
137
138
|
### 2. Task Background Understanding
|
|
139
|
+
#### Investigation Targets (Required when present)
|
|
140
|
+
1. Extract file paths from task file "Investigation Targets" section
|
|
141
|
+
2. Read each file before any implementation
|
|
142
|
+
3. When a search hint is provided, locate and focus on that section or symbol
|
|
143
|
+
4. Append brief notes to the task file's "Investigation Notes" section. Record the relevant interfaces, control/data flow, state transitions, and side effects observed in each Investigation Target
|
|
144
|
+
5. If an Investigation Target file does not exist or the path is stale, escalate with `reason: "Investigation target not found"` and `escalation_type: "investigation_target_not_found"`
|
|
145
|
+
|
|
138
146
|
**Utilizing Dependency Deliverables**:
|
|
139
147
|
1. Extract paths from task file "Dependencies" section
|
|
140
148
|
2. Read each deliverable
|
|
@@ -156,7 +164,8 @@ Select and execute files with pattern `docs/plans/tasks/*-task-*.md` that have u
|
|
|
156
164
|
#### Pre-implementation Verification (Pattern 5 Compliant)
|
|
157
165
|
1. **Read relevant Design Doc sections** and understand accurately
|
|
158
166
|
2. **Investigate existing implementations**: Search for similar functions in same domain/responsibility
|
|
159
|
-
3. **
|
|
167
|
+
3. **Cross-check against Investigation Notes**: Ensure planned implementation is consistent with the observations recorded in the task file
|
|
168
|
+
4. **Execute determination**: Determine continue/escalation per "Mandatory Judgment Criteria" above
|
|
160
169
|
|
|
161
170
|
#### Implementation Flow (TDD Compliant)
|
|
162
171
|
|
|
@@ -291,24 +300,54 @@ When discovering similar functions during existing code investigation, escalate
|
|
|
291
300
|
}
|
|
292
301
|
```
|
|
293
302
|
|
|
303
|
+
#### 2-3. Investigation Target Not Found Escalation
|
|
304
|
+
When an Investigation Target file does not exist or the path is stale, escalate in following JSON format:
|
|
305
|
+
|
|
306
|
+
```json
|
|
307
|
+
{
|
|
308
|
+
"status": "escalation_needed",
|
|
309
|
+
"reason": "Investigation target not found",
|
|
310
|
+
"taskName": "[Task name being executed]",
|
|
311
|
+
"escalation_type": "investigation_target_not_found",
|
|
312
|
+
"missingTargets": [
|
|
313
|
+
{
|
|
314
|
+
"path": "[path specified in task file]",
|
|
315
|
+
"searchHint": "[section/function hint if provided, or null]",
|
|
316
|
+
"searchAttempts": ["Checked path directly", "Searched nearby files with similar names", "Reviewed task dependencies for renamed or moved files"]
|
|
317
|
+
}
|
|
318
|
+
],
|
|
319
|
+
"user_decision_required": true,
|
|
320
|
+
"suggested_options": [
|
|
321
|
+
"Provide the correct file path",
|
|
322
|
+
"Remove this Investigation Target and proceed",
|
|
323
|
+
"Update the task file with current paths"
|
|
324
|
+
],
|
|
325
|
+
"recommendation": "[Recommended next step based on what was found]"
|
|
326
|
+
}
|
|
327
|
+
```
|
|
328
|
+
|
|
294
329
|
## Execution Principles
|
|
295
330
|
|
|
296
331
|
- Follow RED-GREEN-REFACTOR (see the principles in testing skill)
|
|
297
332
|
- Update progress checkboxes per step
|
|
298
|
-
- Escalate when: design deviation, similar functions found, test environment missing
|
|
333
|
+
- Escalate when: design deviation, similar functions found, investigation target not found, test environment missing
|
|
299
334
|
- Stop after implementation and test creation — quality checks and commits are handled separately
|
|
300
335
|
|
|
301
|
-
## Completion Criteria
|
|
302
|
-
|
|
303
|
-
- [ ] Final response is a single JSON with status `completed` or `escalation_needed`
|
|
304
|
-
|
|
305
336
|
## Completion Gate [BLOCKING]
|
|
306
337
|
|
|
307
|
-
☐ All
|
|
338
|
+
☐ All task checkboxes completed with evidence
|
|
339
|
+
☐ Investigation Targets were processed, or marked N/A when the task file has no Investigation Targets section
|
|
340
|
+
☐ Investigation Notes were updated before implementation when Investigation Targets exist
|
|
341
|
+
☐ Implementation is consistent with the observations recorded in Investigation Notes
|
|
308
342
|
☐ Output format validated (JSON response with all required fields)
|
|
309
343
|
☐ Quality standards satisfied (tests pass, progress updated)
|
|
344
|
+
☐ Final response is a single JSON with status `completed` or `escalation_needed`
|
|
345
|
+
|
|
346
|
+
**ENFORCEMENT**: HALT if any gate unchecked. Return `status: "escalation_needed"` to caller.
|
|
310
347
|
|
|
311
|
-
|
|
348
|
+
## Completion Criteria
|
|
349
|
+
|
|
350
|
+
- [ ] Final response is a single JSON with status `completed` or `escalation_needed`
|
|
312
351
|
"""
|
|
313
352
|
|
|
314
353
|
[[skills.config]]
|
|
@@ -156,7 +156,26 @@ Read test skeleton files (integration tests, E2E tests) and extract meta informa
|
|
|
156
156
|
- `// @complexity: high` → Subdivide tasks or estimate higher effort
|
|
157
157
|
- `// @complexity: low` → Consider combining multiple tests into one task
|
|
158
158
|
|
|
159
|
-
#### Step 3:
|
|
159
|
+
#### Step 3: Extract Environment Prerequisites from E2E Skeletons
|
|
160
|
+
|
|
161
|
+
When E2E test skeletons are provided, first identify the E2E skeleton subset using file naming conventions such as `*.e2e.test.*` and then scan only those files for environment prerequisites in two stages:
|
|
162
|
+
|
|
163
|
+
**Stage 1: Detect precondition patterns**
|
|
164
|
+
- `Preconditions:` annotations mentioning seed data, test users, subscriptions, or required DB state
|
|
165
|
+
- `@dependency: full-system` combined with auth/login setup
|
|
166
|
+
- Environment variable references such as `E2E_*` or `TEST_*`
|
|
167
|
+
- External service dependencies that require mock/intercept or a running local dependency
|
|
168
|
+
|
|
169
|
+
**Stage 2: Generate Phase 0 setup tasks**
|
|
170
|
+
- Seed data → Add a Phase 0 task for fixture or seed preparation
|
|
171
|
+
- Auth fixture/login state → Add a Phase 0 task for auth setup
|
|
172
|
+
- External service mocks → Add a Phase 0 task for mock/intercept setup
|
|
173
|
+
- Environment configuration → Add a Phase 0 task for env var or local service configuration
|
|
174
|
+
- Other prerequisites → Add a matching setup task with clear traceability to the E2E skeleton
|
|
175
|
+
|
|
176
|
+
Place these setup tasks before implementation and annotate them as E2E setup work.
|
|
177
|
+
|
|
178
|
+
#### Step 4: Classify and Place Tests
|
|
160
179
|
|
|
161
180
|
**Test Classification**:
|
|
162
181
|
- Setup items (Mock preparation, measurement tools, Helpers, etc.) → Prioritize in Phase 1
|
|
@@ -208,7 +227,7 @@ Compose phases based on technical dependencies and implementation approach from
|
|
|
208
227
|
Always include quality assurance (all tests passing, acceptance criteria achieved) in final phase.
|
|
209
228
|
|
|
210
229
|
### Test Skeleton Integration
|
|
211
|
-
Follow the test skeleton placement rules defined in
|
|
230
|
+
Follow the test skeleton placement rules defined in the Planning Process.
|
|
212
231
|
|
|
213
232
|
## Diagram Creation (using mermaid notation)
|
|
214
233
|
|
|
@@ -221,6 +240,7 @@ When creating work plans, **Phase Structure Diagrams** and **Task Dependency Dia
|
|
|
221
240
|
- [ ] All requirements converted to tasks
|
|
222
241
|
- [ ] Quality assurance exists in final phase
|
|
223
242
|
- [ ] Test skeleton file paths listed in corresponding phases (when provided)
|
|
243
|
+
- [ ] E2E environment prerequisites addressed when E2E skeletons are provided
|
|
224
244
|
- [ ] Test design information reflected (only when provided)
|
|
225
245
|
- [ ] Setup tasks placed in first phase
|
|
226
246
|
- [ ] Risk level-based prioritization applied
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codex-workflows",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "Task-oriented agentic coding framework for OpenAI Codex CLI — skills, recipes, and subagents for structured development workflows",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Shinsuke Kagawa",
|
|
@@ -30,6 +30,6 @@
|
|
|
30
30
|
],
|
|
31
31
|
"homepage": "https://github.com/shinpr/codex-workflows#readme",
|
|
32
32
|
"engines": {
|
|
33
|
-
"node": ">=
|
|
33
|
+
"node": ">=22.0.0"
|
|
34
34
|
}
|
|
35
35
|
}
|