claude-code-workflow 6.3.37 → 6.3.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/commands/workflow/lite-execute.md +2 -0
- package/.codex/agents/action-planning-agent.md +885 -0
- package/.codex/agents/ccw-loop-b-complete.md +227 -0
- package/.codex/agents/ccw-loop-b-debug.md +172 -0
- package/.codex/agents/ccw-loop-b-develop.md +147 -0
- package/.codex/agents/ccw-loop-b-init.md +82 -0
- package/.codex/agents/ccw-loop-b-validate.md +204 -0
- package/.codex/agents/ccw-loop-executor.md +260 -0
- package/.codex/agents/cli-discuss-agent.md +391 -0
- package/.codex/agents/cli-execution-agent.md +333 -0
- package/.codex/agents/cli-explore-agent.md +186 -0
- package/.codex/agents/cli-lite-planning-agent.md +736 -0
- package/.codex/agents/cli-planning-agent.md +562 -0
- package/.codex/agents/code-developer.md +408 -0
- package/.codex/agents/conceptual-planning-agent.md +321 -0
- package/.codex/agents/context-search-agent.md +585 -0
- package/.codex/agents/debug-explore-agent.md +436 -0
- package/.codex/agents/doc-generator.md +334 -0
- package/.codex/agents/issue-plan-agent.md +417 -0
- package/.codex/agents/issue-queue-agent.md +311 -0
- package/.codex/agents/memory-bridge.md +96 -0
- package/.codex/agents/test-context-search-agent.md +402 -0
- package/.codex/agents/test-fix-agent.md +359 -0
- package/.codex/agents/ui-design-agent.md +595 -0
- package/.codex/agents/universal-executor.md +135 -0
- package/.codex/prompts/clean.md +409 -0
- package/.codex/prompts/issue-discover-by-prompt.md +364 -0
- package/.codex/prompts/issue-discover.md +261 -0
- package/.codex/prompts/issue-execute.md +10 -0
- package/.codex/prompts/issue-new.md +285 -0
- package/.codex/prompts/issue-plan.md +161 -63
- package/.codex/prompts/issue-queue.md +298 -288
- package/.codex/prompts/lite-execute.md +627 -133
- package/.codex/prompts/lite-fix.md +670 -0
- package/.codex/prompts/lite-plan-a.md +337 -0
- package/.codex/prompts/lite-plan-b.md +485 -0
- package/.codex/prompts/{lite-plan.md → lite-plan-c.md} +601 -469
- package/.codex/skills/ccw-loop/README.md +171 -0
- package/.codex/skills/ccw-loop/SKILL.md +349 -0
- package/.codex/skills/ccw-loop/phases/actions/action-complete.md +269 -0
- package/.codex/skills/ccw-loop/phases/actions/action-debug.md +286 -0
- package/.codex/skills/ccw-loop/phases/actions/action-develop.md +183 -0
- package/.codex/skills/ccw-loop/phases/actions/action-init.md +164 -0
- package/.codex/skills/ccw-loop/phases/actions/action-menu.md +205 -0
- package/.codex/skills/ccw-loop/phases/actions/action-validate.md +250 -0
- package/.codex/skills/ccw-loop/phases/orchestrator.md +416 -0
- package/.codex/skills/ccw-loop/phases/state-schema.md +388 -0
- package/.codex/skills/ccw-loop/specs/action-catalog.md +182 -0
- package/.codex/skills/ccw-loop-b/README.md +301 -0
- package/.codex/skills/ccw-loop-b/SKILL.md +322 -0
- package/.codex/skills/ccw-loop-b/phases/orchestrator.md +257 -0
- package/.codex/skills/ccw-loop-b/phases/state-schema.md +181 -0
- package/.codex/skills/ccw-loop-b/specs/action-catalog.md +383 -0
- package/.codex/skills/parallel-dev-cycle/README.md +382 -0
- package/.codex/skills/parallel-dev-cycle/SKILL.md +512 -0
- package/.codex/skills/parallel-dev-cycle/phases/agents/code-developer.md +242 -0
- package/.codex/skills/parallel-dev-cycle/phases/agents/exploration-planner.md +285 -0
- package/.codex/skills/parallel-dev-cycle/phases/agents/requirements-analyst.md +285 -0
- package/.codex/skills/parallel-dev-cycle/phases/agents/validation-archivist.md +381 -0
- package/.codex/skills/parallel-dev-cycle/phases/orchestrator.md +696 -0
- package/.codex/skills/parallel-dev-cycle/phases/state-schema.md +436 -0
- package/.codex/skills/parallel-dev-cycle/specs/communication-optimization.md +423 -0
- package/.codex/skills/parallel-dev-cycle/specs/coordination-protocol.md +391 -0
- package/.codex/skills/parallel-dev-cycle/specs/versioning-strategy.md +330 -0
- package/ccw/dist/cli.d.ts.map +1 -1
- package/ccw/dist/cli.js +4 -0
- package/ccw/dist/cli.js.map +1 -1
- package/ccw/dist/commands/install.d.ts.map +1 -1
- package/ccw/dist/commands/install.js +39 -8
- package/ccw/dist/commands/install.js.map +1 -1
- package/ccw/dist/commands/issue.d.ts +3 -0
- package/ccw/dist/commands/issue.d.ts.map +1 -1
- package/ccw/dist/commands/issue.js +107 -0
- package/ccw/dist/commands/issue.js.map +1 -1
- package/ccw/dist/commands/upgrade.js +1 -1
- package/ccw/dist/commands/upgrade.js.map +1 -1
- package/ccw/dist/config/litellm-api-config-manager.d.ts.map +1 -1
- package/ccw/dist/config/litellm-api-config-manager.js +3 -2
- package/ccw/dist/config/litellm-api-config-manager.js.map +1 -1
- package/ccw/dist/core/memory-embedder-bridge.d.ts.map +1 -1
- package/ccw/dist/core/memory-embedder-bridge.js +2 -5
- package/ccw/dist/core/memory-embedder-bridge.js.map +1 -1
- package/ccw/dist/core/routes/cli-routes.js.map +1 -1
- package/ccw/dist/core/routes/codexlens/config-handlers.d.ts.map +1 -1
- package/ccw/dist/core/routes/codexlens/config-handlers.js +7 -6
- package/ccw/dist/core/routes/codexlens/config-handlers.js.map +1 -1
- package/ccw/dist/core/routes/codexlens/semantic-handlers.d.ts.map +1 -1
- package/ccw/dist/core/routes/codexlens/semantic-handlers.js +2 -2
- package/ccw/dist/core/routes/codexlens/semantic-handlers.js.map +1 -1
- package/ccw/dist/core/routes/graph-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/graph-routes.js +17 -2
- package/ccw/dist/core/routes/graph-routes.js.map +1 -1
- package/ccw/dist/core/routes/issue-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/issue-routes.js +280 -33
- package/ccw/dist/core/routes/issue-routes.js.map +1 -1
- package/ccw/dist/core/routes/loop-v2-routes.d.ts +9 -0
- package/ccw/dist/core/routes/loop-v2-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/loop-v2-routes.js +56 -4
- package/ccw/dist/core/routes/loop-v2-routes.js.map +1 -1
- package/ccw/dist/core/routes/system-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/system-routes.js +3 -2
- package/ccw/dist/core/routes/system-routes.js.map +1 -1
- package/ccw/dist/core/server.d.ts.map +1 -1
- package/ccw/dist/core/server.js +5 -3
- package/ccw/dist/core/server.js.map +1 -1
- package/ccw/dist/tools/claude-cli-tools.d.ts.map +1 -1
- package/ccw/dist/tools/claude-cli-tools.js +4 -3
- package/ccw/dist/tools/claude-cli-tools.js.map +1 -1
- package/ccw/dist/tools/cli-config-manager.d.ts +1 -0
- package/ccw/dist/tools/cli-config-manager.d.ts.map +1 -1
- package/ccw/dist/tools/cli-config-manager.js +2 -1
- package/ccw/dist/tools/cli-config-manager.js.map +1 -1
- package/ccw/dist/tools/codex-lens-lsp.d.ts.map +1 -1
- package/ccw/dist/tools/codex-lens-lsp.js +2 -5
- package/ccw/dist/tools/codex-lens-lsp.js.map +1 -1
- package/ccw/dist/tools/codex-lens.d.ts.map +1 -1
- package/ccw/dist/tools/codex-lens.js +22 -32
- package/ccw/dist/tools/codex-lens.js.map +1 -1
- package/ccw/dist/tools/litellm-client.d.ts +6 -0
- package/ccw/dist/tools/litellm-client.d.ts.map +1 -1
- package/ccw/dist/tools/litellm-client.js +15 -2
- package/ccw/dist/tools/litellm-client.js.map +1 -1
- package/ccw/dist/tools/loop-task-manager.d.ts +13 -2
- package/ccw/dist/tools/loop-task-manager.d.ts.map +1 -1
- package/ccw/dist/tools/loop-task-manager.js.map +1 -1
- package/ccw/dist/tools/native-session-discovery.d.ts.map +1 -1
- package/ccw/dist/tools/native-session-discovery.js +35 -7
- package/ccw/dist/tools/native-session-discovery.js.map +1 -1
- package/ccw/dist/utils/codexlens-path.d.ts +36 -0
- package/ccw/dist/utils/codexlens-path.d.ts.map +1 -0
- package/ccw/dist/utils/codexlens-path.js +56 -0
- package/ccw/dist/utils/codexlens-path.js.map +1 -0
- package/ccw/dist/utils/uv-manager.d.ts.map +1 -1
- package/ccw/dist/utils/uv-manager.js +3 -2
- package/ccw/dist/utils/uv-manager.js.map +1 -1
- package/ccw/src/cli.ts +4 -0
- package/ccw/src/commands/install.ts +51 -8
- package/ccw/src/commands/issue.ts +119 -0
- package/ccw/src/commands/upgrade.ts +1 -1
- package/ccw/src/config/litellm-api-config-manager.ts +3 -2
- package/ccw/src/core/memory-embedder-bridge.ts +2 -6
- package/ccw/src/core/routes/cli-routes.ts +1 -1
- package/ccw/src/core/routes/codexlens/config-handlers.ts +7 -6
- package/ccw/src/core/routes/codexlens/semantic-handlers.ts +2 -2
- package/ccw/src/core/routes/graph-routes.ts +18 -2
- package/ccw/src/core/routes/issue-routes.ts +308 -33
- package/ccw/src/core/routes/loop-v2-routes.ts +64 -6
- package/ccw/src/core/routes/system-routes.ts +3 -2
- package/ccw/src/core/server.ts +6 -3
- package/ccw/src/templates/dashboard-css/02-session.css +2 -0
- package/ccw/src/templates/dashboard-css/04-lite-tasks.css +103 -1
- package/ccw/src/templates/dashboard-css/32-issue-manager.css +32 -0
- package/ccw/src/templates/dashboard-js/components/cli-history.js +48 -48
- package/ccw/src/templates/dashboard-js/components/navigation.js +6 -0
- package/ccw/src/templates/dashboard-js/components/notifications.js +6 -0
- package/ccw/src/templates/dashboard-js/components/version-check.js +38 -0
- package/ccw/src/templates/dashboard-js/i18n.js +126 -0
- package/ccw/src/templates/dashboard-js/state.js +2 -0
- package/ccw/src/templates/dashboard-js/views/cli-manager.js +1 -1
- package/ccw/src/templates/dashboard-js/views/issue-manager.js +183 -1
- package/ccw/src/templates/dashboard-js/views/lite-tasks.js +55 -11
- package/ccw/src/templates/dashboard-js/views/loop-monitor.js +112 -11
- package/ccw/src/templates/dashboard.html +48 -2
- package/ccw/src/tools/claude-cli-tools.ts +4 -3
- package/ccw/src/tools/cli-config-manager.ts +3 -1
- package/ccw/src/tools/codex-lens-lsp.ts +2 -5
- package/ccw/src/tools/codex-lens.ts +27 -38
- package/ccw/src/tools/litellm-client.ts +16 -2
- package/ccw/src/tools/loop-task-manager.ts +13 -2
- package/ccw/src/tools/native-session-discovery.ts +38 -7
- package/ccw/src/utils/codexlens-path.ts +60 -0
- package/ccw/src/utils/uv-manager.ts +3 -2
- package/package.json +1 -1
|
@@ -0,0 +1,382 @@
|
|
|
1
|
+
# Parallel Dev Cycle Skill
|
|
2
|
+
|
|
3
|
+
Multi-agent parallel development cycle using Codex subagent pattern with continuous iteration support.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
This skill implements a **single-file-per-agent** development workflow:
|
|
8
|
+
|
|
9
|
+
- **RA**: `requirements.md` (all requirements + edge cases + history)
|
|
10
|
+
- **EP**: `plan.md` (architecture + tasks + integration points)
|
|
11
|
+
- **CD**: `implementation.md` (progress + files + decisions + testing)
|
|
12
|
+
- **VAS**: `summary.md` (validation + test results + recommendations)
|
|
13
|
+
|
|
14
|
+
Each file is **completely rewritten** on each iteration, with old versions auto-archived to `history/`.
|
|
15
|
+
|
|
16
|
+
## Installation
|
|
17
|
+
|
|
18
|
+
Files are in `.codex/skills/parallel-dev-cycle/`:
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
.codex/skills/parallel-dev-cycle/
|
|
22
|
+
├── SKILL.md # Main skill definition
|
|
23
|
+
├── README.md # This file
|
|
24
|
+
├── phases/
|
|
25
|
+
│ ├── orchestrator.md # Multi-agent coordination
|
|
26
|
+
│ ├── state-schema.md # Unified state structure
|
|
27
|
+
│ └── agents/
|
|
28
|
+
│ ├── requirements-analyst.md # RA role
|
|
29
|
+
│ ├── exploration-planner.md # EP role
|
|
30
|
+
│ ├── code-developer.md # CD role
|
|
31
|
+
│ └── validation-archivist.md # VAS role
|
|
32
|
+
└── specs/
|
|
33
|
+
├── coordination-protocol.md # Agent communication
|
|
34
|
+
└── versioning-strategy.md # Version management
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Quick Start
|
|
38
|
+
|
|
39
|
+
### Launch New Cycle
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
/parallel-dev-cycle TASK="Implement OAuth authentication"
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Creates:
|
|
46
|
+
```
|
|
47
|
+
.workflow/.cycle/cycle-v1-20260122-abc123.progress/
|
|
48
|
+
├── ra/
|
|
49
|
+
│ ├── requirements.md (v1.0.0)
|
|
50
|
+
│ └── changes.log (NDJSON)
|
|
51
|
+
├── ep/
|
|
52
|
+
│ ├── plan.md (v1.0.0)
|
|
53
|
+
│ └── changes.log (NDJSON)
|
|
54
|
+
├── cd/
|
|
55
|
+
│ ├── implementation.md (v1.0.0)
|
|
56
|
+
│ └── changes.log (NDJSON)
|
|
57
|
+
└── vas/
|
|
58
|
+
├── summary.md (v1.0.0)
|
|
59
|
+
└── changes.log (NDJSON)
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Continue With Extension (XX-1 Pattern)
|
|
63
|
+
|
|
64
|
+
User adds requirement: "Also support Google OAuth"
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
/parallel-dev-cycle --cycle-id=cycle-v1-20260122-abc123 --extend="Add Google OAuth"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Automatically:
|
|
71
|
+
1. Archives old `requirements.md (v1.0.0)` → `history/requirements-v1.0.0.md`
|
|
72
|
+
2. Rewrites `requirements.md (v1.1.0)` - complete file replacement
|
|
73
|
+
3. Appends change to `changes.log` (NDJSON audit trail)
|
|
74
|
+
|
|
75
|
+
### Next Iteration (XX-2)
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
/parallel-dev-cycle --cycle-id=cycle-v1-20260122-abc123 --extend="Add GitHub provider"
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
All files update to v1.2.0, previous versions archived.
|
|
82
|
+
|
|
83
|
+
## Execution Flow
|
|
84
|
+
|
|
85
|
+
### Phase 1: Parallel Agent Execution
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
Time RA EP CD VAS
|
|
89
|
+
──── ── ── ── ──
|
|
90
|
+
0ms [spawned] [spawned] [spawned] [spawned]
|
|
91
|
+
↓ ↓ ↓ ↓
|
|
92
|
+
Analyzing Exploring Reading plan Waiting
|
|
93
|
+
task codebase from EP...
|
|
94
|
+
↓
|
|
95
|
+
5min Outputs req. Outputs plan Requirements
|
|
96
|
+
v1.0.0 ✓ v1.0.0 ✓ unclear - BLOCKED
|
|
97
|
+
|
|
98
|
+
10min Clarifies req Updates plan ✓ Ready
|
|
99
|
+
v1.0.1 ✓ v1.0.1 ✓ Implementing...
|
|
100
|
+
↓
|
|
101
|
+
15min ✓ Complete ✓ Complete ✓ Code done [waiting for CD]
|
|
102
|
+
|
|
103
|
+
20min [starts tests]
|
|
104
|
+
↓
|
|
105
|
+
25min Outputs summary
|
|
106
|
+
v1.0.0 ✓
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Phase 2: Version Transition
|
|
110
|
+
|
|
111
|
+
When iteration completes, next extends to v1.1.0:
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
Current State (v1.0.0)
|
|
115
|
+
├── requirements.md (v1.0.0)
|
|
116
|
+
├── plan.md (v1.0.0)
|
|
117
|
+
├── implementation.md (v1.0.0)
|
|
118
|
+
└── summary.md (v1.0.0)
|
|
119
|
+
|
|
120
|
+
User: "Add GitHub provider"
|
|
121
|
+
↓
|
|
122
|
+
Archive Old Write New
|
|
123
|
+
├── history/requirements-v1.0.0.md
|
|
124
|
+
├── history/plan-v1.0.0.md → requirements.md (v1.1.0) - REWRITTEN
|
|
125
|
+
├── history/impl-v1.0.0.md → plan.md (v1.1.0) - REWRITTEN
|
|
126
|
+
└── history/summary-v1.0.0.md → implementation.md (v1.1.0) - REWRITTEN
|
|
127
|
+
→ summary.md (v1.1.0) - REWRITTEN
|
|
128
|
+
↓
|
|
129
|
+
Append to changes.log (NDJSON)
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Session Files
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
.workflow/.cycle/{cycleId}.progress/
|
|
136
|
+
|
|
137
|
+
ra/ - Requirements Analyst
|
|
138
|
+
├── requirements.md # v1.2.0 (current, complete rewrite)
|
|
139
|
+
├── changes.log # NDJSON audit trail
|
|
140
|
+
└── history/
|
|
141
|
+
├── requirements-v1.0.0.md
|
|
142
|
+
└── requirements-v1.1.0.md
|
|
143
|
+
|
|
144
|
+
ep/ - Exploration & Planning
|
|
145
|
+
├── plan.md # v1.2.0 (current)
|
|
146
|
+
├── changes.log # NDJSON audit trail
|
|
147
|
+
└── history/
|
|
148
|
+
├── plan-v1.0.0.md
|
|
149
|
+
└── plan-v1.1.0.md
|
|
150
|
+
|
|
151
|
+
cd/ - Code Developer
|
|
152
|
+
├── implementation.md # v1.2.0 (current)
|
|
153
|
+
├── changes.log # NDJSON audit trail
|
|
154
|
+
└── history/
|
|
155
|
+
├── implementation-v1.0.0.md
|
|
156
|
+
└── implementation-v1.1.0.md
|
|
157
|
+
|
|
158
|
+
vas/ - Validation & Archival
|
|
159
|
+
├── summary.md # v1.2.0 (current)
|
|
160
|
+
├── changes.log # NDJSON audit trail
|
|
161
|
+
└── history/
|
|
162
|
+
├── summary-v1.0.0.md
|
|
163
|
+
└── summary-v1.1.0.md
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
## Versioning Strategy
|
|
167
|
+
|
|
168
|
+
### Semantic Versioning
|
|
169
|
+
|
|
170
|
+
- **1.0.0**: Initial cycle
|
|
171
|
+
- **1.1.0**: User extends with new requirement
|
|
172
|
+
- **1.2.0**: Another iteration with more requirements
|
|
173
|
+
|
|
174
|
+
### What Gets Versioned
|
|
175
|
+
|
|
176
|
+
✅ **Main Document File**
|
|
177
|
+
- Completely rewritten each iteration
|
|
178
|
+
- Auto-archived to `history/`
|
|
179
|
+
- No inline version history (stays clean)
|
|
180
|
+
|
|
181
|
+
✅ **Changes.log (NDJSON)**
|
|
182
|
+
- Append-only (never deleted)
|
|
183
|
+
- Complete audit trail of all changes
|
|
184
|
+
- Used to trace requirement origins
|
|
185
|
+
|
|
186
|
+
✅ **Historical Snapshots**
|
|
187
|
+
- Auto-created in `history/` directory
|
|
188
|
+
- Keep last N versions (default: 5)
|
|
189
|
+
- For reference when needed
|
|
190
|
+
|
|
191
|
+
### Key Principle
|
|
192
|
+
|
|
193
|
+
> **主文档简洁清晰** ← Agent 只关注当前版本
|
|
194
|
+
>
|
|
195
|
+
> **完整历史记录** ← Changes.log 保留每个变更
|
|
196
|
+
>
|
|
197
|
+
> **版本快照归档** ← History/ 备份旧版本
|
|
198
|
+
|
|
199
|
+
## File Maintenance
|
|
200
|
+
|
|
201
|
+
### Each Agent
|
|
202
|
+
|
|
203
|
+
| Agent | File | Contains | Size |
|
|
204
|
+
|-------|------|----------|------|
|
|
205
|
+
| **RA** | requirements.md | All FR, NFR, edge cases, history summary | ~2-5KB |
|
|
206
|
+
| **EP** | plan.md | Architecture, all tasks, critical path, history | ~3-8KB |
|
|
207
|
+
| **CD** | implementation.md | Completed tasks, files changed, decisions, tests | ~4-10KB |
|
|
208
|
+
| **VAS** | summary.md | Test results, coverage, issues, recommendations | ~5-12KB |
|
|
209
|
+
|
|
210
|
+
### Changes.log (Shared)
|
|
211
|
+
|
|
212
|
+
NDJSON format - one line per change:
|
|
213
|
+
|
|
214
|
+
```jsonl
|
|
215
|
+
{"timestamp":"2026-01-22T10:00:00+08:00","version":"1.0.0","agent":"ra","action":"create","change":"Initial requirements","iteration":1}
|
|
216
|
+
{"timestamp":"2026-01-22T11:00:00+08:00","version":"1.1.0","agent":"ra","action":"update","change":"Added Google OAuth","iteration":2}
|
|
217
|
+
{"timestamp":"2026-01-22T12:00:00+08:00","version":"1.2.0","agent":"ra","action":"update","change":"Added GitHub, MFA","iteration":3}
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
## Accessing History
|
|
221
|
+
|
|
222
|
+
### Current Version
|
|
223
|
+
|
|
224
|
+
```bash
|
|
225
|
+
# View latest requirements
|
|
226
|
+
cat .workflow/.cycle/cycle-xxx.progress/ra/requirements.md
|
|
227
|
+
|
|
228
|
+
# Quick check - version is in header
|
|
229
|
+
head -5 requirements.md # "# Requirements Specification - v1.2.0"
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
### Version History
|
|
233
|
+
|
|
234
|
+
```bash
|
|
235
|
+
# View previous version
|
|
236
|
+
cat .workflow/.cycle/cycle-xxx.progress/ra/history/requirements-v1.1.0.md
|
|
237
|
+
|
|
238
|
+
# Audit trail - all changes
|
|
239
|
+
cat .workflow/.cycle/cycle-xxx.progress/ra/changes.log | jq .
|
|
240
|
+
|
|
241
|
+
# Changes in specific iteration
|
|
242
|
+
cat changes.log | jq 'select(.iteration==2)'
|
|
243
|
+
|
|
244
|
+
# Trace requirement history
|
|
245
|
+
cat changes.log | jq 'select(.change | contains("OAuth"))'
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
## Codex Pattern Implementation
|
|
249
|
+
|
|
250
|
+
### Multi-Agent Parallel
|
|
251
|
+
|
|
252
|
+
```javascript
|
|
253
|
+
// Create 4 agents in parallel
|
|
254
|
+
const agents = {
|
|
255
|
+
ra: spawn_agent({ message: raRoleAndTask }),
|
|
256
|
+
ep: spawn_agent({ message: epRoleAndTask }),
|
|
257
|
+
cd: spawn_agent({ message: cdRoleAndTask }),
|
|
258
|
+
vas: spawn_agent({ message: vasRoleAndTask })
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
// Wait for all 4 in parallel
|
|
262
|
+
const results = wait({ ids: [agents.ra, agents.ep, agents.cd, agents.vas] })
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
### Role Path Passing
|
|
266
|
+
|
|
267
|
+
Each agent reads its own role definition:
|
|
268
|
+
|
|
269
|
+
```javascript
|
|
270
|
+
spawn_agent({
|
|
271
|
+
message: `
|
|
272
|
+
## MANDATORY FIRST STEPS
|
|
273
|
+
1. Read role: ~/.codex/agents/requirements-analyst.md
|
|
274
|
+
2. Read: .workflow/project-tech.json
|
|
275
|
+
3. Read: .workflow/project-guidelines.json
|
|
276
|
+
|
|
277
|
+
## TASK
|
|
278
|
+
${taskDescription}
|
|
279
|
+
`
|
|
280
|
+
})
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
### Deep Interaction
|
|
284
|
+
|
|
285
|
+
Use `send_input` for iteration refinement:
|
|
286
|
+
|
|
287
|
+
```javascript
|
|
288
|
+
// First output
|
|
289
|
+
const initial = wait({ ids: [agent] })
|
|
290
|
+
|
|
291
|
+
// User feedback
|
|
292
|
+
send_input({
|
|
293
|
+
id: agent,
|
|
294
|
+
message: `
|
|
295
|
+
## Feedback
|
|
296
|
+
|
|
297
|
+
${feedback}
|
|
298
|
+
|
|
299
|
+
## Next Steps
|
|
300
|
+
Update ${filename} based on feedback. Increment version.
|
|
301
|
+
Output PHASE_RESULT when complete.
|
|
302
|
+
`
|
|
303
|
+
})
|
|
304
|
+
|
|
305
|
+
// Updated output
|
|
306
|
+
const revised = wait({ ids: [agent] })
|
|
307
|
+
|
|
308
|
+
// Only close when done
|
|
309
|
+
close_agent({ id: agent })
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
## Error Handling
|
|
313
|
+
|
|
314
|
+
| Situation | Recovery |
|
|
315
|
+
|-----------|----------|
|
|
316
|
+
| Agent timeout | send_input requesting convergence or retry |
|
|
317
|
+
| State corrupted | Rebuild from changes.log NDJSON |
|
|
318
|
+
| Version mismatch | Agent checks version in state before reading |
|
|
319
|
+
| Blocked dependency | Orchestrator sends updated file path |
|
|
320
|
+
|
|
321
|
+
## Best Practices
|
|
322
|
+
|
|
323
|
+
1. **Let agents rewrite** - Don't maintain incremental history in main doc
|
|
324
|
+
2. **Trust changes.log** - NDJSON is the source of truth for history
|
|
325
|
+
3. **Archive on version bump** - Automatic, no manual versioning needed
|
|
326
|
+
4. **Keep files focused** - Each file should be readable in 5 minutes
|
|
327
|
+
5. **Version header always present** - Makes version obvious at a glance
|
|
328
|
+
|
|
329
|
+
## Integration
|
|
330
|
+
|
|
331
|
+
This skill works standalone or integrated with:
|
|
332
|
+
- Dashboard Loop Monitor (API triggers)
|
|
333
|
+
- CCW workflow system
|
|
334
|
+
- Custom orchestration
|
|
335
|
+
|
|
336
|
+
### API Trigger
|
|
337
|
+
|
|
338
|
+
```bash
|
|
339
|
+
POST /api/cycles/start
|
|
340
|
+
{
|
|
341
|
+
"task": "Implement OAuth",
|
|
342
|
+
"mode": "auto"
|
|
343
|
+
}
|
|
344
|
+
→ Returns cycle_id
|
|
345
|
+
|
|
346
|
+
GET /api/cycles/{cycle_id}/status
|
|
347
|
+
→ Returns agents status and progress
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
## Architecture Diagram
|
|
351
|
+
|
|
352
|
+
```
|
|
353
|
+
User Task
|
|
354
|
+
↓
|
|
355
|
+
Orchestrator (main coordinator)
|
|
356
|
+
├─→ spawn_agent(RA)
|
|
357
|
+
├─→ spawn_agent(EP)
|
|
358
|
+
├─→ spawn_agent(CD)
|
|
359
|
+
└─→ spawn_agent(VAS)
|
|
360
|
+
↓
|
|
361
|
+
wait({ ids: [all 4] })
|
|
362
|
+
↓
|
|
363
|
+
All write to:
|
|
364
|
+
- requirements.md (v1.x.0)
|
|
365
|
+
- plan.md (v1.x.0)
|
|
366
|
+
- implementation.md (v1.x.0)
|
|
367
|
+
- summary.md (v1.x.0)
|
|
368
|
+
- changes.log (NDJSON append)
|
|
369
|
+
↓
|
|
370
|
+
[Automatic archival]
|
|
371
|
+
- history/requirements-v1.{x-1}.0.md
|
|
372
|
+
- history/plan-v1.{x-1}.0.md
|
|
373
|
+
- etc...
|
|
374
|
+
↓
|
|
375
|
+
Orchestrator: Next iteration?
|
|
376
|
+
- Yes: send_input with feedback
|
|
377
|
+
- No: close_agent, report summary
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
## License
|
|
381
|
+
|
|
382
|
+
MIT
|