@cleocode/skills 2026.3.45 → 2026.3.47

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.
@@ -89,7 +89,13 @@ This separation means the orchestrator protocol works identically regardless of
89
89
 
90
90
  **CRITICAL**: Start EVERY orchestrator conversation with this protocol. Never assume state.
91
91
 
92
- ### Quick Start — MCP (Recommended)
92
+ ### Quick Start — CLI (Recommended)
93
+
94
+ ```bash
95
+ cleo orchestrator start --epic T1575
96
+ ```
97
+
98
+ ### Quick Start — MCP (Alternative)
93
99
 
94
100
  ```
95
101
  mutate({ domain: "orchestrate", operation: "start", params: { epicId: "T1575" }})
@@ -97,22 +103,16 @@ mutate({ domain: "orchestrate", operation: "start", params: { epicId: "T1575" }}
97
103
 
98
104
  **Returns**: Session state, context budget, next task, pipeline stage, and recommended action in one call.
99
105
 
100
- ### Quick Start — CLI (Fallback)
101
-
102
- ```bash
103
- cleo orchestrator start --epic T1575
104
- ```
105
-
106
106
  ### Manual Startup
107
107
 
108
108
  ```
109
109
  # 1. Check for existing work
110
110
  query({ domain: "session", operation: "list" })
111
- query({ domain: "research", operation: "pending" })
111
+ query({ domain: "pipeline", operation: "manifest.list", params: { filter: "pending" } })
112
112
  query({ domain: "session", operation: "status" })
113
113
 
114
114
  # 2. Get epic overview and pipeline state
115
- query({ domain: "system", operation: "dash" })
115
+ query({ domain: "admin", operation: "dash" })
116
116
  query({ domain: "pipeline", operation: "stage.status", params: { epicId: "T1575" }})
117
117
 
118
118
  # 3. Resume or start
