@cleocode/skills 2026.9.24 → 2026.9.26
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/_shared/subagent-protocol-base.md +1 -1
- package/skills/_shared/task-system-integration.md +1 -1
- package/skills/ct-cleo/SKILL.md +8 -8
- package/skills/ct-cleo/references/anti-patterns.md +1 -1
- package/skills/ct-dev-workflow/SKILL.md +8 -4
- package/skills/ct-documentor/SKILL.md +7 -4
- package/skills/ct-epic-architect/SKILL.md +4 -4
- package/skills/ct-lead/SKILL.md +5 -2
- 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 +7 -7
package/package.json
CHANGED
|
@@ -221,5 +221,5 @@ If work cannot proceed:
|
|
|
221
221
|
| Returning full content | Bloats orchestrator context | Return only summary message |
|
|
222
222
|
| Manual JSONL append | No validation, race conditions | Use `cleo research add` |
|
|
223
223
|
| Missing manifest entry | Orchestrator can't find findings | Always create manifest entry |
|
|
224
|
-
| Skipping task start | Protocol violation | Always `cleo start` before work |
|
|
224
|
+
| Skipping task start | Protocol violation | Always `cleo start` before work. If `cleo start` fails with `E_SESSION_UNBOUND` (spawned workers and subagents are already bound), run `cleo session start --scope global --name "<name>"` or `cleo session resume <id>` first. |
|
|
225
225
|
| Incomplete checklist | Protocol violation | Verify all items before return |
|
|
@@ -25,7 +25,7 @@ Skills and templates SHOULD reference this file instead of hardcoding CLEO comma
|
|
|
25
25
|
|
|
26
26
|
**Purpose**: Mark task as active/in-progress.
|
|
27
27
|
|
|
28
|
-
**CLEO Default**: `cleo start {{TASK_ID}}`
|
|
28
|
+
**CLEO Default**: `cleo start {{TASK_ID}}`. If `cleo start` fails with `E_SESSION_UNBOUND` (spawned workers and subagents are already bound), run `cleo session start --scope global --name "<name>"` or `cleo session resume <id>` first.
|
|
29
29
|
|
|
30
30
|
### Complete Task
|
|
31
31
|
|
package/skills/ct-cleo/SKILL.md
CHANGED
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
name: ct-cleo
|
|
3
3
|
description: CLEO task management protocol - session, task, and workflow guidance. Use when managing tasks, sessions, or multi-agent workflows with the CLEO CLI protocol.
|
|
4
4
|
metadata:
|
|
5
|
-
version: 2.24.
|
|
5
|
+
version: 2.24.3
|
|
6
6
|
tier: core
|
|
7
7
|
install: harness
|
|
8
8
|
covers:
|
|
9
9
|
- packages/cleo/src/cli/commands/session.ts
|
|
10
10
|
- packages/cleo/src/cli/commands/focus.ts
|
|
11
11
|
- packages/cleo/src/cli/commands/sticky.ts
|
|
12
|
-
lastReviewed: 2026-09-
|
|
12
|
+
lastReviewed: 2026-09-30
|
|
13
13
|
stability: stable
|
|
14
14
|
---
|
|
15
15
|
|
|
@@ -124,13 +124,13 @@ Code-graph answers (`cleo nexus impact`, `context`, `full-context`, `why`, `sear
|
|
|
124
124
|
|
|
125
125
|
## Sessions are terminal-bound (T12500)
|
|
126
126
|
|
|
127
|
-
`cleo session start` binds the calling agent process (`CLAUDE_CODE_SESSION_ID`,
|
|
128
|
-
|
|
129
|
-
|
|
127
|
+
`cleo session start` binds the calling agent process (`CLAUDE_CODE_SESSION_ID`, `CODEX_THREAD_ID`, …), pane (`TMUX_PANE`, …), tab (`TERM_SESSION_ID`, …), CI job (`GITHUB_RUN_ID`+`GITHUB_RUN_ATTEMPT`+`GITHUB_JOB`, `CI_JOB_ID`) or ssh login tty (`SSH_TTY`+`SSH_CONNECTION`).
|
|
128
|
+
With no provider key it also walks the process tree (T12864): a known single-agent harness (Kimi, aider, amp, cursor-agent, … — past its per-call `bash -c` shells) or an interactive / script shell becomes the identity, so `session start` then `cleo start` in separate `bash -c` calls share one session; a harness below a human's tab / pane, an ssh login or a CI job gets its own, more specific key, so it must run `cleo session start` itself.
|
|
129
|
+
Any other host (a node / python orchestrator, an IDE extension host, a daemon, anything under pid 1) identifies nobody and keeps the single-session guard: multi-agent hosts and multi-step scripts must set `CLEO_SESSION_ID` (or `CLEO_AGENT_ID`, only in a long-lived host process: under a short-lived one such as `make` the key changes per call) per agent.
|
|
130
|
+
Session mutations from an unbound caller fail with `E_SESSION_UNBOUND` instead of
|
|
130
131
|
guessing the newest session; bind with `cleo session start`, `cleo session resume
|
|
131
|
-
<id>` or `CLEO_SESSION_ID=<id>`, or name the target with `--session <id>`.
|
|
132
|
-
|
|
133
|
-
stderr; `session status` / `briefing` label a guessed session `unbound: true`.
|
|
132
|
+
<id>` or `CLEO_SESSION_ID=<id>`, or name the target with `--session <id>`. Separate one-shot `ssh host 'cleo …'` calls are separate callers: export `CLEO_SESSION_ID` there.
|
|
133
|
+
Unattributed mutations warn on stderr; `session status` / `briefing` label a guessed session `unbound: true`.
|
|
134
134
|
|
|
135
135
|
- A session a human started in a tab is adopted by Claude Code in that tab
|
|
136
136
|
(also after a Claude restart). An adopter works in it but cannot end it without
|
|
@@ -16,4 +16,4 @@
|
|
|
16
16
|
| Returning content | Context bloat | Return only summary message |
|
|
17
17
|
| Pretty-printed JSON | Invalid manifest | Single-line JSON |
|
|
18
18
|
| Loading skills via `@` | Cannot resolve | Skills injected by orchestrator |
|
|
19
|
-
| Skipping task start | Protocol violation | Always `cleo start` first |
|
|
19
|
+
| Skipping task start | Protocol violation | Always `cleo start` first. If `cleo start` fails with `E_SESSION_UNBOUND` (spawned workers and subagents are already bound), run `cleo session start --scope global --name "<name>"` or `cleo session resume <id>` first. |
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ct-dev-workflow
|
|
3
3
|
description: Development workflow orchestration for task-driven development with atomic commits, conventional commit messages, and systematic release processes. Enforces task traceability, branch discipline, smart test scope selection, and GitHub Actions integration. Use when committing code, creating releases, managing branches, or following contribution protocols. Triggers on commit operations, release preparation, or workflow compliance needs.
|
|
4
|
-
version: 3.1.
|
|
4
|
+
version: 3.1.5
|
|
5
5
|
protocol: contribution
|
|
6
6
|
dependencies: []
|
|
7
7
|
sharedResources:
|
|
@@ -14,12 +14,12 @@ compatibility:
|
|
|
14
14
|
- gemini-cli
|
|
15
15
|
license: MIT
|
|
16
16
|
metadata:
|
|
17
|
-
version: 3.1.
|
|
17
|
+
version: 3.1.5
|
|
18
18
|
tier: core
|
|
19
19
|
install: harness
|
|
20
20
|
covers:
|
|
21
21
|
- .github/workflows/release-prepare.yml
|
|
22
|
-
lastReviewed: 2026-09-
|
|
22
|
+
lastReviewed: 2026-09-30
|
|
23
23
|
stability: stable
|
|
24
24
|
---
|
|
25
25
|
|
|
@@ -80,6 +80,10 @@ cleo current
|
|
|
80
80
|
cleo find "relevant query"
|
|
81
81
|
cleo add "Task title" --description "What you're doing" --parent T001
|
|
82
82
|
cleo start T123
|
|
83
|
+
# 3. If 'cleo start' fails with E_SESSION_UNBOUND (spawned workers and
|
|
84
|
+
# subagents are already bound), bind first, then retry:
|
|
85
|
+
# cleo session start --scope global --name "<what you are doing>"
|
|
86
|
+
# (or: cleo session resume <id>)
|
|
83
87
|
```
|
|
84
88
|
|
|
85
89
|
### Commit Message Format
|
|
@@ -329,7 +333,7 @@ head SHA is green: `gh pr merge <n> --admin --merge` — see
|
|
|
329
333
|
```bash
|
|
330
334
|
# Task lifecycle
|
|
331
335
|
cleo current # Current task
|
|
332
|
-
cleo start T123 # Start task
|
|
336
|
+
cleo start T123 # Start task (on E_SESSION_UNBOUND: bind a session, see above)
|
|
333
337
|
cleo complete T123 # Mark done
|
|
334
338
|
|
|
335
339
|
# Find existing work
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ct-documentor
|
|
3
3
|
description: Documentation coordinator with CLEO style guide compliance. Routes every canonical-doc write (spec, adr, research, handoff, note, llm-readme) through the docs SSoT via `cleo docs add` / `cleo docs publish` / `cleo docs fetch` — never raw filesystem writes. Carries the CLEO writing and review guides as references and coordinates ct-spec-writer and ct-adr-recorder. Use when creating or updating documentation files, consolidating scattered documentation, or validating documentation against style standards. Triggers on documentation tasks, doc update requests, or style guide compliance checks.
|
|
4
|
-
version: 3.17.
|
|
4
|
+
version: 3.17.4
|
|
5
5
|
protocol: null
|
|
6
6
|
dependencies:
|
|
7
7
|
- ct-spec-writer
|
|
@@ -16,13 +16,13 @@ compatibility:
|
|
|
16
16
|
- gemini-cli
|
|
17
17
|
license: MIT
|
|
18
18
|
metadata:
|
|
19
|
-
version: 3.17.
|
|
19
|
+
version: 3.17.4
|
|
20
20
|
tier: core
|
|
21
21
|
install: harness
|
|
22
22
|
covers:
|
|
23
23
|
- packages/cleo/src/cli/commands/docs.ts
|
|
24
24
|
- packages/contracts/src/docs-taxonomy.ts
|
|
25
|
-
lastReviewed: 2026-09-
|
|
25
|
+
lastReviewed: 2026-09-30
|
|
26
26
|
stability: stable
|
|
27
27
|
---
|
|
28
28
|
|
|
@@ -851,7 +851,10 @@ Before completing, verify:
|
|
|
851
851
|
# 1. Read task details
|
|
852
852
|
cleo show {TASK_ID}
|
|
853
853
|
|
|
854
|
-
# 2. Start task
|
|
854
|
+
# 2. Start task. If it fails with E_SESSION_UNBOUND (spawned workers and
|
|
855
|
+
# subagents are already bound), run
|
|
856
|
+
# 'cleo session start --scope global --name "<what you are doing>"'
|
|
857
|
+
# or 'cleo session resume <id>' first, then retry.
|
|
855
858
|
cleo start {TASK_ID}
|
|
856
859
|
|
|
857
860
|
# 3. Execute documentation workflow (phases 1-4)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ct-epic-architect
|
|
3
3
|
description: Epic planning and task decomposition for breaking down large initiatives into atomic, executable tasks. Provides dependency analysis, wave-based parallel execution planning, hierarchy management, and research linking. Use when creating epics, decomposing initiatives into task trees, planning parallel workflows, or analyzing task dependencies. Triggers on epic creation, task decomposition requests, or planning phase work.
|
|
4
|
-
version: 3.0.
|
|
4
|
+
version: 3.0.4
|
|
5
5
|
protocol: decomposition
|
|
6
6
|
adrRefs:
|
|
7
7
|
- ADR-066
|
|
@@ -17,14 +17,14 @@ compatibility:
|
|
|
17
17
|
- gemini-cli
|
|
18
18
|
license: MIT
|
|
19
19
|
metadata:
|
|
20
|
-
version: 3.0.
|
|
20
|
+
version: 3.0.4
|
|
21
21
|
tier: on-demand
|
|
22
22
|
install: harness
|
|
23
23
|
covers:
|
|
24
24
|
- packages/core/src/validation/protocols/cant/decomposition.cant
|
|
25
25
|
- packages/core/src/validation/protocols/protocols-markdown/decomposition.md
|
|
26
26
|
loomStage: decomposition
|
|
27
|
-
lastReviewed: 2026-09-
|
|
27
|
+
lastReviewed: 2026-09-30
|
|
28
28
|
stability: stable
|
|
29
29
|
---
|
|
30
30
|
|
|
@@ -59,7 +59,7 @@ Context injection for epic planning and task decomposition tasks spawned via cle
|
|
|
59
59
|
### Execution Sequence
|
|
60
60
|
|
|
61
61
|
1. Read task: `cleo show {{TASK_ID}}`
|
|
62
|
-
2. Start task: `cleo start {{TASK_ID}}`
|
|
62
|
+
2. Start task: `cleo start {{TASK_ID}}`. If `cleo start` fails with `E_SESSION_UNBOUND` (spawned workers and subagents are already bound), run `cleo session start --scope global --name "<name>"` or `cleo session resume <id>` first.
|
|
63
63
|
3. Check existing work: `cleo find "keyword"`, `cleo list --type epic`
|
|
64
64
|
4. Create epic and child tasks
|
|
65
65
|
5. Attach files and link research
|
package/skills/ct-lead/SKILL.md
CHANGED
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
name: ct-lead
|
|
3
3
|
description: "Phase Lead orchestration playbook for spawning and supervising a parallel worker swarm in one wave. Use when spawned by ct-orchestrator with role=orchestrator to fan out N leaf workers via delegate_task, drain the epic-{TID}.wave-{n} conduit topic plus pipeline_manifest, await rollupWaveStatus convergence, and return ONE rolled-up contract string to the parent Orchestrator. Triggers: 'phase lead', 'wave lead', 'supervise wave', 'fan out workers', 'aggregate worker results', 'rollup wave', any task with role=orchestrator that is itself a child of another orchestrator. Implements ADR-070 hierarchical orchestration."
|
|
4
4
|
metadata:
|
|
5
|
-
version: 1.0.
|
|
5
|
+
version: 1.0.8
|
|
6
6
|
tier: core
|
|
7
7
|
install: harness
|
|
8
8
|
covers:
|
|
9
9
|
- packages/core/src/orchestration/lead-rollup.ts
|
|
10
10
|
- packages/core/src/orchestration/waves.ts
|
|
11
|
-
lastReviewed: 2026-09-
|
|
11
|
+
lastReviewed: 2026-09-30
|
|
12
12
|
stability: stable
|
|
13
13
|
---
|
|
14
14
|
|
|
@@ -69,6 +69,9 @@ cleo orchestrate ready "${EPIC}"
|
|
|
69
69
|
cleo orchestrate waves "${EPIC}"
|
|
70
70
|
```
|
|
71
71
|
|
|
72
|
+
Run these from the epic's project root (or a worktree of it): member order within
|
|
73
|
+
a wave uses the calling session's focus phase, resolved from that project (T12501).
|
|
74
|
+
|
|
72
75
|
### 2. Parallel Fanout (one batch)
|
|
73
76
|
|
|
74
77
|
Issue ONE `delegate_task` call with the full worker list. Each worker gets
|
|
@@ -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
|
@@ -226,7 +226,7 @@
|
|
|
226
226
|
},
|
|
227
227
|
{
|
|
228
228
|
"name": "ct-cleo",
|
|
229
|
-
"version": "2.24.
|
|
229
|
+
"version": "2.24.3",
|
|
230
230
|
"description": "CLEO task management protocol - session, task, and workflow guidance. Use when managing tasks, sessions, or multi-agent workflows with the CLEO CLI protocol.",
|
|
231
231
|
"path": "skills/ct-cleo",
|
|
232
232
|
"tier": 0,
|
|
@@ -566,7 +566,7 @@
|
|
|
566
566
|
},
|
|
567
567
|
{
|
|
568
568
|
"name": "ct-dev-workflow",
|
|
569
|
-
"version": "3.1.
|
|
569
|
+
"version": "3.1.5",
|
|
570
570
|
"description": "Development workflow orchestration for task-driven development with atomic commits, conventional commit messages, and systematic release processes. Enforces task traceability, branch discipline, smart test scope selection, and GitHub Actions integration. Use when committing code, creating releases, managing branches, or following contribution protocols. Triggers on commit operations, release preparation, or workflow compliance needs.",
|
|
571
571
|
"path": "skills/ct-dev-workflow",
|
|
572
572
|
"tier": 0,
|
|
@@ -642,7 +642,7 @@
|
|
|
642
642
|
},
|
|
643
643
|
{
|
|
644
644
|
"name": "ct-documentor",
|
|
645
|
-
"version": "3.17.
|
|
645
|
+
"version": "3.17.4",
|
|
646
646
|
"description": "Documentation coordinator with CLEO style guide compliance. Routes every canonical-doc write (spec, adr, research, handoff, note, llm-readme) through the docs SSoT via `cleo docs add` / `cleo docs publish` / `cleo docs fetch` — never raw filesystem writes. Carries the CLEO writing and review guides as references and coordinates ct-spec-writer and ct-adr-recorder. Use when creating or updating documentation files, consolidating scattered documentation, or validating documentation against style standards. Triggers on documentation tasks, doc update requests, or style guide compliance checks.",
|
|
647
647
|
"path": "skills/ct-documentor",
|
|
648
648
|
"tier": 0,
|
|
@@ -728,7 +728,7 @@
|
|
|
728
728
|
},
|
|
729
729
|
{
|
|
730
730
|
"name": "ct-epic-architect",
|
|
731
|
-
"version": "3.0.
|
|
731
|
+
"version": "3.0.4",
|
|
732
732
|
"description": "Epic planning and task decomposition for breaking down large initiatives into atomic, executable tasks. Provides dependency analysis, wave-based parallel execution planning, hierarchy management, and research linking. Use when creating epics, decomposing initiatives into task trees, planning parallel workflows, or analyzing task dependencies. Triggers on epic creation, task decomposition requests, or planning phase work.",
|
|
733
733
|
"path": "skills/ct-epic-architect",
|
|
734
734
|
"tier": 1,
|
|
@@ -965,7 +965,7 @@
|
|
|
965
965
|
},
|
|
966
966
|
{
|
|
967
967
|
"name": "ct-lead",
|
|
968
|
-
"version": "1.0.
|
|
968
|
+
"version": "1.0.8",
|
|
969
969
|
"description": "Phase Lead orchestration playbook for spawning and supervising a parallel worker swarm in one wave. Use when spawned by ct-orchestrator with role=orchestrator to fan out N leaf workers via delegate_task, drain the epic-{TID}.wave-{n} conduit topic plus pipeline_manifest, await rollupWaveStatus convergence, and return ONE rolled-up contract string to the parent Orchestrator. Triggers: 'phase lead', 'wave lead', 'supervise wave', 'fan out workers', 'aggregate worker results', 'rollup wave', any task with role=orchestrator that is itself a child of another orchestrator. Implements ADR-070 hierarchical orchestration.",
|
|
970
970
|
"path": "skills/ct-lead",
|
|
971
971
|
"tier": 0,
|
|
@@ -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,
|