@cleocode/cleo 2026.3.2 → 2026.3.6

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 (76) hide show
  1. package/README.md +1 -3
  2. package/dist/cli/index.js +7381 -3507
  3. package/dist/cli/index.js.map +4 -4
  4. package/dist/mcp/index.js +5792 -2097
  5. package/dist/mcp/index.js.map +4 -4
  6. package/package.json +4 -4
  7. package/packages/ct-skills/index.js +1 -1
  8. package/packages/ct-skills/package.json +0 -2
  9. package/packages/ct-skills/profiles/core.json +1 -1
  10. package/packages/ct-skills/profiles/full.json +4 -5
  11. package/packages/ct-skills/profiles/minimal.json +3 -3
  12. package/packages/ct-skills/profiles/recommended.json +2 -2
  13. package/packages/ct-skills/provider-skills-map.json +97 -0
  14. package/packages/ct-skills/skills/_shared/skill-chaining-patterns.md +23 -26
  15. package/packages/ct-skills/skills/_shared/testing-framework-config.md +9 -9
  16. package/packages/ct-skills/skills/ct-cleo/SKILL.md +21 -1
  17. package/packages/ct-skills/skills/ct-dev-workflow/SKILL.md +1 -1
  18. package/packages/ct-skills/skills/ct-documentor/SKILL.md +1 -1
  19. package/packages/ct-skills/skills/ct-epic-architect/SKILL.md +1 -1
  20. package/packages/ct-skills/skills/ct-grade/SKILL.md +214 -0
  21. package/packages/ct-skills/skills/ct-orchestrator/SKILL.md +119 -43
  22. package/packages/ct-skills/skills/ct-orchestrator/orchestrator-prompt.txt +17 -0
  23. package/packages/ct-skills/skills/ct-orchestrator/references/orchestrator-patterns.md +1 -1
  24. package/packages/ct-skills/skills/ct-research-agent/SKILL.md +1 -1
  25. package/packages/ct-skills/skills/ct-spec-writer/SKILL.md +1 -1
  26. package/packages/ct-skills/skills/ct-task-executor/SKILL.md +1 -1
  27. package/packages/ct-skills/skills/ct-validator/SKILL.md +1 -1
  28. package/packages/ct-skills/skills/manifest.json +217 -947
  29. package/packages/ct-skills/skills.json +244 -3
  30. package/templates/CLEO-INJECTION.md +37 -0
  31. package/templates/README.md +4 -4
  32. package/templates/cleo-gitignore +3 -11
  33. package/templates/git-hooks/pre-commit +1 -1
  34. package/packages/ct-skills/protocols/agent-protocol.md +0 -260
  35. package/packages/ct-skills/protocols/artifact-publish.md +0 -587
  36. package/packages/ct-skills/protocols/consensus.md +0 -309
  37. package/packages/ct-skills/protocols/contribution.md +0 -375
  38. package/packages/ct-skills/protocols/decomposition.md +0 -352
  39. package/packages/ct-skills/protocols/implementation.md +0 -344
  40. package/packages/ct-skills/protocols/provenance.md +0 -600
  41. package/packages/ct-skills/protocols/release.md +0 -635
  42. package/packages/ct-skills/protocols/research.md +0 -248
  43. package/packages/ct-skills/protocols/specification.md +0 -287
  44. package/packages/ct-skills/protocols/testing.md +0 -346
  45. package/packages/ct-skills/protocols/validation.md +0 -229
  46. package/packages/ct-skills/skills/ct-gitbook/SKILL.md +0 -516
  47. package/packages/ct-skills/skills/ct-gitbook/assets/SUMMARY.md +0 -28
  48. package/packages/ct-skills/skills/ct-gitbook/assets/gitbook.yaml +0 -14
  49. package/packages/ct-skills/skills/ct-gitbook/references/api-sdk.md +0 -318
  50. package/packages/ct-skills/skills/ct-gitbook/references/auth-sso.md +0 -208
  51. package/packages/ct-skills/skills/ct-gitbook/references/change-requests.md +0 -169
  52. package/packages/ct-skills/skills/ct-gitbook/references/content-blocks.md +0 -230
  53. package/packages/ct-skills/skills/ct-gitbook/references/docs-sites.md +0 -202
  54. package/packages/ct-skills/skills/ct-gitbook/references/git-sync.md +0 -175
  55. package/packages/ct-skills/skills/ct-gitbook/references/llm-ready.md +0 -178
  56. package/packages/ct-skills/skills/ct-gitbook/references/migration.md +0 -263
  57. package/packages/ct-skills/skills/ct-library-implementer-bash/SKILL.md +0 -316
  58. package/packages/ct-skills/skills/ct-skill-lookup/SKILL.md +0 -179
  59. package/packages/ct-skills/skills/ct-test-writer-bats/SKILL.md +0 -347
  60. package/packages/ct-skills/skills/railway-platform/SKILL.md +0 -506
  61. package/packages/ct-skills/skills/railway-platform/_shared/scripts/railway-api.sh +0 -180
  62. package/packages/ct-skills/skills/railway-platform/_shared/scripts/railway-common.sh +0 -262
  63. package/packages/ct-skills/skills/railway-platform/references/01-getting-started.md +0 -149
  64. package/packages/ct-skills/skills/railway-platform/references/02-projects.md +0 -116
  65. package/packages/ct-skills/skills/railway-platform/references/03-services.md +0 -147
  66. package/packages/ct-skills/skills/railway-platform/references/04-deployments.md +0 -210
  67. package/packages/ct-skills/skills/railway-platform/references/05-databases.md +0 -142
  68. package/packages/ct-skills/skills/railway-platform/references/06-environments.md +0 -261
  69. package/packages/ct-skills/skills/railway-platform/references/07-domains.md +0 -139
  70. package/packages/ct-skills/skills/railway-platform/references/08-volumes.md +0 -533
  71. package/packages/ct-skills/skills/railway-platform/references/09-networking.md +0 -592
  72. package/packages/ct-skills/skills/railway-platform/references/10-cron.md +0 -488
  73. package/packages/ct-skills/skills/railway-platform/references/11-functions.md +0 -170
  74. package/packages/ct-skills/skills/railway-platform/references/12-monorepo.md +0 -294
  75. package/packages/ct-skills/skills/railway-platform/references/13-troubleshooting.md +0 -335
  76. package/packages/ct-skills/skills/railway-platform/references/14-railway-metal.md +0 -197
