claude-code-workflow 7.2.24 → 7.2.26

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 (69) hide show
  1. package/.ccw/workflows/cli-tools-usage.md +123 -521
  2. package/.claude/CLAUDE.md +20 -0
  3. package/.claude/agents/action-planning-agent.md +6 -0
  4. package/.claude/agents/cli-explore-agent.md +63 -77
  5. package/.claude/agents/cli-lite-planning-agent.md +10 -11
  6. package/.claude/agents/issue-plan-agent.md +7 -2
  7. package/.claude/commands/workflow/spec/setup.md +1 -1
  8. package/.claude/skills/brainstorm/SKILL.md +408 -408
  9. package/.claude/skills/review-cycle/SKILL.md +132 -132
  10. package/.claude/skills/review-cycle/phases/review-module.md +4 -4
  11. package/.claude/skills/review-cycle/phases/review-session.md +4 -4
  12. package/.claude/skills/spec-generator/SKILL.md +1 -1
  13. package/.claude/skills/team-designer/phases/02-scaffold-generation.md +1 -1
  14. package/.claude/skills/team-lifecycle-v4/SKILL.md +1 -1
  15. package/.claude/skills/team-review/SKILL.md +1 -1
  16. package/.claude/skills/team-ultra-analyze/SKILL.md +1 -1
  17. package/.claude/skills/workflow-multi-cli-plan/SKILL.md +3 -3
  18. package/.claude/skills/workflow-plan/SKILL.md +1 -1
  19. package/.claude/skills/workflow-plan/phases/03-conflict-resolution.md +2 -2
  20. package/.claude/skills/workflow-plan/phases/05-plan-verify.md +2 -2
  21. package/.claude/skills/workflow-tdd-plan/phases/02-context-gathering.md +3 -3
  22. package/.claude/skills/workflow-tdd-plan/phases/04-conflict-resolution.md +2 -2
  23. package/.claude/skills/workflow-test-fix/SKILL.md +1 -1
  24. package/.claude/skills/workflow-test-fix/phases/02-test-context-gather.md +2 -2
  25. package/.codex/AGENTS.md +16 -0
  26. package/.codex/skills/analyze-with-file/SKILL.md +966 -966
  27. package/.codex/skills/issue-discover/SKILL.md +361 -361
  28. package/.codex/skills/review-cycle/SKILL.md +1 -1
  29. package/.codex/skills/roadmap-with-file/SKILL.md +901 -901
  30. package/.codex/skills/spec-generator/SKILL.md +425 -425
  31. package/.codex/skills/spec-setup/SKILL.md +669 -669
  32. package/.codex/skills/team-designer/phases/02-scaffold-generation.md +1 -1
  33. package/.codex/skills/workflow-test-fix-cycle/SKILL.md +402 -402
  34. package/ccw/dist/tools/index.d.ts.map +1 -1
  35. package/ccw/dist/tools/index.js +2 -0
  36. package/ccw/dist/tools/index.js.map +1 -1
  37. package/ccw/dist/tools/json-builder.d.ts +17 -0
  38. package/ccw/dist/tools/json-builder.d.ts.map +1 -0
  39. package/ccw/dist/tools/json-builder.js +746 -0
  40. package/ccw/dist/tools/json-builder.js.map +1 -0
  41. package/ccw/dist/tools/schema-registry.d.ts +71 -0
  42. package/ccw/dist/tools/schema-registry.d.ts.map +1 -0
  43. package/ccw/dist/tools/schema-registry.js +136 -0
  44. package/ccw/dist/tools/schema-registry.js.map +1 -0
  45. package/package.json +1 -1
  46. package/.claude/skills/team-iterdev/SKILL.md +0 -127
  47. package/.claude/skills/team-iterdev/roles/architect/role.md +0 -65
  48. package/.claude/skills/team-iterdev/roles/coordinator/commands/analyze.md +0 -62
  49. package/.claude/skills/team-iterdev/roles/coordinator/commands/dispatch.md +0 -234
  50. package/.claude/skills/team-iterdev/roles/coordinator/commands/monitor.md +0 -182
  51. package/.claude/skills/team-iterdev/roles/coordinator/role.md +0 -153
  52. package/.claude/skills/team-iterdev/roles/developer/role.md +0 -74
  53. package/.claude/skills/team-iterdev/roles/reviewer/role.md +0 -66
  54. package/.claude/skills/team-iterdev/roles/tester/role.md +0 -88
  55. package/.claude/skills/team-iterdev/specs/pipelines.md +0 -94
  56. package/.claude/skills/team-iterdev/specs/team-config.json +0 -172
  57. package/.codex/prompts/prep-cycle.md +0 -416
  58. package/.codex/prompts/prep-plan.md +0 -371
  59. package/.codex/skills/team-iterdev/SKILL.md +0 -219
  60. package/.codex/skills/team-iterdev/roles/architect/role.md +0 -65
  61. package/.codex/skills/team-iterdev/roles/coordinator/commands/analyze.md +0 -62
  62. package/.codex/skills/team-iterdev/roles/coordinator/commands/dispatch.md +0 -187
  63. package/.codex/skills/team-iterdev/roles/coordinator/commands/monitor.md +0 -227
  64. package/.codex/skills/team-iterdev/roles/coordinator/role.md +0 -193
  65. package/.codex/skills/team-iterdev/roles/developer/role.md +0 -74
  66. package/.codex/skills/team-iterdev/roles/reviewer/role.md +0 -66
  67. package/.codex/skills/team-iterdev/roles/tester/role.md +0 -88
  68. package/.codex/skills/team-iterdev/specs/pipelines.md +0 -94
  69. package/.codex/skills/team-iterdev/specs/team-config.json +0 -172