@@ -134,14 +134,14 @@ mutate({ domain: "session", operation: "start",
134
134
 
135
135
  ### Session Commands Quick Reference
136
136
 
137
- | MCP (Primary) | CLI (Fallback) | Purpose |
137
+ | CLI (Primary) | MCP (Fallback) | Purpose |
138
138
  |----------------|----------------|---------|
139
- | `query({ domain: "session", operation: "list" })` | `cleo session list` | Show all sessions |
140
- | `mutate({ domain: "session", operation: "resume", params: { sessionId } })` | `cleo session resume <id>` | Continue existing |
141
- | `mutate({ domain: "session", operation: "start", params: { scope, name, autoStart } })` | `cleo session start --scope epic:T1575 --auto-start` | Begin new |
142
- | `mutate({ domain: "session", operation: "end", params: { note } })` | `cleo session end` | Close session |
143
- | `query({ domain: "session", operation: "status" })` | `cleo current` | Current task |
144
- | `mutate({ domain: "tasks", operation: "start", params: { taskId } })` | `cleo start T1586` | Start working on task |
139
+ | `cleo session list` | `query({ domain: "session", operation: "list" })` | Show all sessions |
140
+ | `cleo session resume <id>` | `mutate({ domain: "session", operation: "resume", params: { sessionId } })` | Continue existing |
141
+ | `cleo session start --scope epic:T1575 --auto-start` | `mutate({ domain: "session", operation: "start", params: { scope, name, autoStart } })` | Begin new |
142
+ | `cleo session end` | `mutate({ domain: "session", operation: "end", params: { note } })` | Close session |
143
+ | `cleo current` | `query({ domain: "session", operation: "status" })` | Current task |
144
+ | `cleo start T1586` | `mutate({ domain: "tasks", operation: "start", params: { taskId } })` | Start working on task |
145
145
 
146
146
  ## Skill Dispatch (Universal Subagent Architecture)
147
147
 
@@ -173,7 +173,13 @@ Gate check: epic tasks must complete prior RCASD-IVTR+C stages before later stag
173
173
 
174
174
  **All spawns follow this pattern:**
175
175
 
176
- ### MCP (Primary)
176
+ ### CLI (Primary)
177
+
178
+ ```bash
179
+ cleo orchestrator spawn T1586 --json
180
+ ```
181
+
182
+ ### MCP (Fallback)
177
183
 
178
184
  ```
179
185
  # 1. Check pipeline stage is appropriate for this task type
@@ -187,12 +193,6 @@ mutate({ domain: "orchestrate", operation: "spawn", params: { taskId: "T1586" }}
187
193
  # The provider adapter decides HOW to execute it
188
194
  ```
189
195
 
190
- ### CLI (Fallback)
191
-
192
- ```bash
193
- cleo orchestrator spawn T1586 --json
194
- ```
195
-
196
196
  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.
197
197
 
198
198
  **Valid Return Messages**: `"[Type] complete/partial/blocked. See MANIFEST.jsonl for summary/details/blocker details."`
@@ -205,7 +205,7 @@ The spawn prompt combines the **Base Protocol** (`agents/cleo-subagent/AGENT.md`
205
205
 
206
206
  ```
207
207
  mutate({ domain: "orchestrate", operation: "start", params: { epicId: "T1575" }})
208
- query({ domain: "research", operation: "pending" })
208
+ query({ domain: "pipeline", operation: "manifest.list", params: { filter: "pending" } })
209
209
  query({ domain: "pipeline", operation: "stage.status", params: { epicId: "T1575" }})
210
210
  ```
211
211
 
@@ -232,7 +232,7 @@ Spawn subagent via `orchestrate.spawn`. The provider's adapter handles execution
232
232
  ### Phase 4: Verification & Pipeline Advancement
233
233
 
234
234
  ```
235
- query({ domain: "system", operation: "context" })
235
+ query({ domain: "admin", operation: "context" })
236
236
  mutate({ domain: "pipeline", operation: "stage.record", params: { epicId: "T1575", stage: "research", status: "done" }})
237
237
  mutate({ domain: "pipeline", operation: "stage.gate.pass", params: { epicId: "T1575", stage: "research" }})
238
238
  ```
@@ -243,41 +243,41 @@ Verify all subagent outputs in manifest. Update CLEO task status. Record pipelin
243
243
 
244
244
  ### Discovery & Status
245
245
 
246
- | MCP (Primary) | CLI (Fallback) | Purpose |
246
+ | CLI (Primary) | MCP (Fallback) | Purpose |
247
247
  |----------------|----------------|---------|
248
- | `query({ domain: "tasks", operation: "find", params: { query } })` | `cleo find "query"` | Fuzzy search |
249
- | `query({ domain: "tasks", operation: "show", params: { taskId } })` | `cleo show T1234` | Full task details |
250
- | `query({ domain: "system", operation: "dash" })` | `cleo dash --compact` | Project overview |
251
- | `query({ domain: "orchestrate", operation: "ready", params: { epicId } })` | `cleo orchestrator ready --epic T1575` | Parallel-safe tasks |
252
- | `query({ domain: "orchestrate", operation: "next", params: { epicId } })` | `cleo orchestrator next --epic T1575` | Suggest next task |
248
+ | `cleo find "query"` | `query({ domain: "tasks", operation: "find", params: { query } })` | Fuzzy search |
249
+ | `cleo show T1234` | `query({ domain: "tasks", operation: "show", params: { taskId } })` | Full task details |
250
+ | `cleo dash --compact` | `query({ domain: "admin", operation: "dash" })` | Project overview |
251
+ | `cleo orchestrator ready --epic T1575` | `query({ domain: "orchestrate", operation: "ready", params: { epicId } })` | Parallel-safe tasks |
252
+ | `cleo orchestrator next --epic T1575` | `query({ domain: "orchestrate", operation: "next", params: { epicId } })` | Suggest next task |
253
253
 
254
254
  ### Task Coordination
255
255
 
256
- | MCP (Primary) | CLI (Fallback) | Purpose |
256
+ | CLI (Primary) | MCP (Fallback) | Purpose |
257
257
  |----------------|----------------|---------|
258
- | `mutate({ domain: "tasks", operation: "add", params: { title, parent } })` | `cleo add "Task" --parent T1575` | Create child task |
259
- | `mutate({ domain: "tasks", operation: "start", params: { taskId } })` | `cleo start T1586` | Start working on task |
260
- | `mutate({ domain: "tasks", operation: "complete", params: { taskId } })` | `cleo complete T1586` | Mark task done |
258
+ | `cleo add "Task" --parent T1575` | `mutate({ domain: "tasks", operation: "add", params: { title, parent } })` | Create child task |
259
+ | `cleo start T1586` | `mutate({ domain: "tasks", operation: "start", params: { taskId } })` | Start working on task |
260
+ | `cleo complete T1586` | `mutate({ domain: "tasks", operation: "complete", params: { taskId } })` | Mark task done |
261
261
 
262
262
  ### Manifest & Research
263
263
 
264
- | MCP (Primary) | CLI (Fallback) | Purpose |
264
+ | CLI (Primary) | MCP (Fallback) | Purpose |
265
265
  |----------------|----------------|---------|
266
- | `query({ domain: "research", operation: "list" })` | `cleo research list` | List entries |
267
- | `query({ domain: "research", operation: "show", params: { entryId } })` | `cleo research show <id>` | Entry summary (~500 tokens) |
268
- | `query({ domain: "research", operation: "pending" })` | `cleo research pending` | Followup items |
269
- | `mutate({ domain: "research", operation: "link", params: { taskId, entryId } })` | `cleo research link T1586 <id>` | Link research to task |
266
+ | `cleo manifest list` | `query({ domain: "pipeline", operation: "manifest.list" })` | List entries |
267
+ | `cleo manifest show <id>` | `query({ domain: "pipeline", operation: "manifest.show", params: { entryId } })` | Entry summary (~500 tokens) |
268
+ | `cleo manifest list --filter pending` | `query({ domain: "pipeline", operation: "manifest.list", params: { filter: "pending" } })` | Followup items |
269
+ | `cleo memory link T1586 <id>` | `mutate({ domain: "memory", operation: "link", params: { taskId, entryId } })` | Link research to task |
270
270
 
271
271
  ### Pipeline Operations
272
272
 
273
- | MCP (Primary) | CLI (Fallback) | Purpose |
273
+ | CLI (Primary) | MCP (Fallback) | Purpose |
274
274
  |----------------|----------------|---------|
275
- | `query({ domain: "pipeline", operation: "stage.status", params: { epicId } })` | `cleo pipeline status --epic T1575` | Current pipeline stage |
276
- | `mutate({ domain: "pipeline", operation: "stage.record", params: { epicId, stage, status } })` | `cleo pipeline record T1575 research done` | Record stage progress |
277
- | `query({ domain: "pipeline", operation: "stage.validate", params: { epicId, stage } })` | `cleo pipeline validate T1575 implementation` | Check gate before spawn |
278
- | `mutate({ domain: "pipeline", operation: "stage.gate.pass", params: { epicId, stage } })` | `cleo pipeline gate-pass T1575 research` | Advance pipeline stage |
275
+ | `cleo pipeline stage.status --epic T1575` | `query({ domain: "pipeline", operation: "stage.status", params: { epicId } })` | Current pipeline stage |
276
+ | `cleo pipeline stage.record T1575 research done` | `mutate({ domain: "pipeline", operation: "stage.record", params: { epicId, stage, status } })` | Record stage progress |
277
+ | `cleo pipeline stage.validate T1575 implementation` | `query({ domain: "pipeline", operation: "stage.validate", params: { epicId, stage } })` | Check gate before spawn |
278
+ | `cleo pipeline stage.gate.pass T1575 research` | `mutate({ domain: "pipeline", operation: "stage.gate.pass", params: { epicId, stage } })` | Advance pipeline stage |
279
279
 
280
- **Context Budget Rule**: Stay under 10K tokens. Use `cleo research list` over reading full files.
280
+ **Context Budget Rule**: Stay under 10K tokens. Use `cleo manifest list` over reading full files.
281
281
 
282
282
  ## Handoff Chain Protocol
283
283
 
@@ -292,8 +292,8 @@ Content flows between subagents via **manifest-mediated handoffs**, not through
292
292
  | Pattern | When to Use | Key Operations |
293
293
  |---------|-------------|----------------|
294
294
  | Starting Fresh Epic | New feature work | `tasks.add`, `session.start`, `pipeline.stage.record`, `orchestrate.spawn` |
295
- | Resuming Interrupted Work | New conversation | `orchestrate.start`, `pipeline.stage.status`, `research.pending` |
296
- | Handling Manifest Followups | Subagent left TODOs | `research.pending`, `tasks.add` |
295
+ | Resuming Interrupted Work | New conversation | `orchestrate.start`, `pipeline.stage.status`, `pipeline.manifest.list` |
296
+ | Handling Manifest Followups | Subagent left TODOs | `pipeline.manifest.list`, `tasks.add` |
297
297
  | Parallel Execution | Independent tasks in same wave | `orchestrate.analyze`, `orchestrate.ready` |
298
298
  | Pipeline-Aware Orchestration | Multi-stage epics | `pipeline.stage.status`, `pipeline.stage.validate`, `pipeline.stage.gate.pass` |
299
299
  | Quality Gates | Verification required | `check.schema`, `pipeline.stage.validate` |
@@ -107,8 +107,8 @@ Save to the path specified in your prompt (default: `ecosystem-check.json` in th
107
107
  "rule_id": 2,
108
108
  "rule_name": "MCP Operation Syntax",
109
109
  "status": "ERROR",
110
- "finding": "Skill references 'tools.skill.validate' which is not a valid CLEO operation. The correct operation is 'tools.skill.verify'.",
111
- "evidence": "Line: 'Run `query tools.skill.validate <skill-name>`'"
110
+ "finding": "Skill references 'tools.skill.verify' which is not a valid CLEO operation. The correct operation is 'tools.skill.verify'.",
111
+ "evidence": "Line: 'Run `query tools.skill.verify <skill-name>`'"
112
112
  }
113
113
  ],
114
114
  "summary": {
@@ -120,7 +120,7 @@ Save to the path specified in your prompt (default: `ecosystem-check.json` in th
120
120
  "primary_domain": "tools",
121
121
  "lifecycle_stages_served": ["Validation"],
122
122
  "recommendations": [
123
- "Replace 'tools.skill.validate' with 'tools.skill.verify' throughout the body",
123
+ "Replace 'tools.skill.verify' with 'tools.skill.verify' throughout the body",
124
124
  "Add explicit mention of which lifecycle stage this skill supports"
125
125
  ]
126
126
  }
package/tsconfig.json ADDED
@@ -0,0 +1,12 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2025",
4
+ "module": "NodeNext",
5
+ "moduleResolution": "NodeNext",
6
+ "strict": true,
7
+ "skipLibCheck": true,
8
+ "noEmit": true
9
+ },
10
+ "include": ["index.ts", "index.d.ts"],
11
+ "exclude": ["scripts", "skills", "node_modules"]
12
+ }