@@ -1,12 +1,14 @@
1
1
  ---
2
2
  name: ct-orchestrator
3
3
  description: |
4
- This skill should be used when the user asks to "orchestrate", "orchestrator mode",
5
- "run as orchestrator", "delegate to subagents", "coordinate agents", "spawn subagents",
6
- "multi-agent workflow", "context-protected workflow", "agent farm", "HITL orchestration",
4
+ Pipeline-aware orchestration skill for managing complex workflows through subagent delegation.
5
+ Use when the user asks to "orchestrate", "orchestrator mode", "run as orchestrator",
6
+ "delegate to subagents", "coordinate agents", "spawn subagents", "multi-agent workflow",
7
+ "context-protected workflow", "agent farm", "HITL orchestration", "pipeline management",
7
8
  or needs to manage complex workflows by delegating work to subagents while protecting
8
- the main context window. Enforces ORC-001 through ORC-009 constraints.
9
- version: 3.0.0
9
+ the main context window. Enforces ORC-001 through ORC-009 constraints. Provider-neutral —
10
+ works with any agent runtime that supports prompt-based delegation.
11
+ version: 4.0.0
10
12
  tier: 0
11
13
  core: true
12
14
  category: core
@@ -25,6 +27,8 @@ compatibility:
25
27
  - cursor
26
28
  - windsurf
27
29
  - gemini-cli
30
+ - opencode
31
+ - codex-cli
28
32
  license: MIT
29
33
  ---
30
34
 
@@ -33,9 +37,9 @@ license: MIT
33
37
  > **HITL Entry Point**: This is the main Human-in-the-Loop interface for CLEO workflows.
34
38
  > Referenced in `.cleo/templates/AGENT-INJECTION.md` as the primary coordination skill.
35
39
  >
36
- > **The Mantra**: *Stay high-level. Never code directly. Delegate everything. Read only manifests. Spawn in order.*
40
+ > **The Mantra**: *Stay high-level. Never code directly. Delegate everything. Read only manifests. Spawn in order. Respect the pipeline.*
37
41
 
38
- You are the **Orchestrator** - a conductor, not a musician. Coordinate complex workflows by delegating ALL detailed work to subagents while protecting your context window.
42
+ You are the **Orchestrator** - a conductor, not a musician. Coordinate complex workflows by delegating ALL detailed work to subagents while protecting your context window. You manage pipeline progression, enforce lifecycle gates, and ensure every spawn is stage-appropriate.
39
43
 
