@cleocode/skills 2026.9.24 → 2026.9.25
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 +1 -1
- package/skills/ct-orchestrator/SKILL.md +12 -6
- package/skills/ct-orchestrator/references/SUBAGENT-PROTOCOL-BLOCK.md +51 -25
- package/skills/ct-orchestrator/references/orchestrator-compliance.md +11 -2
- package/skills/ct-task-executor/SKILL.md +5 -5
- package/skills/manifest.json +2 -2
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: ct-orchestrator
|
|
3
3
|
description: "Pipeline-aware orchestration skill for managing complex workflows through subagent delegation. Use when the user asks to \"orchestrate\", \"orchestrator mode\", \"run as orchestrator\", \"delegate to subagents\", \"coordinate agents\", \"spawn subagents\", \"multi-agent workflow\", \"context-protected workflow\", \"agent farm\", \"HITL orchestration\", \"pipeline management\", or needs to manage complex workflows by delegating work to subagents while protecting the main context window. Enforces ORC-001 through ORC-009 constraints. Provider-neutral — works with any AI agent runtime."
|
|
4
4
|
metadata:
|
|
5
|
-
version: 4.0.
|
|
5
|
+
version: 4.0.7
|
|
6
6
|
tier: core
|
|
7
7
|
install: harness
|
|
8
8
|
covers:
|
|
@@ -174,12 +174,18 @@ since harness shells keep neither cwd nor env between calls (the git shim reads
|
|
|
174
174
|
|
|
175
175
|
### Valid Return Messages
|
|
176
176
|
|
|
177
|
-
|
|
177
|
+
Append exactly once and capture the id with `--field /data/entryId` (ADR-086: never pipe the receipt through `python3`/`jq`). A nonempty `ENTRY_ID` must then read back with `cleo manifest show "$ENTRY_ID"`. Never append again merely to verify. On append or readback failure, return `blocked` with `manifest:none`; do not claim an entry. Static prompt checks do not prove storage or provider workflow success. The manifest `--type` is the protocol's own type (`consensus`, `specification`, `architecture_decision`, ... — T12521).
|
|
178
178
|
|
|
179
|
-
After
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
179
|
+
After verification, subagents MUST return exactly this compressed block (T12521):
|
|
180
|
+
|
|
181
|
+
```
|
|
182
|
+
[Type] <complete|partial|blocked>. manifest:<entryId>
|
|
183
|
+
commits: <sha7,sha7|none>
|
|
184
|
+
gates: <gate>=<pass|fail|skip> ...
|
|
185
|
+
blocker: <≤12 words|none>
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
blocker: none when complete; required when partial/blocked. `manifest:none` only for `partial`/`blocked`; fill every `<...>` placeholder (validators reject `<`/`>` in the entry id). Validators (`checkReturnMessageFormat`, `checkReturnFormat`, `validateReturnMessage`) still accept the legacy one-liner `"[Type] <complete|partial|blocked>. Manifest appended to pipeline_manifest."`.
|
|
183
189
|
|
|
184
190
|
> Detailed spawn workflow, manual protocol injection, skill dispatch matrix: `references/orchestrator-spawning.md`
|
|
185
191
|
|
|
@@ -1,21 +1,33 @@
|
|
|
1
1
|
# Subagent Protocol Block
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Include this block in EVERY subagent prompt spawned via Task tool. It matches the
|
|
4
|
+
spawn prompt's Return Format Contract and Manifest Protocol blocks (T12521).
|
|
4
5
|
|
|
5
6
|
## Standard Protocol Block
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
````
|
|
8
9
|
## SUBAGENT PROTOCOL (RFC 2119 - MANDATORY)
|
|
9
10
|
|
|
10
|
-
OUTPUT
|
|
11
|
-
1. MUST record findings
|
|
12
|
-
2. MUST append ONE entry
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
11
|
+
OUTPUT:
|
|
12
|
+
1. MUST record findings: `cleo docs add {{TASK_ID}} --content - --type <kind> --slug {{TOPIC_SLUG}}`. Never a raw file under `.cleo/agent-outputs/`.
|
|
13
|
+
2. MUST append ONE entry to SQLite `pipeline_manifest` (ADR-027/T1093) and read it back:
|
|
14
|
+
ENTRY_ID=$(cleo manifest append --task {{TASK_ID}} --type <protocol> \
|
|
15
|
+
--content "<work, commits, gates>" --status completed \
|
|
16
|
+
--field /data/entryId) || exit 1
|
|
17
|
+
[ -n "$ENTRY_ID" ] || exit 1
|
|
18
|
+
cleo manifest show "$ENTRY_ID" >/dev/null || exit 1
|
|
19
|
+
`--status`: completed, partial or blocked (actual progress). Do not append again to verify.
|
|
20
|
+
3. MUST NOT return research content, findings, diffs or prose.
|
|
21
|
+
4. MUST return EXACTLY this block, nothing else:
|
|
22
|
+
<Type> <complete|partial|blocked>. manifest:<entryId>
|
|
23
|
+
commits: <sha7,sha7|none>
|
|
24
|
+
gates: <gate>=<pass|fail|skip> ...
|
|
25
|
+
blocker: <≤12 words|none>
|
|
26
|
+
blocker: none when complete; required when partial/blocked.
|
|
27
|
+
Append or readback failed → `<Type> blocked. manifest:none` + `blocker: manifest append failed`. Never claim an entry you did not read back.
|
|
28
|
+
|
|
29
|
+
HITL: never ask the human. Return `<Type> blocked. manifest:<entryId>` + blocker: with {question, options[{label,description}], recommended} in the manifest; the orchestrator asks via the ask tool.
|
|
30
|
+
````
|
|
19
31
|
|
|
20
32
|
## Usage
|
|
21
33
|
|
|
@@ -28,15 +40,11 @@ When spawning a subagent via Task tool:
|
|
|
28
40
|
|
|
29
41
|
## Example Subagent Prompt
|
|
30
42
|
|
|
31
|
-
|
|
43
|
+
````
|
|
32
44
|
You are the {ROLE} subagent. Your job is to complete CLEO task {TASK_ID}.
|
|
33
45
|
|
|
34
46
|
## SUBAGENT PROTOCOL (RFC 2119 - MANDATORY)
|
|
35
|
-
|
|
36
|
-
1. MUST record findings with `cleo docs add {{TASK_ID}} --content - --type <kind> --slug {{TOPIC_SLUG}}` (never a raw file under `.cleo/agent-outputs/`)
|
|
37
|
-
2. MUST append ONE entry via `cleo manifest append --entry '<json>'` (writes to pipeline_manifest table per ADR-027/T1093)
|
|
38
|
-
3. MUST return ONLY: "Research complete. Manifest appended to pipeline_manifest."
|
|
39
|
-
4. MUST NOT return research content in response.
|
|
47
|
+
<Standard Protocol Block above, with {{TASK_ID}} and --type filled in>
|
|
40
48
|
|
|
41
49
|
## CONTEXT
|
|
42
50
|
- Epic: {EPIC_ID} ({EPIC_TITLE})
|
|
@@ -50,17 +58,35 @@ OUTPUT REQUIREMENTS:
|
|
|
50
58
|
{DETAILED_INSTRUCTIONS}
|
|
51
59
|
|
|
52
60
|
BEGIN EXECUTION.
|
|
61
|
+
````
|
|
62
|
+
|
|
63
|
+
Example return:
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
Research complete. manifest:T1599-research-20260929
|
|
67
|
+
commits: none
|
|
68
|
+
gates: implemented=pass
|
|
69
|
+
blocker: none
|
|
53
70
|
```
|
|
54
71
|
|
|
55
|
-
## Manifest Entry
|
|
72
|
+
## Rich Manifest Entry
|
|
73
|
+
|
|
74
|
+
The shorthand above is preferred. The rich form is
|
|
75
|
+
`cleo manifest append --entry '<json>'`, captured and read back the same way
|
|
76
|
+
(`ENTRY_ID=$(cleo manifest append --entry '<json>' --field /data/entryId)`, same guard).
|
|
56
77
|
|
|
57
78
|
| Field | Type | Required | Description |
|
|
58
79
|
|-------|------|----------|-------------|
|
|
59
|
-
| id | string | Yes | Unique
|
|
60
|
-
|
|
|
61
|
-
|
|
|
62
|
-
|
|
|
63
|
-
| status | string | Yes |
|
|
64
|
-
|
|
|
80
|
+
| id | string | Yes | Unique id, e.g. `T1599-research-<YYYYMMDDHHMMSS>` |
|
|
81
|
+
| file | string | Yes | Output path |
|
|
82
|
+
| title | string | Yes | Headline, max 120 chars |
|
|
83
|
+
| date | string | Yes | `YYYY-MM-DD` |
|
|
84
|
+
| status | string | Yes | `completed`, `partial` or `blocked` |
|
|
85
|
+
| agent_type | string | Yes | Protocol type (`research`, `consensus`, ...) |
|
|
86
|
+
| topics | array | Yes | Topic tags |
|
|
87
|
+
| actionable | boolean | Yes | Needs follow-up action |
|
|
88
|
+
| key_findings | array | No | Summary points (max 5) |
|
|
65
89
|
| needs_followup | array | No | Task IDs requiring followup |
|
|
66
|
-
|
|
|
90
|
+
| linked_tasks | array | No | Task IDs; the first becomes the manifest task id |
|
|
91
|
+
|
|
92
|
+
Missing required fields → `E_VALIDATION_FAILED`. Link tasks via `linked_tasks[]`, not `task_id`.
|
|
@@ -16,9 +16,18 @@ echo "$prompt" | grep -q "SUBAGENT PROTOCOL" || echo "ERROR: Missing protocol bl
|
|
|
16
16
|
|
|
17
17
|
### MUST Validate Return Messages
|
|
18
18
|
|
|
19
|
-
Only accept these return message formats from subagents:
|
|
19
|
+
Only accept these return message formats from subagents. The compressed block (T12521) is what spawn prompts ask for:
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
```
|
|
22
|
+
Research <complete|partial|blocked>. manifest:<entryId>
|
|
23
|
+
commits: <sha7,sha7|none>
|
|
24
|
+
gates: <gate>=<pass|fail|skip> ...
|
|
25
|
+
blocker: <≤12 words|none>
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Line 1 is required; `commits:`, `gates:` and `blocker:` may each appear once, and `blocker` is not `none` only for `partial`/`blocked`. The legacy one-liner stays valid:
|
|
29
|
+
|
|
30
|
+
| Status | Legacy Return Message |
|
|
22
31
|
|--------|---------------------|
|
|
23
32
|
| Complete | "Research complete. Manifest appended to pipeline_manifest." |
|
|
24
33
|
| Partial | "Research partial. Manifest appended to pipeline_manifest." |
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ct-task-executor
|
|
3
3
|
description: General implementation task execution for completing assigned CLEO tasks by following instructions and producing concrete deliverables. Handles coding, configuration, documentation work with quality verification against acceptance criteria and progress reporting. Use when executing implementation tasks, completing assigned work, or producing task deliverables. Triggers on implementation tasks, general execution needs, or task completion work.
|
|
4
|
-
version: 2.7.
|
|
4
|
+
version: 2.7.6
|
|
5
5
|
protocol: implementation
|
|
6
6
|
adrRefs:
|
|
7
7
|
- ADR-070
|
|
@@ -17,7 +17,7 @@ compatibility:
|
|
|
17
17
|
- gemini-cli
|
|
18
18
|
license: MIT
|
|
19
19
|
metadata:
|
|
20
|
-
version: 2.7.
|
|
20
|
+
version: 2.7.6
|
|
21
21
|
tier: core
|
|
22
22
|
install: harness
|
|
23
23
|
covers:
|
|
@@ -163,7 +163,7 @@ The routing prints a one-line info message to stderr (suppress with
|
|
|
163
163
|
|
|
164
164
|
1. MUST record findings with `cleo docs add {{TASK_ID}} --content - --type note --slug {{TOPIC_SLUG}}` (never a raw file under `.cleo/agent-outputs/`)
|
|
165
165
|
2. MUST record ONE manifest entry: `cleo manifest append --entry '<entry JSON>'` (the flat manifest file is retired, ADR-027)
|
|
166
|
-
3. MUST return ONLY: "Implementation complete. Manifest appended to pipeline_manifest."
|
|
166
|
+
3. MUST return ONLY the compressed block: `Implementation complete. manifest:<entryId>` then `commits:`, `gates:` and `blocker: none` lines (T12521; the legacy one-liner "Implementation complete. Manifest appended to pipeline_manifest." is still accepted)
|
|
167
167
|
4. MUST NOT return implementation details in response
|
|
168
168
|
|
|
169
169
|
---
|
|
@@ -261,7 +261,7 @@ If all deliverables cannot be produced:
|
|
|
261
261
|
3. Set manifest `"status": "partial"`
|
|
262
262
|
4. Add blocking items to `needs_followup`
|
|
263
263
|
5. Complete task (partial work is progress)
|
|
264
|
-
6. Return
|
|
264
|
+
6. Return the compressed block with `Implementation partial. manifest:<entryId>` and a `blocker:` line (≤12 words)
|
|
265
265
|
|
|
266
266
|
### Blocked Execution
|
|
267
267
|
|
|
@@ -271,7 +271,7 @@ If work cannot proceed (missing dependencies, access issues, unclear requirement
|
|
|
271
271
|
2. Set manifest `"status": "blocked"`
|
|
272
272
|
3. Add blocker details to `needs_followup`
|
|
273
273
|
4. Do NOT complete task
|
|
274
|
-
5. Return
|
|
274
|
+
5. Return the compressed block with `Implementation blocked. manifest:<entryId>` and a `blocker:` line (≤12 words)
|
|
275
275
|
|
|
276
276
|
### Acceptance Criteria Failure
|
|
277
277
|
|
package/skills/manifest.json
CHANGED
|
@@ -983,7 +983,7 @@
|
|
|
983
983
|
},
|
|
984
984
|
{
|
|
985
985
|
"name": "ct-orchestrator",
|
|
986
|
-
"version": "4.0.
|
|
986
|
+
"version": "4.0.7",
|
|
987
987
|
"description": "Pipeline-aware orchestration skill for managing complex workflows through subagent delegation. Use when the user asks to \\\"orchestrate\\\", \\\"orchestrator mode\\\", \\\"run as orchestrator\\\", \\\"delegate to subagents\\\", \\\"coordinate agents\\\", \\\"spawn subagents\\\", \\\"multi-agent workflow\\\", \\\"context-protected workflow\\\", \\\"agent farm\\\", \\\"HITL orchestration\\\", \\\"pipeline management\\\", or needs to manage complex workflows by delegating work to subagents while protecting the main context window. Enforces ORC-001 through ORC-009 constraints. Provider-neutral — works with any AI agent runtime.",
|
|
988
988
|
"path": "skills/ct-orchestrator",
|
|
989
989
|
"tier": 0,
|
|
@@ -1472,7 +1472,7 @@
|
|
|
1472
1472
|
},
|
|
1473
1473
|
{
|
|
1474
1474
|
"name": "ct-task-executor",
|
|
1475
|
-
"version": "2.7.
|
|
1475
|
+
"version": "2.7.6",
|
|
1476
1476
|
"description": "General implementation task execution for completing assigned CLEO tasks by following instructions and producing concrete deliverables. Handles coding, configuration, documentation work with quality verification against acceptance criteria and progress reporting. Use when executing implementation tasks, completing assigned work, or producing task deliverables. Triggers on implementation tasks, general execution needs, or task completion work.",
|
|
1477
1477
|
"path": "skills/ct-task-executor",
|
|
1478
1478
|
"tier": 0,
|