@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.
- package/package.json +4 -1
- package/skills/_shared/manifest-operations.md +85 -256
- package/skills/_shared/skill-chaining-patterns.md +14 -6
- package/skills/_shared/subagent-protocol-base.md +18 -15
- package/skills/_shared/task-system-integration.md +5 -5
- package/skills/_shared/testing-framework-config.md +3 -0
- package/skills/ct-cleo/SKILL.md +5 -5
- package/skills/ct-cleo/references/session-protocol.md +2 -2
- package/skills/ct-epic-architect/references/commands.md +1 -1
- package/skills/ct-grade/SKILL.md +9 -9
- package/skills/ct-grade/agents/scenario-runner.md +2 -2
- package/skills/ct-grade/references/grade-spec.md +2 -2
- package/skills/ct-grade/references/token-tracking.md +1 -1
- package/skills/ct-grade-v2-1/SKILL.md +1 -1
- package/skills/ct-grade-v2-1/agents/scenario-runner.md +7 -6
- package/skills/ct-grade-v2-1/references/domains-ssot.md +3 -3
- package/skills/ct-grade-v2-1/references/grade-spec-v2.md +5 -5
- package/skills/ct-grade-v2-1/references/playbook-v2.md +1 -1
- package/skills/ct-memory/SKILL.md +30 -18
- package/skills/ct-orchestrator/SKILL.md +48 -48
- package/skills/ct-skill-validator/agents/ecosystem-checker.md +3 -3
- package/tsconfig.json +12 -0
|
@@ -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 —
|
|
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: "
|
|
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: "
|
|
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
|
-
|
|
|
137
|
+
| CLI (Primary) | MCP (Fallback) | Purpose |
|
|
138
138
|
|----------------|----------------|---------|
|
|
139
|
-
| `query({ domain: "session", operation: "list" })` |
|
|
140
|
-
| `mutate({ domain: "session", operation: "resume", params: { sessionId } })` |
|
|
141
|
-
| `mutate({ domain: "session", operation: "start", params: { scope, name, autoStart } })` |
|
|
142
|
-
| `mutate({ domain: "session", operation: "end", params: { note } })` |
|
|
143
|
-
| `query({ domain: "session", operation: "status" })` |
|
|
144
|
-
| `mutate({ domain: "tasks", operation: "start", params: { taskId } })` |
|
|
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
|
-
###
|
|
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: "
|
|
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: "
|
|
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
|
-
|
|
|
246
|
+
| CLI (Primary) | MCP (Fallback) | Purpose |
|
|
247
247
|
|----------------|----------------|---------|
|
|
248
|
-
| `query({ domain: "tasks", operation: "find", params: { query } })` |
|
|
249
|
-
| `query({ domain: "tasks", operation: "show", params: { taskId } })` |
|
|
250
|
-
| `query({ domain: "
|
|
251
|
-
| `query({ domain: "orchestrate", operation: "ready", params: { epicId } })` |
|
|
252
|
-
| `query({ domain: "orchestrate", operation: "next", params: { epicId } })` |
|
|
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
|
-
|
|
|
256
|
+
| CLI (Primary) | MCP (Fallback) | Purpose |
|
|
257
257
|
|----------------|----------------|---------|
|
|
258
|
-
| `mutate({ domain: "tasks", operation: "add", params: { title, parent } })` |
|
|
259
|
-
| `mutate({ domain: "tasks", operation: "start", params: { taskId } })` |
|
|
260
|
-
| `mutate({ domain: "tasks", operation: "complete", params: { taskId } })` |
|
|
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
|
-
|
|
|
264
|
+
| CLI (Primary) | MCP (Fallback) | Purpose |
|
|
265
265
|
|----------------|----------------|---------|
|
|
266
|
-
| `query({ domain: "
|
|
267
|
-
| `query({ domain: "
|
|
268
|
-
| `query({ domain: "
|
|
269
|
-
| `mutate({ domain: "
|
|
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
|
-
|
|
|
273
|
+
| CLI (Primary) | MCP (Fallback) | Purpose |
|
|
274
274
|
|----------------|----------------|---------|
|
|
275
|
-
| `query({ domain: "pipeline", operation: "stage.status", params: { epicId } })` |
|
|
276
|
-
| `mutate({ domain: "pipeline", operation: "stage.record", params: { epicId, stage, status } })` |
|
|
277
|
-
| `query({ domain: "pipeline", operation: "stage.validate", params: { epicId, stage } })` |
|
|
278
|
-
| `mutate({ domain: "pipeline", operation: "stage.gate.pass", params: { epicId, 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
|
|
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`, `
|
|
296
|
-
| Handling Manifest Followups | Subagent left TODOs | `
|
|
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.
|
|
111
|
-
"evidence": "Line: 'Run `query tools.skill.
|
|
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.
|
|
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
|
+
}
|