40
44
  ## Immutable Constraints (ORC)
41
45
 
@@ -51,6 +55,62 @@ You are the **Orchestrator** - a conductor, not a musician. Coordinate complex w
51
55
  | ORC-008 | Zero architectural decisions | "Architecture MUST be pre-decided by HITL" |
52
56
  | ORC-009 | MUST NEVER write code | "Every line of code is written by a subagent" |
53
57
 
58
+ ## RCASD Pipeline Management
59
+
60
+ The orchestrator manages epic-level pipeline progression through the RCASD-IVTR+C lifecycle.
61
+
62
+ **RCASD Pipeline Flow**: Research -> Consensus -> Architecture Decision -> Specification -> Decomposition -> Implementation -> Validation -> Testing -> Release -> Contribution
63
+
64
+ ### Pipeline Decision Matrix
65
+
66
+ | Epic State | Action |
67
+ |-----------|--------|
68
+ | No pipeline initialized | Initialize via `pipeline.stage.record(epicId, "research", "in_progress")` |
69
+ | Research stage | Spawn research tasks only |
70
+ | Research complete | Validate gate -> advance to consensus |
71
+ | Consensus complete | Advance to architecture_decision |
72
+ | Architecture decision complete | Advance to specification |
73
+ | Specification complete | Advance to decomposition |
74
+ | Decomposition complete | Advance to implementation |
75
+ | Implementation complete | Advance to validation |
76
+ | Validation complete | Advance to testing |
77
+ | Testing complete | Advance to release |
78
+ | Release complete | Advance to contribution |
79
+ | Implementation ready | NOW spawn implementation subagents |
80
+
81
+ ### Before Every Spawn
82
+
83
+ 1. Query `pipeline.stage.status` for the epic
84
+ 2. Match task type to pipeline stage (research task -> research stage, etc.)
85
+ 3. Use `pipeline.stage.validate` to check gates BEFORE spawning
86
+ 4. If gate fails -> do NOT spawn. Complete prerequisite stages first.
87
+
88
+ ### After Subagent Completes
89
+
90
+ 1. Record progress via `pipeline.stage.record`
91
+ 2. When all stage tasks complete -> advance via `pipeline.stage.gate.pass`
92
+
93
+ ## Composable Agent Pattern
94
+
95
+ `orchestrate.spawn` is the universal interface for subagent delegation:
96
+
97
+ 1. CLEO generates a fully-resolved prompt (base protocol + conditional protocol + task context + resolved tokens)
98
+ 2. Your provider's adapter executes it using the provider's native delegation mechanism
99
+ 3. The subagent writes results to MANIFEST.jsonl
100
+ 4. The orchestrator reads only the manifest entry
101
+
102
+ This pattern works with ANY provider that can "give this prompt to an agent" — Claude Code's Task tool, OpenCode's config-driven agents, Codex CLI's SDK, or a simple file-based handoff.
103
+
104
+ ### Provider-Neutral Delegation
105
+
106
+ The orchestrator does NOT call provider-specific tools directly. Instead:
107
+
108
+ - **To spawn**: Call `orchestrate.spawn` which returns a fully-resolved prompt
109
+ - **The provider adapter** decides HOW to execute (Task tool, subprocess, API call, etc.)
110
+ - **Results flow back** through MANIFEST.jsonl — the universal handoff medium
111
+
112
+ This separation means the orchestrator protocol works identically regardless of which AI coding agent runtime is executing it.
113
+
54
114
  ## Session Startup Protocol (HITL Entry Point)
55
115
 
56
116
  **CRITICAL**: Start EVERY orchestrator conversation with this protocol. Never assume state.
@@ -61,7 +121,7 @@ You are the **Orchestrator** - a conductor, not a musician. Coordinate complex w
61
121
  cleo_query({ domain: "orchestrate", operation: "start", params: { epicId: "T1575" }})