@@ -1,62 +0,0 @@
1
- # Analyze Task
2
-
3
- Parse iterative development task -> detect capabilities -> assess pipeline complexity -> design roles.
4
-
5
- **CONSTRAINT**: Text-level analysis only. NO source code reading, NO codebase exploration.
6
-
7
- ## Signal Detection
8
-
9
- | Keywords | Capability | Role |
10
- |----------|------------|------|
11
- | design, architect, restructure, refactor plan | architect | architect |
12
- | implement, build, code, fix, develop | developer | developer |
13
- | test, verify, validate, coverage | tester | tester |
14
- | review, audit, quality, check | reviewer | reviewer |
15
-
16
- ## Pipeline Selection
17
-
18
- | Signal | Score |
19
- |--------|-------|
20
- | Changed files > 10 | +3 |
21
- | Changed files 3-10 | +2 |
22
- | Structural change (refactor, architect, restructure) | +3 |
23
- | Cross-cutting (multiple, across, cross) | +2 |
24
- | Simple fix (fix, bug, typo, patch) | -2 |
25
-
26
- | Score | Pipeline |
27
- |-------|----------|
28
- | >= 5 | multi-sprint |
29
- | 2-4 | sprint |
30
- | 0-1 | patch |
31
-
32
- ## Dependency Graph
33
-
34
- Natural ordering tiers:
35
- - Tier 0: architect (design must come first)
36
- - Tier 1: developer (implementation requires design)
37
- - Tier 2: tester, reviewer (validation requires artifacts, can run parallel)
38
-
39
- ## Complexity Assessment
40
-
41
- | Factor | Points |
42
- |--------|--------|
43
- | Cross-module changes | +2 |
44
- | Serial depth > 3 | +1 |
45
- | Multiple developers needed | +2 |
46
- | GC loop likely needed | +1 |
47
-
48
- ## Output
49
-
50
- Write <session>/task-analysis.json:
51
- ```json
52
- {
53
- "task_description": "<original>",
54
- "pipeline_type": "<patch|sprint|multi-sprint>",
55
- "capabilities": [{ "name": "<cap>", "role": "<role>", "keywords": ["..."] }],
56
- "roles": [{ "name": "<role>", "prefix": "<PREFIX>", "inner_loop": false }],
57
- "complexity": { "score": 0, "level": "Low|Medium|High" },
58
- "needs_architecture": true,
59
- "needs_testing": true,
60
- "needs_review": true
61
- }
62
- ```
@@ -1,187 +0,0 @@
1
- # Command: Dispatch
2
-
3
- Create the iterative development task chain with correct dependencies and structured task descriptions.
4
-
5
- ## Phase 2: Context Loading
6
-
7
- | Input | Source | Required |
8
- |-------|--------|----------|
9
- | User requirement | From coordinator Phase 1 | Yes |
10
- | Session folder | From coordinator Phase 2 | Yes |
11
- | Pipeline definition | From SKILL.md Pipeline Definitions | Yes |
12
- | Pipeline mode | From tasks.json `pipeline_mode` | Yes |
13
-
14
- 1. Load user requirement and scope from tasks.json
15
- 2. Load pipeline stage definitions from SKILL.md Task Metadata Registry
16
- 3. Read `pipeline_mode` from tasks.json (patch / sprint / multi-sprint)
17
-
18
- ## Phase 3: Task Chain Creation
19
-
20
- ### Task Entry Template
21
-
22
- Each task in tasks.json `tasks` object:
23
- ```json
24
- {
25
- "<TASK-ID>": {
26
- "title": "<concise title>",
27
- "description": "PURPOSE: <what this task achieves> | Success: <measurable completion criteria>\nTASK:\n - <step 1: specific action>\n - <step 2: specific action>\n - <step 3: specific action>\nCONTEXT:\n - Session: <session-folder>\n - Scope: <task-scope>\n - Upstream artifacts: <artifact-1>, <artifact-2>\n - Shared memory: <session>/.msg/meta.json\nEXPECTED: <deliverable path> + <quality criteria>\nCONSTRAINTS: <scope limits, focus areas>\n---\nInnerLoop: <true|false>",
28
- "role": "<role-name>",
29
- "prefix": "<PREFIX>",
30
- "deps": ["<dependency-list>"],
31
- "status": "pending",
32
- "findings": "",
33
- "error": ""
34
- }
35
- }
36
- ```
37
-
38
- ### Mode Router
39
-
40
- | Mode | Action |
41
- |------|--------|
42
- | `patch` | Create DEV-001 + VERIFY-001 |
43
- | `sprint` | Create DESIGN-001 + DEV-001 + VERIFY-001 + REVIEW-001 |
44
- | `multi-sprint` | Create Sprint 1 chain, subsequent sprints created dynamically |
45
-
46
- ---
47
-
48
- ### Patch Pipeline
49
-
50
- **DEV-001** (developer):
51
- ```json
52
- {
53
- "DEV-001": {
54
- "title": "Implement fix",
55
- "description": "PURPOSE: Implement fix | Success: Fix applied, syntax clean\nTASK:\n - Load target files and understand context\n - Apply fix changes\n - Validate syntax\nCONTEXT:\n - Session: <session-folder>\n - Scope: <task-scope>\n - Shared memory: <session>/.msg/meta.json\nEXPECTED: Modified source files + <session>/code/dev-log.md | Syntax clean\nCONSTRAINTS: Minimal changes | Preserve existing behavior\n---\nInnerLoop: true",
56
- "role": "developer",
57
- "prefix": "DEV",
58
- "deps": [],
59
- "status": "pending",
60
- "findings": "",
61
- "error": ""
62
- }
63
- }
64
- ```
65
-
66
- **VERIFY-001** (tester):
67
- ```json
68
- {
69
- "VERIFY-001": {
70
- "title": "Verify fix correctness",
71
- "description": "PURPOSE: Verify fix correctness | Success: Tests pass, no regressions\nTASK:\n - Detect test framework\n - Run targeted tests for changed files\n - Run regression test suite\nCONTEXT:\n - Session: <session-folder>\n - Scope: <task-scope>\n - Upstream artifacts: code/dev-log.md\n - Shared memory: <session>/.msg/meta.json\nEXPECTED: <session>/verify/verify-001.json | Pass rate >= 95%\nCONSTRAINTS: Focus on changed files | Report any regressions\n---\nInnerLoop: false",
72
- "role": "tester",
73
- "prefix": "VERIFY",
74
- "deps": ["DEV-001"],
75
- "status": "pending",
76
- "findings": "",
77
- "error": ""
78
- }
79
- }
80
- ```
81
-
82
- ---
83
-
84
- ### Sprint Pipeline
85
-
86
- **DESIGN-001** (architect):
87
- ```json
88
- {
89
- "DESIGN-001": {
90
- "title": "Technical design and task breakdown",
91
- "description": "PURPOSE: Technical design and task breakdown | Success: Design document + task breakdown ready\nTASK:\n - Explore codebase for patterns and dependencies\n - Create component design with integration points\n - Break down into implementable tasks with acceptance criteria\nCONTEXT:\n - Session: <session-folder>\n - Scope: <task-scope>\n - Shared memory: <session>/.msg/meta.json\nEXPECTED: <session>/design/design-001.md + <session>/design/task-breakdown.json | Components defined, tasks actionable\nCONSTRAINTS: Focus on <task-scope> | Risk assessment required\n---\nInnerLoop: false",
92
- "role": "architect",
93
- "prefix": "DESIGN",
94
- "deps": [],
95
- "status": "pending",
96
- "findings": "",
97
- "error": ""
98
- }
99
- }
100
- ```
101
-
102
- **DEV-001** (developer):
103
- ```json
104
- {
105
- "DEV-001": {
106
- "title": "Implement design",
107
- "description": "PURPOSE: Implement design | Success: All design tasks implemented, syntax clean\nTASK:\n - Load design and task breakdown\n - Implement tasks in execution order\n - Validate syntax after changes\nCONTEXT:\n - Session: <session-folder>\n - Scope: <task-scope>\n - Upstream artifacts: design/design-001.md, design/task-breakdown.json\n - Shared memory: <session>/.msg/meta.json\nEXPECTED: Modified source files + <session>/code/dev-log.md | Syntax clean, all tasks done\nCONSTRAINTS: Follow design | Preserve existing behavior | Follow code conventions\n---\nInnerLoop: true",
108
- "role": "developer",
109
- "prefix": "DEV",
110
- "deps": ["DESIGN-001"],
111
- "status": "pending",
112
- "findings": "",
113
- "error": ""
114
- }
115
- }
116
- ```
117
-
118
- **VERIFY-001** (tester, parallel with REVIEW-001):
119
- ```json
120
- {
121
- "VERIFY-001": {
122
- "title": "Verify implementation",
123
- "description": "PURPOSE: Verify implementation | Success: Tests pass, no regressions\nTASK:\n - Detect test framework\n - Run tests for changed files\n - Run regression test suite\nCONTEXT:\n - Session: <session-folder>\n - Scope: <task-scope>\n - Upstream artifacts: code/dev-log.md\n - Shared memory: <session>/.msg/meta.json\nEXPECTED: <session>/verify/verify-001.json | Pass rate >= 95%\nCONSTRAINTS: Focus on changed files | Report regressions\n---\nInnerLoop: false",
124
- "role": "tester",
125
- "prefix": "VERIFY",
126
- "deps": ["DEV-001"],
127
- "status": "pending",
128
- "findings": "",
129
- "error": ""
130
- }
131
- }
132
- ```
133
-
134
- **REVIEW-001** (reviewer, parallel with VERIFY-001):
135
- ```json
136
- {
137
- "REVIEW-001": {
138
- "title": "Code review for correctness and quality",
139
- "description": "PURPOSE: Code review for correctness and quality | Success: All dimensions reviewed, verdict issued\nTASK:\n - Load changed files and design document\n - Review across 4 dimensions: correctness, completeness, maintainability, security\n - Score quality (1-10) and issue verdict\nCONTEXT:\n - Session: <session-folder>\n - Scope: <task-scope>\n - Upstream artifacts: design/design-001.md, code/dev-log.md\n - Shared memory: <session>/.msg/meta.json\nEXPECTED: <session>/review/review-001.md | Per-dimension findings with severity\nCONSTRAINTS: Focus on implementation changes | Provide file:line references\n---\nInnerLoop: false",
140
- "role": "reviewer",
141
- "prefix": "REVIEW",
142
- "deps": ["DEV-001"],
143
- "status": "pending",
144
- "findings": "",
145
- "error": ""
146
- }
147
- }
148
- ```
149
-
150
- ---
151
-
152
- ### Multi-Sprint Pipeline
153
-
154
- Sprint 1: DESIGN-001 -> DEV-001 -> DEV-002(incremental) -> VERIFY-001 -> DEV-fix -> REVIEW-001
155
-
156
- Create Sprint 1 tasks using sprint templates above, plus:
157
-
158
- **DEV-002** (developer, incremental):
159
- ```json
160
- {
161
- "DEV-002": {
162
- "title": "Incremental implementation",
163
- "description": "PURPOSE: Incremental implementation | Success: Remaining tasks implemented\nTASK:\n - Load remaining tasks from breakdown\n - Implement incrementally\n - Validate syntax\nCONTEXT:\n - Session: <session-folder>\n - Scope: <task-scope>\n - Upstream artifacts: design/task-breakdown.json, code/dev-log.md\n - Shared memory: <session>/.msg/meta.json\nEXPECTED: Modified source files + updated dev-log.md\nCONSTRAINTS: Incremental delivery | Follow existing patterns\n---\nInnerLoop: true",
164
- "role": "developer",
165
- "prefix": "DEV",
166
- "deps": ["DEV-001"],
167
- "status": "pending",
168
- "findings": "",
169
- "error": ""
170
- }
171
- }
172
- ```
173
-
174
- Subsequent sprints created dynamically after Sprint N completes.
175
-
176
- ## Phase 4: Validation
177
-
178
- Verify task chain integrity:
179
-
180
- | Check | Method | Expected |
181
- |-------|--------|----------|
182
- | Task count correct | tasks.json count | patch: 2, sprint: 4, multi: 5+ |
183
- | Dependencies correct | Trace deps graph | Acyclic, correct ordering |
184
- | No circular dependencies | Trace full graph | Acyclic |
185
- | Structured descriptions | Each has PURPOSE/TASK/CONTEXT/EXPECTED | All present |
186
-
187
- If validation fails, fix the specific task and re-validate.
@@ -1,227 +0,0 @@
1
- # Command: Monitor
2
-
3
- Synchronous pipeline coordination using spawn_agent + wait_agent.
4
-
5
- ## Constants
6
-
7
- - WORKER_AGENT: team_worker
8
- - MAX_GC_ROUNDS: 3
9
-
10
- ## Handler Router
11
-
12
- | Source | Handler |
13
- |--------|---------|
14
- | "capability_gap" | handleAdapt |
15
- | "check" or "status" | handleCheck |
16
- | "resume" or "continue" | handleResume |
17
- | All tasks completed | handleComplete |
18
- | Default | handleSpawnNext |
19
-
20
- ## Phase 2: Context Loading
21
-
22
- | Input | Source | Required |
23
- |-------|--------|----------|
24
- | Session state | tasks.json | Yes |
25
- | Trigger event | From Entry Router detection | Yes |
26
- | Meta state | <session>/.msg/meta.json | Yes |
27
-
28
- 1. Load tasks.json for current state, pipeline_mode, gc_round, max_gc_rounds
29
- 2. Read tasks from tasks.json to get current task statuses
30
- 3. Identify trigger event type from Entry Router
31
-
32
- ## Phase 3: Event Handlers
33
-
34
- ### handleCallback
35
-
36
- Triggered when a worker completes (wait_agent returns).
37
-
38
- 1. Determine role from completed task prefix:
39
-
40
- | Task Prefix | Role Detection |
41
- |-------------|---------------|
42
- | `DESIGN-*` | architect |
43
- | `DEV-*` | developer |
44
- | `VERIFY-*` | tester |
45
- | `REVIEW-*` | reviewer |
46
-
47
- 2. Mark task as completed in tasks.json:
48
-
49
- ```
50
- state.tasks[taskId].status = 'completed'
51
- ```
52
-
53
- 3. Record completion in session state and update metrics
54
-
55
- 4. **Generator-Critic check** (when reviewer completes):
56
- - If completed task is REVIEW-* AND pipeline is sprint or multi-sprint:
57
- - Read review report for GC signal (critical_count, score)
58
- - Read tasks.json for gc_round
59
-
60
- | GC Signal | gc_round < max | Action |
61
- |-----------|----------------|--------|
62
- | review.critical_count > 0 OR review.score < 7 | Yes | Increment gc_round, create DEV-fix task in tasks.json with deps on this REVIEW, log `gc_loop_trigger` |
63
- | review.critical_count > 0 OR review.score < 7 | No (>= max) | Force convergence, accept with warning, log to wisdom/issues.md |
64
- | review.critical_count == 0 AND review.score >= 7 | - | Review passed, proceed to handleComplete check |
65
-
66
- - Log team_msg with type "gc_loop_trigger" or "task_unblocked"
67
-
68
- 5. Proceed to handleSpawnNext
69
-
70
- ### handleSpawnNext
71
-
72
- Find and spawn the next ready tasks.
73
-
74
- 1. Read tasks.json, find tasks where:
75
- - Status is "pending"
76
- - All deps tasks have status "completed"
77
-
78
- 2. For each ready task, determine role from task prefix:
79
-
80
- | Task Prefix | Role | Inner Loop |
81
- |-------------|------|------------|
82
- | DESIGN-* | architect | false |
83
- | DEV-* | developer | true |
84
- | VERIFY-* | tester | false |
85
- | REVIEW-* | reviewer | false |
86
-
87
- 3. Spawn team_worker:
88
-
89
- ```javascript
90
- // 1) Update status in tasks.json
91
- state.tasks[taskId].status = 'in_progress'
92
-
93
- // 2) Spawn worker
94
- const agentId = spawn_agent({
95
- agent_type: "team_worker",
96
- task_name: taskId, // e.g., "DEV-001" — enables named targeting
97
- items: [
98
- { type: "text", text: `## Role Assignment
99
- role: ${role}
100
- role_spec: ${skillRoot}/roles/${role}/role.md
101
- session: ${sessionFolder}
102
- session_id: ${sessionId}
103
- requirement: ${taskDescription}
104
- inner_loop: ${innerLoop}` },
105
-
106
- { type: "text", text: `Read role_spec file to load Phase 2-4 domain instructions.
107
- Execute built-in Phase 1 -> role-spec Phase 2-4 -> built-in Phase 5.` }
108
- ]
109
- })
110
-
111
- // 3) Track agent
112
- state.active_agents[taskId] = { agentId, role, started_at: now }
113
-
114
- // 4) Wait for completion — use task_name for stable targeting (v4)
115
- const waitResult = wait_agent({ targets: [taskId], timeout_ms: 900000 })
116
- if (waitResult.timed_out) {
117
- state.tasks[taskId].status = 'timed_out'
118
- close_agent({ target: taskId })
119
- delete state.active_agents[taskId]
120
- // Report timeout, STOP
121
- } else {
122
- // 5) Collect results and update tasks.json
123
- state.tasks[taskId].status = 'completed'
124
- close_agent({ target: taskId }) // Use task_name, not agentId
125
- delete state.active_agents[taskId]
126
- }
127
- ```
128
-
129
- 4. **Parallel spawn rules**:
130
-
131
- | Pipeline | Scenario | Spawn Behavior |
132
- |----------|----------|---------------|
133
- | Patch | DEV -> VERIFY | One worker at a time |
134
- | Sprint | VERIFY + REVIEW both unblocked | Spawn BOTH in parallel, wait_agent for both |
135
- | Sprint | Other stages | One worker at a time |
136
- | Multi-Sprint | VERIFY + DEV-fix both unblocked | Spawn BOTH in parallel, wait_agent for both |
137
- | Multi-Sprint | Other stages | One worker at a time |
138
-
139
- **Cross-Agent Supplementary Context** (v4):
140
-
141
- When spawning workers in a later pipeline phase, send upstream results as supplementary context to already-running workers:
142
-
143
- ```
144
- // Example: Send design results to running developer
145
- send_message({
146
- target: "<running-agent-task-name>",
147
- items: [{ type: "text", text: `## Supplementary Context\n${upstreamFindings}` }]
148
- })
149
- // Note: send_message queues info without interrupting the agent's current work
150
- ```
151
-
152
- Use `send_message` (not `assign_task`) for supplementary info that enriches but doesn't redirect the agent's current task.
153
-
154
- 5. STOP after processing -- wait for next event
155
-
156
- ### handleCheck
157
-
158
- Output current pipeline status from tasks.json. Do NOT advance pipeline.
159
-
160
- ```
161
- Pipeline Status (<pipeline-mode>):
162
- [DONE] DESIGN-001 (architect) -> design/design-001.md
163
- [DONE] DEV-001 (developer) -> code/dev-log.md
164
- [RUN] VERIFY-001 (tester) -> verifying...
165
- [RUN] REVIEW-001 (reviewer) -> reviewing...
166
- [WAIT] DEV-fix (developer) -> blocked by REVIEW-001
167
-
168
- GC Rounds: <gc_round>/<max_gc_rounds>
169
- Sprint: <sprint_id>
170
- Session: <session-id>
171
- ```
172
-
173
- ### handleResume
174
-
175
- **Agent Health Check** (v4):
176
- ```
177
- // Verify actual running agents match session state
178
- const runningAgents = list_agents({})
179
- // For each active_agent in tasks.json:
180
- // - If agent NOT in runningAgents -> agent crashed
181
- // - Reset that task to pending, remove from active_agents
182
- // This prevents stale agent references from blocking the pipeline
183
- ```
184
-
185
- Resume pipeline after user pause or interruption.
186
-
187
- 1. Audit tasks.json for inconsistencies:
188
- - Tasks stuck in "in_progress" -> reset to "pending"
189
- - Tasks with completed deps but still "pending" -> include in spawn list
190
- 2. Proceed to handleSpawnNext
191
-
192
- ### handleComplete
193
-
194
- **Cleanup Verification** (v4):
195
- ```
196
- // Verify all agents are properly closed
197
- const remaining = list_agents({})
198
- // If any team agents still running -> close_agent each
199
- // Ensures clean session shutdown
200
- ```
201
-
202
- Triggered when all pipeline tasks are completed.
203
-
204
- **Completion check by mode**:
205
-
206
- | Mode | Completion Condition |
207
- |------|---------------------|
208
- | patch | DEV-001 + VERIFY-001 completed |
209
- | sprint | DESIGN-001 + DEV-001 + VERIFY-001 + REVIEW-001 (+ any GC tasks) completed |
210
- | multi-sprint | All sprint tasks (+ any GC tasks) completed |
211
-
212
- 1. Verify all tasks completed in tasks.json
213
- 2. If any tasks not completed, return to handleSpawnNext
214
- 3. **Multi-sprint check**: If multi-sprint AND more sprints planned:
215
- - Record sprint metrics to .msg/meta.json sprint_history
216
- - Evaluate downgrade eligibility (velocity >= expected, review avg >= 8)
217
- - Pause for user confirmation before Sprint N+1
218
- 4. If all completed, transition to coordinator Phase 5 (Report + Completion Action)
219
-
220
- ## Phase 4: State Persistence
221
-
222
- After every handler execution:
223
-
224
- 1. Update tasks.json with current state (gc_round, last event, active tasks)
225
- 2. Update .msg/meta.json gc_round if changed
226
- 3. Verify task list consistency
227
- 4. STOP and wait for next event
@@ -1,193 +0,0 @@
1
- # Coordinator Role
2
-
3
- Orchestrate team-iterdev: analyze -> dispatch -> spawn -> monitor -> report.
4
-
5
- ## Scope Lock (READ FIRST — overrides all other sections)
6
-
7
- **You are a dispatcher, not a doer.** Your ONLY outputs are:
8
- - Session state files (`.workflow/.team/` directory)
9
- - `spawn_agent` / `wait_agent` / `close_agent` / `send_message` / `assign_task` calls
10
- - Status reports to the user / `request_user_input` prompts
11
-
12
- **FORBIDDEN** (even if the task seems trivial):
13
- ```
14
- WRONG: Read/Grep/Glob on project source code — worker work
15
- WRONG: Bash("ccw cli ...") — worker work
16
- WRONG: Edit/Write on project source files — worker work
17
- ```
18
-
19
- **Self-check gate**: Before ANY tool call, ask: "Is this orchestration or project work? If project work → STOP → spawn worker."
20
-
21
- ---
22
-
23
- ## Identity
24
- - Name: coordinator | Tag: [coordinator]
25
- - Responsibility: Analyze task -> Create session -> Dispatch tasks -> Monitor progress -> Report results
26
-
27
- ## Boundaries
28
-
29
- ### MUST
30
- - Use `team_worker` agent type for all worker spawns (NOT `general-purpose`)
31
- - Follow Command Execution Protocol for dispatch and monitor commands
32
- - Respect pipeline stage dependencies (deps)
33
- - Stop after spawning workers -- wait for results via wait_agent
34
- - Handle developer<->reviewer GC loop (max 3 rounds)
35
- - Maintain tasks.json for real-time progress
36
- - Execute completion action in Phase 5
37
- - **Always proceed through full Phase 1-5 workflow, never skip to direct execution**
38
- - Use `send_message` for supplementary context (non-interrupting) and `assign_task` for triggering new work
39
- - Use `list_agents` for session resume health checks and cleanup verification
40
-
41
- ### MUST NOT
42
- - Implement domain logic (designing, coding, testing, reviewing) -- workers handle this
43
- - Spawn workers without creating tasks first
44
- - Write source code directly
45
- - Force-advance pipeline past failed review/validation
46
- - Modify task outputs (workers own their deliverables)
47
- - Call CLI tools (ccw cli) — only workers use CLI
48
-
49
- ## Command Execution Protocol
50
-
51
- When coordinator needs to execute a command:
52
- 1. Read `commands/<command>.md`
53
- 2. Follow the workflow defined in the command
54
- 3. Commands are inline execution guides, NOT separate agents
55
- 4. Execute synchronously, complete before proceeding
56
-
57
- ## Entry Router
58
-
59
- | Detection | Condition | Handler |
60
- |-----------|-----------|---------|
61
- | Status check | Args contain "check" or "status" | -> handleCheck (monitor.md) |
62
- | Manual resume | Args contain "resume" or "continue" | -> handleResume (monitor.md) |
63
- | Pipeline complete | All tasks completed | -> handleComplete (monitor.md) |
64
- | Interrupted session | Active/paused session in .workflow/.team/IDS-* | -> Phase 0 |
65
- | New session | None of above | -> Phase 1 |
66
-
67
- For check/resume/complete: load @commands/monitor.md, execute handler, STOP.
68
-
69
- ## Phase 0: Session Resume Check
70
-
71
- 1. Scan `.workflow/.team/IDS-*/tasks.json` for active/paused sessions
72
- 2. No sessions -> Phase 1
73
- 3. Single session -> reconcile (read tasks.json, reset in_progress->pending, kick first ready task)
74
- 4. Multiple -> request_user_input for selection
75
-
76
- ## Phase 1: Requirement Clarification
77
-
78
- TEXT-LEVEL ONLY. No source code reading.
79
-
80
- 1. Parse user task description from $ARGUMENTS
81
- 2. Delegate to @commands/analyze.md
82
- 3. Assess complexity for pipeline selection:
83
-
84
- | Signal | Weight |
85
- |--------|--------|
86
- | Changed files > 10 | +3 |
87
- | Changed files 3-10 | +2 |
88
- | Structural change (refactor, architect, restructure) | +3 |
89
- | Cross-cutting (multiple, across, cross) | +2 |
90
- | Simple fix (fix, bug, typo, patch) | -2 |
91
-
92
- | Score | Pipeline |
93
- |-------|----------|
94
- | >= 5 | multi-sprint |
95
- | 2-4 | sprint |
96
- | 0-1 | patch |
97
-
98
- 4. Ask for missing parameters via request_user_input (mode selection)
99
- 5. Record requirement with scope, pipeline mode
100
- 6. CRITICAL: Always proceed to Phase 2, never skip team workflow
101
-
102
- ## Phase 2: Session & Team Setup
103
-
104
- 1. Resolve workspace paths (MUST do first):
105
- - `project_root` = result of `Bash({ command: "pwd" })`
106
- - `skill_root` = `<project_root>/.codex/skills/team-iterdev`
107
- 2. Generate session ID: `IDS-<slug>-<YYYY-MM-DD>`
108
- 3. Create session folder structure:
109
- ```
110
- mkdir -p .workflow/.team/<session-id>/{design,code,verify,review,wisdom}
111
- ```
112
- 4. Read specs/pipelines.md -> select pipeline based on complexity
113
- 5. Initialize wisdom directory (learnings.md, decisions.md, conventions.md, issues.md)
114
- 6. Write initial tasks.json:
115
- ```json
116
- {
117
- "session_id": "<id>",
118
- "pipeline_mode": "<patch|sprint|multi-sprint>",
119
- "requirement": "<original requirement>",
120
- "created_at": "<ISO timestamp>",
121
- "gc_round": 0,
122
- "max_gc_rounds": 3,
123
- "active_agents": {},
124
- "tasks": {}
125
- }
126
- ```
127
- 7. Initialize meta.json with pipeline metadata:
128
- ```typescript
129
- mcp__ccw-tools__team_msg({
130
- operation: "log", session_id: "<id>", from: "coordinator",
131
- type: "state_update", summary: "Session initialized",
132
- data: {
133
- pipeline_mode: "<patch|sprint|multi-sprint>",
134
- pipeline_stages: ["architect", "developer", "tester", "reviewer"],
135
- roles: ["coordinator", "architect", "developer", "tester", "reviewer"]
136
- }
137
- })
138
- ```
139
-
140
- ## Phase 3: Task Chain Creation
141
-
142
- Delegate to @commands/dispatch.md:
143
- 1. Read specs/pipelines.md for selected pipeline task registry
144
- 2. Add task entries to tasks.json `tasks` object with deps
145
- 3. Update tasks.json metadata
146
-
147
- ## Phase 4: Spawn-and-Wait
148
-
149
- Delegate to @commands/monitor.md#handleSpawnNext:
150
- 1. Find ready tasks (pending + all deps resolved)
151
- 2. Spawn team_worker agents via spawn_agent, wait_agent for results
152
- 3. Output status summary
153
- 4. STOP
154
-
155
- ## Phase 5: Report + Completion Action
156
-
157
- 1. Load session state -> count completed tasks, calculate duration
158
- 2. Record sprint learning to .msg/meta.json sprint_history
159
- 3. List deliverables:
160
-
161
- | Deliverable | Path |
162
- |-------------|------|
163
- | Design Document | <session>/design/design-001.md |
164
- | Task Breakdown | <session>/design/task-breakdown.json |
165
- | Dev Log | <session>/code/dev-log.md |
166
- | Verification Results | <session>/verify/verify-001.json |
167
- | Review Report | <session>/review/review-001.md |
168
-
169
- 4. Execute completion action per session.completion_action:
170
- - interactive -> request_user_input (Archive/Keep/Export)
171
- - auto_archive -> Archive & Clean (status=completed)
172
- - auto_keep -> Keep Active (status=paused)
173
-
174
- ## v4 Coordination Patterns
175
-
176
- ### Message Semantics
177
- - **send_message**: Queue supplementary info to a running agent. Does NOT interrupt current processing. Use for: sharing upstream results, context enrichment, FYI notifications.
178
- - **assign_task**: Assign new work and trigger processing. Use for: waking idle agents, redirecting work, requesting new output.
179
-
180
- ### Agent Lifecycle Management
181
- - **list_agents({})**: Returns all running agents. Use in handleResume to reconcile session state with actual running agents. Use in handleComplete to verify clean shutdown.
182
- - **Named targeting**: Workers spawned with `task_name: "<task-id>"` can be addressed by name in send_message, assign_task, and close_agent calls.
183
-
184
- ## Error Handling
185
-
186
- | Error | Resolution |
187
- |-------|------------|
188
- | Task too vague | request_user_input for clarification |
189
- | Session corruption | Attempt recovery, fallback to manual |
190
- | Worker crash | Reset task to pending, respawn |
191
- | GC loop exceeds 3 rounds | Accept with warning, record in shared memory |
192
- | Sprint velocity drops below 50% | Alert user, suggest scope reduction |
193
- | Task ledger corrupted | Rebuild from tasks.json state |