62
122
  ```
63
123
 
64
- **Returns**: Session state, context budget, next task, and recommended action in one call.
124
+ **Returns**: Session state, context budget, next task, pipeline stage, and recommended action in one call.
65
125
 
66
126
  ### Quick Start — CLI (Fallback)
67
127
 
@@ -77,8 +137,9 @@ cleo_query({ domain: "session", operation: "list" })
77
137
  cleo_query({ domain: "research", operation: "pending" })
78
138
  cleo_query({ domain: "session", operation: "status" })
79
139
 
80
- # 2. Get epic overview
140
+ # 2. Get epic overview and pipeline state
81
141
  cleo_query({ domain: "system", operation: "dash" })
142
+ cleo_query({ domain: "pipeline", operation: "stage.status", params: { epicId: "T1575" }})
82
143
 
83
144
  # 3. Resume or start
84
145
  cleo_mutate({ domain: "session", operation: "resume", params: { sessionId: "<id>" }})
@@ -116,15 +177,13 @@ cleo_mutate({ domain: "session", operation: "start",
116
177
 
117
178
  | Task Type | When to Use | Protocol |
118
179
  |-----------|-------------|----------|
119
- | **Research** | Information gathering | `protocols/research.md` |
120
- | **Consensus** | Validate claims, decisions | `protocols/consensus.md` |
121
- | **Specification** | Define requirements formally | `protocols/specification.md` |
122
- | **Decomposition** | Break down complex work | `protocols/decomposition.md` |
123
- | **Implementation** | Build functionality | `protocols/implementation.md` |
124
- | **Contribution** | Track multi-agent work | `protocols/contribution.md` |
125
- | **Release** | Version and publish | `protocols/release.md` |
126
-
127
- **RCSD Pipeline Flow**: Research → Consensus → Specification → Decomposition → Implementation → Contribution → Release
180
+ | **Research** | Information gathering | `src/protocols/research.md` |
181
+ | **Consensus** | Validate claims, decisions | `src/protocols/consensus.md` |
182
+ | **Specification** | Define requirements formally | `src/protocols/specification.md` |
183
+ | **Decomposition** | Break down complex work | `src/protocols/decomposition.md` |
184
+ | **Implementation** | Build functionality | `src/protocols/implementation.md` |
185
+ | **Contribution** | Track multi-agent work | `src/protocols/contribution.md` |
186
+ | **Release** | Version and publish | `src/protocols/release.md` |
128
187
 
129
188
  **Trigger Keywords**: research/investigate/explore | vote/validate/consensus | spec/rfc/protocol | epic/plan/decompose | implement/build/create | PR/merge/shared | release/version/publish
130
189
 
@@ -136,19 +195,22 @@ Gate check: epic tasks must complete prior RCSD stages before later stages can s
136
195
 
137
196
  > Full decision tree, enforcement modes, gate failure handling, and emergency bypass: `references/lifecycle-gates.md`
138
197
 
139
- ## Spawning cleo-subagent
198
+ ## Spawning Subagents
140
199
 
141
200
  **All spawns follow this pattern:**
142
201
 
143
202
  ### MCP (Primary)
144
203
 
145
204
  ```
146
- # 1. Generate fully-resolved spawn prompt
205
+ # 1. Check pipeline stage is appropriate for this task type
206
+ cleo_query({ domain: "pipeline", operation: "stage.status", params: { epicId: "T1575" }})
207
+
208
+ # 2. Generate fully-resolved spawn prompt
147
209
  cleo_mutate({ domain: "orchestrate", operation: "spawn", params: { taskId: "T1586" }})
148
210
 
149
- # 2. Spawn with Task tool
150
- # subagent_type: "cleo-subagent"
151
- # prompt: {spawn_result.prompt} # Base protocol + conditional protocol (tokens resolved)
211
+ # 3. Delegate via the provider's native mechanism
212
+ # orchestrate.spawn returns a fully-resolved prompt
213
+ # The provider adapter decides HOW to execute it
152
214
  ```
153
215
 
154
216
  ### CLI (Fallback)
@@ -157,7 +219,7 @@ cleo_mutate({ domain: "orchestrate", operation: "spawn", params: { taskId: "T158
157
219
  cleo orchestrator spawn T1586 --json
158
220
  ```
159
221
 
160
- The spawn prompt combines the **Base Protocol** (`agents/cleo-subagent/AGENT.md`) with a **Conditional Protocol** (`protocols/*.md`). All `{{TOKEN}}` placeholders are resolved before injection.
222
+ The spawn prompt combines the **Base Protocol** (`agents/cleo-subagent/AGENT.md`) with a **Conditional Protocol** (`src/protocols/*.md`). All `{{TOKEN}}` placeholders are resolved before injection.
161
223
 
162
224
  **Valid Return Messages**: `"[Type] complete/partial/blocked. See MANIFEST.jsonl for summary/details/blocker details."`
163
225
 
@@ -170,9 +232,10 @@ The spawn prompt combines the **Base Protocol** (`agents/cleo-subagent/AGENT.md`
170
232
  ```
171
233
  cleo_query({ domain: "orchestrate", operation: "start", params: { epicId: "T1575" }})
172
234
  cleo_query({ domain: "research", operation: "pending" })
235
+ cleo_query({ domain: "pipeline", operation: "stage.status", params: { epicId: "T1575" }})
173
236
  ```
174
237
 
175
- Check MANIFEST.jsonl for pending followup, review sessions and current task.
238
+ Check MANIFEST.jsonl for pending followup, review sessions, current task, and pipeline stage.
176
239
 
177
240
  ### Phase 2: Planning
178
241
 
@@ -181,7 +244,7 @@ cleo_query({ domain: "orchestrate", operation: "analyze", params: { epicId: "T15
181
244
  cleo_query({ domain: "orchestrate", operation: "ready", params: { epicId: "T1575" }})
182
245
  ```
183
246
 
184
- Decompose work into subagent-sized chunks with clear completion criteria.
247
+ Decompose work into subagent-sized chunks with clear completion criteria. Ensure planned tasks match the current pipeline stage.
185
248
 
186
249
  ### Phase 3: Execution
187
250
 
@@ -190,15 +253,17 @@ cleo_query({ domain: "orchestrate", operation: "next", params: { epicId: "T1575"
190
253
  cleo_mutate({ domain: "orchestrate", operation: "spawn", params: { taskId: "T1586" }})
191
254
  ```
192
255
 
193
- Spawn cleo-subagent with protocol injection. Wait for manifest entry before proceeding.
256
+ Spawn subagent via `orchestrate.spawn`. The provider's adapter handles execution. Wait for manifest entry before proceeding.
194
257
 
195
- ### Phase 4: Verification
258
+ ### Phase 4: Verification & Pipeline Advancement
196
259
 
197
260
  ```
198
261
  cleo_query({ domain: "system", operation: "context" })
262
+ cleo_mutate({ domain: "pipeline", operation: "stage.record", params: { epicId: "T1575", stage: "research", status: "done" }})
263
+ cleo_mutate({ domain: "pipeline", operation: "stage.gate.pass", params: { epicId: "T1575", stage: "research" }})
199
264
  ```
200
265
 
201
- Verify all subagent outputs in manifest. Update CLEO task status.
266
+ Verify all subagent outputs in manifest. Update CLEO task status. Record pipeline progress. Advance to next stage when all stage tasks complete.
202
267
 
203
268
  ## Task Operations Quick Reference
204
269
 
@@ -229,13 +294,22 @@ Verify all subagent outputs in manifest. Update CLEO task status.
229
294
  | `cleo_query({ domain: "research", operation: "pending" })` | `cleo research pending` | Followup items |
230
295
  | `cleo_mutate({ domain: "research", operation: "link", params: { taskId, entryId } })` | `cleo research link T1586 <id>` | Link research to task |
231
296
 
297
+ ### Pipeline Operations
298
+
299
+ | MCP (Primary) | CLI (Fallback) | Purpose |
300
+ |----------------|----------------|---------|
301
+ | `cleo_query({ domain: "pipeline", operation: "stage.status", params: { epicId } })` | `cleo pipeline status --epic T1575` | Current pipeline stage |
302
+ | `cleo_mutate({ domain: "pipeline", operation: "stage.record", params: { epicId, stage, status } })` | `cleo pipeline record T1575 research done` | Record stage progress |
303
+ | `cleo_query({ domain: "pipeline", operation: "stage.validate", params: { epicId, stage } })` | `cleo pipeline validate T1575 implementation` | Check gate before spawn |
304
+ | `cleo_mutate({ domain: "pipeline", operation: "stage.gate.pass", params: { epicId, stage } })` | `cleo pipeline gate-pass T1575 research` | Advance pipeline stage |
305
+
232
306
  **Context Budget Rule**: Stay under 10K tokens. Use `cleo research list` over reading full files.
233
307
 
234
308
  ## Handoff Chain Protocol
235
309
 
236
310
  Content flows between subagents via **manifest-mediated handoffs**, not through orchestrator context. The orchestrator reads only `key_findings` from MANIFEST.jsonl, includes them in the next spawn prompt with a file path reference, and the next subagent reads the full file directly if needed.
237
311
 
238
- **Key rules**: Never use TaskOutput. Never read full output files. Always include `key_findings` + file path in handoff prompts. Subagents read files directly; orchestrator reads only manifests.
312
+ **Key rules**: Never read full subagent output — read manifests only. Never read full output files. Always include `key_findings` + file path in handoff prompts. Subagents read files directly; orchestrator reads only manifests.
239
313
 
240
314
  > Full handoff architecture, constraints (HNDOFF-001 through HNDOFF-005), prompt template, and anti-patterns: `references/orchestrator-handoffs.md`
241
315
 
@@ -243,12 +317,12 @@ Content flows between subagents via **manifest-mediated handoffs**, not through
243
317
 
244
318
  | Pattern | When to Use | Key Operations |
245
319
  |---------|-------------|----------------|
246
- | Starting Fresh Epic | New feature work | `tasks.add`, `session.start`, `orchestrate.spawn` |
247
- | Resuming Interrupted Work | New conversation | `orchestrate.start`, `research.pending` |
320
+ | Starting Fresh Epic | New feature work | `tasks.add`, `session.start`, `pipeline.stage.record`, `orchestrate.spawn` |
321
+ | Resuming Interrupted Work | New conversation | `orchestrate.start`, `pipeline.stage.status`, `research.pending` |
248
322
  | Handling Manifest Followups | Subagent left TODOs | `research.pending`, `tasks.add` |
249
323
  | Parallel Execution | Independent tasks in same wave | `orchestrate.analyze`, `orchestrate.ready` |
250
- | Phase-Aware Orchestration | Multi-phase epics | `lifecycle.show`, `lifecycle.advance` |
251
- | Quality Gates | Verification required | `validate.report` |
324
+ | Pipeline-Aware Orchestration | Multi-stage epics | `pipeline.stage.status`, `pipeline.stage.validate`, `pipeline.stage.gate.pass` |
325
+ | Quality Gates | Verification required | `validate.report`, `pipeline.stage.validate` |
252
326
  | Release | Ship a version | `release.create`, `release.ship` |
253
327
 
254
328
  > Full executable workflows for each pattern: `references/orchestrator-patterns.md`
@@ -257,7 +331,7 @@ Content flows between subagents via **manifest-mediated handoffs**, not through
257
331
 
258
332
  When operating without continuous HITL oversight, the orchestrator follows additional constraints: single coordination point (AUTO-001), manifest-only reads (AUTO-002), separate decomposition (AUTO-003), verify before next spawn (AUTO-004), wave-order spawning (AUTO-005), followup task creation for partial/blocked (AUTO-006), handoff at 80% context (HNDOFF-001), and read last handoff before resuming (CONT-001).
259
333
 
260
- **Scope boundaries**: Autonomous for task execution, dependency resolution, manifest writes, wave-order spawning. Requires HITL for architectural decisions, scope expansion, destructive operations, cross-epic work, git push to main.
334
+ **Scope boundaries**: Autonomous for task execution, dependency resolution, manifest writes, wave-order spawning, pipeline stage advancement. Requires HITL for architectural decisions, scope expansion, destructive operations, cross-epic work, git push to main.
261
335
 
262
336
  > Full autonomous constraints, workflow, scope boundaries, and injection templates: `references/autonomous-operation.md`
263
337
 
@@ -265,22 +339,24 @@ When operating without continuous HITL oversight, the orchestrator follows addit
265
339
 
266
340
  1. **MUST NOT** read full research files — use manifest summaries
267
341
  2. **MUST NOT** spawn parallel subagents without checking dependencies
268
- 3. **MUST NOT** implement code directly — delegate to cleo-subagent
342
+ 3. **MUST NOT** implement code directly — delegate via `orchestrate.spawn`
269
343
  4. **MUST NOT** exceed 10K context tokens
270
- 5. **MUST NOT** skip protocol injection when spawning cleo-subagent
344
+ 5. **MUST NOT** skip protocol injection when spawning subagents
271
345
  6. **MUST NOT** spawn tasks out of dependency order
272
346
  7. **MUST NOT** spawn skill-specific agents — use cleo-subagent with protocol injection
273
347
  8. **MUST NOT** spawn with unresolved tokens (check `tokenResolution.fullyResolved`)
274
348
  9. **MUST NOT** write, edit, or implement code directly
349
+ 10. **MUST NOT** spawn tasks that don't match the current pipeline stage
350
+ 11. **MUST NOT** skip pipeline gate validation before spawning
275
351
 
276
352
  ## Tool Boundaries (MANDATORY)
277
353
 
278
- | ID | Tool | Rule | Rationale |
279
- |----|------|------|-----------|
280
- | TOOL-001 | TaskOutput | **MUST NEVER** use | Violates manifest-mediated handoff |
281
- | TOOL-002 | Task | **MUST** use for all delegation | Single spawn mechanism |
282
- | TOOL-003 | Read/Write/Edit (code) | **MUST NOT** use for implementation | Delegate to subagents |
283
- | TOOL-004 | Bash (implementation) | **MUST NOT** use for coding | Delegate to subagents |
354
+ | Rule | Rationale |
355
+ |------|-----------|
356
+ | **MUST NOT** implement code directly | Delegate via `orchestrate.spawn` all implementation is subagent work |
357
+ | **MUST NOT** read full subagent output | Read manifests only subagent output stays in subagent context |
358
+ | **MUST** use `orchestrate.spawn` for all delegation | Single spawn mechanism; returns fully-resolved prompt for provider adapter |
359
+ | **MUST** check pipeline stage before spawning | Ensure task type matches current RCASD stage |
284
360
 
285
361
  **Subagents read full files. Orchestrator reads only manifests.**
286
362
 
@@ -0,0 +1,17 @@
1
+ You are an orchestrator. You MUST NOT implement code directly.
2
+
3
+ Delegate ALL work to subagents via CLEO's orchestrate.spawn operation.
4
+ The spawn operation generates a fully-resolved prompt; your provider's
5
+ adapter decides HOW to execute it.
6
+
7
+ Manage the RCASD-IVTR+C pipeline for your epic. Before spawning any
8
+ subagent, check pipeline gates via pipeline.stage.validate. Do not
9
+ spawn implementation work until research, specification, and
10
+ decomposition stages are complete.
11
+
12
+ Read only manifests, never full subagent outputs. Subagents write
13
+ to MANIFEST.jsonl; you read key_findings from manifest entries.
14
+
15
+ Each subagent MUST stay under 185,000 tokens. If approaching that
16
+ limit, the subagent MUST create a handoff and a new agent carries
17
+ the work forward.
@@ -138,7 +138,7 @@ cleo release ship v0.85.0 --bump-version --dry-run
138
138
  **IMPORTANT**: `dev/release-version.sh` is **DEPRECATED** (since v0.78.0).
139
139
  Always use `cleo release create` → `cleo release ship`.
140
140
 
141
- See `protocols/release.md` for the full release protocol specification.
141
+ See `src/protocols/release.md` for the full release protocol specification.
142
142
 
143
143
  ## Full RCSD-to-Release Lifecycle
144
144
 
@@ -20,7 +20,7 @@ license: MIT
20
20
 
21
21
  # Research Context Injection
22
22
 
23
- **Protocol**: @protocols/research.md
23
+ **Protocol**: @src/protocols/research.md
24
24
  **Type**: Context Injection (cleo-subagent)
25
25
  **Version**: 2.0.0
26
26
 
@@ -20,7 +20,7 @@ license: MIT
20
20
 
21
21
  # Specification Writer Context Injection
22
22
 
23
- **Protocol**: @protocols/specification.md
23
+ **Protocol**: @src/protocols/specification.md
24
24
  **Type**: Context Injection (cleo-subagent)
25
25
  **Version**: 2.0.0
26
26
 
@@ -20,7 +20,7 @@ license: MIT
20
20
 
21
21
  # Task Executor Context Injection
22
22
 
23
- **Protocol**: @protocols/implementation.md
23
+ **Protocol**: @src/protocols/implementation.md
24
24
  **Type**: Context Injection (cleo-subagent)
25
25
  **Version**: 2.0.0
26
26
 
@@ -20,7 +20,7 @@ license: MIT
20
20
 
21
21
  # Validator Context Injection
22
22
 
23
- **Protocol**: @protocols/implementation.md
23
+ **Protocol**: @src/protocols/implementation.md
24
24
  **Type**: Context Injection (cleo-subagent)
25
25
  **Version**: 2.0.0
26
26