@cleocode/skills 2026.9.8 → 2026.9.9

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cleocode/skills",
3
- "version": "2026.9.8",
3
+ "version": "2026.9.9",
4
4
  "description": "CLEO skill definitions - bundled with CLEO monorepo",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -2,13 +2,63 @@
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.6.0
6
- lastReviewed: 2026-05-27
5
+ version: 2.20.4
6
+ lastReviewed: 2026-09-20
7
7
  stability: stable
8
8
  ---
9
9
 
10
10
  # CLEO Protocol Guide
11
11
 
12
+ ## Trustworthy project knowledge
13
+
14
+ After confirming the assigned worktree, orient with briefing/focus. Check current
15
+ coverage and sourced authority before acting on retrieved guidance. `UNKNOWN`
16
+ impact is incomplete assessment; `NONE` is no detected impact in assessed static
17
+ coverage, never proof of no runtime callers. Resolve ambiguous symbols explicitly.
18
+ Preserve historical handoffs and follow sourced corrections separately.
19
+
20
+ Consume repair findings as a matrix of scope, evidence, responsibility, operation,
21
+ prerequisites, verification, and recovery. The calling agent supplies sourced resolutions; no background model is required. Escalate unresolved
22
+ owner decisions, reject stale proposals, verify postconditions, and record useful
23
+ incident learning with project/revision evidence. A failed diagnostic is not clean.
24
+ Provider reference delivery must be verified or embedded self-contained; static
25
+ instruction checks do not establish live Codex, Claude, or Kimi behavior.
26
+
27
+
28
+ ## Guarded knowledge repair
29
+
30
+ Use `cleo doctor knowledge --dry-run` to inspect findings and sourced proposals.
31
+ Persist reviewed JSON with `cleo doctor knowledge --prepare proposal.json --actor AGENT`.
32
+ Discover retained jobs with `--jobs --actor AGENT`; continue with `--limit` and returned
33
+ JSON `--cursor`. Follow each `inspectArgv`; never guess the latest job. Partial diagnostics
34
+ remain unresolved, and job status alone does not verify current effects.
35
+ For job operations, supply the original explicit actor and proposal ID:
36
+ `cleo doctor knowledge --apply JOB --actor AGENT --proposal-id PROPOSAL`;
37
+ replace `--apply` with `--inspect`, `--cancel`, or `--resume` for that operation.
38
+ Inspection returns original receipts, separate rollback corrections, diagnostic
39
+ failures, and a paged append-only ledger; use `--limit` and `--offset` until covered.
40
+ Never copy a stored actor merely to bypass `E_REPAIR_ACTOR`.
41
+
42
+ Each invocation shares one two-second default budget across assessment, preparation,
43
+ locks, application and verification (`--budget-ms` permits an explicit override).
44
+ A later explicit apply/resume starts a new bounded attempt; it does not renew an
45
+ expired attempt or bypass immutable resource checks. Synchronous SQLite is cooperative,
46
+ not timer-preemptible. On failure, retain any `prepared` job and `attemptFailure`
47
+ including pending finalization. Cancellation requests do not reverse committed effects.
48
+ Resume retains failed/cancelled outcomes and uncertain expired-running history;
49
+ live owners cannot be stolen and completed effects are not reapplied.
50
+ After rollback, apply/resume reject with `E_REPAIR_ROLLED_BACK`; inspect
51
+ `recoveryState` for the original historical receipt and separate rollback receipt.
52
+
53
+ Recover via `cleo doctor knowledge --rollback RECEIPT --actor AGENT --proposal-id NEW_ID`.
54
+ Inspect both receipts. Versioned quarantine recovery restores only `invalid_at`, preserving
55
+ validated paired citation-count/timestamp usage; protected edits conflict. Legacy receipts
56
+ require exact images. Recovery records actual before/after images, not byte restoration
57
+ of old usage. Prepared rollback still guards the full current image; later reads require
58
+ fresh preparation. Unrelated changes survive. Stale proposals need reassessment. `--resolve FILE`
59
+ applies reviewed input through the same lifecycle; `--fix --actor AGENT` handles bounded
60
+ confirmed stubs. `cleo doctor repair` retains its separate database-recovery semantics.
61
+
12
62
  <!-- thin-pointer: full protocol is in CLEO-INJECTION.md (T9148) -->
13
63
  Full protocol content lives in `~/.cleo/templates/CLEO-INJECTION.md`.
14
64
  Emit any section with: `cleo briefing inject --section <name>`
@@ -18,6 +68,14 @@ Supported sections: `session-start` · `work-loop` · `triggers` · `task-creati
18
68
  · `orchestration` · `playbooks` · `documents` · `error-handling` · `pre-complete-gate`
19
69
  · `spawn-tiers` · `rules` · `memory-jit` · `escalation`
20
70
 
71
+ Task find defaults to lexical query terms. Fuzzy character-subsequence matching requires `--fuzzy`; inspect per-row `match.kind` and `match.fields` before inferring related work. `--in` restricts the source field. Matching mode and fuzzy field explanations survive scalar/human output on stderr. Semantic retrieval remains separately identified.
72
+
73
+ Compact SDK list/find records also carry `_withheld`: omission names and original UTF-8 sizes are recorded before fields are discarded, then retained through later CLI projections. Use full records to inspect those values; absence is not emptiness.
74
+
75
+ List/find expose `data.population` with matched and returned counts, truncation, pagination, and archive eligibility. Count output equals emitted rows; use `--all` or `--limit 0` to enumerate all matches, and `--include-archive` to include archives under the same filters. Scalar/ID/table/summary modes preserve population facts on stderr. Do not treat a page as complete.
76
+
77
+ Use `cleo backup inspect <snapshot> --record-id <id>` for read-only historical evidence; scoped absence or unknown provenance is not recovery authority.
78
+
21
79
  ## Quick Reference
22
80
 
23
81
  | Need | Command |
@@ -37,12 +95,74 @@ Supported sections: `session-start` · `work-loop` · `triggers` · `task-creati
37
95
  | Read a doc | `cleo docs fetch <slug>` |
38
96
  | Browse docs | `cleo docs list --task T###` |
39
97
 
98
+ ## Document projection outcomes
99
+
100
+ `cleo docs add` preserves accepted canonical bytes when optional graph or sourced
101
+ observation work fails. Read `data.projection` for captured project identity,
102
+ coverage, diagnostics, deadline, and any durable job or verification receipt.
103
+ `pending` can mean a write outcome is still unresolved; retain the job reference
104
+ and inspect it before explicit resume. Repeating the add is not a recovery step.
105
+ The original two-second maintenance budget covers preparation through verification;
106
+ timer expiry does not preempt synchronous SQLite work.
107
+
108
+ Verify storage with `cleo docs fetch <slug>` and its JSON `data.bytesBase64` plus
109
+ `data.metadata.sha256`. Keep canonical storage success, optional projection
110
+ verification, and installed-provider workflow verification as separate evidence.
111
+
112
+ ## Acceptance input and historical evidence
113
+
114
+ Add, update, batch, and saga creation share one acceptance-input boundary. Pass
115
+ arrays of strings in JSON parameters; `--acceptance` also accepts a JSON array
116
+ string or the documented pipe-delimited form. Array entries keep literal pipes
117
+ and quoted unions. Strings are trimmed and blank strings omitted; nonstring
118
+ entries and malformed explicit JSON arrays reject the whole mutation. Bracketed
119
+ prose and the existing delimiter escaping rules retain their interpretation.
120
+
121
+ On update, an explicit `[]` (including an all-blank string array) requests a clear;
122
+ omitting acceptance leaves it unchanged. Policy and immutability checks apply to
123
+ normalized criteria, and a locked change still requires `--reason`. Fresh reads
124
+ retain an empty acceptance array. Malformed stored criteria produce a diagnostic;
125
+ valid historical strings and structured gates are preserved without normalization.
126
+ Do not infer historical splits from pipes alone: repairs need original input or
127
+ explicit provenance, a snapshot, and a guarded receipt.
128
+
129
+ ## Task controls and committed evidence
130
+
131
+ Explicit `critical` priority on add/update requires a dependency or a nonempty
132
+ `--depends-waiver`; updates check the resulting dependency set. CLI flags, JSON
133
+ params, and SDK calls share this policy. Explicit severity changes use the
134
+ project's signing identity: a nonempty `ownerPubkeys` allowlist restricts signers;
135
+ an absent or empty list keeps the existing opt-in policy. Unreadable or malformed
136
+ authority is an explicit configuration failure. Committed severity,
137
+ duplicate-bypass, and dependency-waiver evidence lives in the task transaction
138
+ audit. Historical filesystem attestations alone do not prove a task committed.
139
+ Dry-run creates no committed attestation; failed writes leave no committed receipt.
140
+
141
+ ## Read completeness before editing
142
+
143
+ Use `cleo show <id> --full` to inspect task fields before editing them. Compact
144
+ records name every omitted field in `_withheld`, including empty or null values;
145
+ the size is UTF-8 content bytes for strings and serialized JSON bytes otherwise.
146
+ Repeated projection retains earlier omissions. A record without `_withheld` is
147
+ complete at the record projection boundary; an envelope can separately report
148
+ omitted records or fields. Never overwrite a field because a compact read omitted it.
149
+
150
+ Coverage, failure diagnostics, authority corrections, and pending repair facts
151
+ survive budgeting before examples. Read operations reject budgets too small for
152
+ mandatory facts; request a narrower scope or a larger budget. Internal mutation
153
+ budgets that cannot hold the minimum envelope reject before execution. If a
154
+ successful mutation's actual receipt exceeds a viable budget, success and the
155
+ complete receipt are preserved with `_budgetEnforcement.withinBudget: false`.
156
+ Inspect the receipt before retrying; overflow is not rollback or clean coverage.
157
+ This internal budget contract does not add a `--token-budget` flag to add/update.
158
+
40
159
  ## Skill-Specific Extensions
41
160
 
42
161
  - Task hierarchy, Saga commands, add-batch decomposition, docs policy, and CLI output details live in CLEO-INJECTION.md; emit `task-creation`, `documents`, and `pre-complete-gate` when needed.
43
162
  - For add-batch input, The top-level JSON MUST be an array of task objects, not an object wrapper like `{ "tasks": [...] }`.
44
163
  - Dry-run count semantics: `/data/count` and `/data/wouldCreate` predict writes; `/data/insertedCount` must be `0` for dry-run.
45
- - Mutation output paths: use `/data/created/0`, `/data/updated/0`, and `/data/deleted/0`; never parse legacy full records.
164
+ - Mutation output paths: use `/data/created/0`, `/data/updated/0`, and `/data/deleted/0`; never parse legacy full records. `--output id` emits affected IDs once in created/updated/deleted order from these canonical arrays.
165
+ - `cleo delete <id>` soft-archives the task. `--cascade` explicitly archives descendants; `--force` alone orphans and preserves children and permits dependents. Parents with children require one of these controls. Read `deleted[]` (or `--output id`) for all archived IDs, including cascade descendants.
46
166
  - Docs path policy and strict preflight: keep docs repo-relative. Do not pass arbitrary external absolute paths. The canonical six-verb docs path is **add, update, fetch, list, remove, publish** (T10516). Use `cleo docs list` for discovery; `cleo docs list-types` (ADVANCED) and `DocKindRegistry` resolve runtime kinds when `list` is insufficient.
47
167
 
48
168
  ### Task Relationship Systems — depends, blockedBy, relates
@@ -257,3 +377,7 @@ cite decisions by durable BRAIN decision IDs.
257
377
  **Migration rule:** When you encounter a decision ONLY in a markdown ledger
258
378
  (`.cleo/adrs/`, `.cleo/agent-outputs/`), store it in the BRAIN with
259
379
  `cleo memory store --type decision` and cite the BRAIN ID going forward.
380
+
381
+ ## Evidence must prove task criteria
382
+
383
+ Merged PRs and passing CI are provenance. Implementation requires changed artifacts related to the task; testing and review require their own actual results. For tasks with canonical criteria, append explicit links such as `satisfies:T1234#AC1` to each relevant gate's evidence. Fetch the PR merge commit so artifact hashes can be inspected. A changed criterion invalidates its recorded proof. Completing a child preserves an open parent whose own criteria remain unproven; child waivers never transfer to parent criteria.
@@ -54,8 +54,9 @@ describe('CLEO-INJECTION.md — required section markers', () => {
54
54
  expect(injectionContent).toMatch(/^## Escalation/m);
55
55
  });
56
56
 
57
- it('contains "Session Start" H2 section', () => {
58
- expect(injectionContent).toMatch(/^## Session Start/m);
57
+ it('contains the universal evidence and repair protocol', () => {
58
+ expect(injectionContent).toMatch(/^## Universal protocol/m);
59
+ for (const rule of ['**Orient.**', '**Check authority and coverage.**', '**Inspect evidence.**', '**Act.**', '**Verify.**', '**Learn.**']) expect(injectionContent).toContain(rule);
59
60
  });
60
61
 
61
62
  it('contains "Work Loop" H2 section', () => {
@@ -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.0.0
4
+ version: 3.1.0
5
5
  tier: 2
6
6
  core: false
7
7
  category: specialist
@@ -16,10 +16,21 @@ compatibility:
16
16
  - windsurf
17
17
  - gemini-cli
18
18
  license: MIT
19
+ metadata:
20
+ version: 3.1.0
21
+ lastReviewed: 2026-09-18
22
+ stability: stable
19
23
  ---
20
24
 
21
25
  # Development Workflow Context Injection
22
26
 
27
+ Before editing, inspect focus/briefing authority and coverage. Missing evidence
28
+ means UNKNOWN impact; current static coverage does not prove every runtime caller.
29
+ Task start, verification, completion, and handoff expose assessed coverage. Preserve
30
+ these limitations in PR and handoff claims, and recheck after source changes.
31
+ Use the repair matrix and sourced foreground resolutions; verify postconditions
32
+ and retain receipt recovery. Record actionable learning rather than empty traces.
33
+
23
34
  **Protocol**: @src/protocols/contribution.md
24
35
  **Type**: Context Injection (cleo-subagent)
25
36
  **Version**: 3.0.0
@@ -1,14 +1,14 @@
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. Coordinates ct-docs-lookup, ct-docs-write, ct-docs-review, 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.15.0
4
+ version: 3.16.0
5
5
  tier: 3
6
6
  core: false
7
7
  category: specialist
8
8
  protocol: null
9
9
  metadata:
10
- version: 3.15.0
11
- lastReviewed: 2026-05-27
10
+ version: 3.16.0
11
+ lastReviewed: 2026-09-19
12
12
  stability: stable
13
13
  dependencies:
14
14
  - ct-docs-lookup
@@ -62,6 +62,27 @@ legacy discovery verbs only when `list` is insufficient.
62
62
 
63
63
  ---
64
64
 
65
+ ## Verify document storage and optional projections separately
66
+
67
+ After `cleo docs add`, retain the canonical attachment ID and SHA-256, then use
68
+ `cleo docs fetch <slug>` to verify the accepted bytes. For exact-byte checks,
69
+ decode `data.bytesBase64` from the JSON response and compare its digest with
70
+ `data.metadata.sha256`; rendered content can add a trailing newline.
71
+
72
+ The add result's `projection` reports captured project identity/root, coverage,
73
+ diagnostics, the original deadline, and any durable `jobId` or verified receipt.
74
+ A successful document write can coexist with failed or pending graph/observation
75
+ work. Preserve those diagnostics and references in the handoff. Missing identity
76
+ means missing projection coverage; it does not authorize guessing a project.
77
+
78
+ Optional projection work shares a two-second foreground budget across identity
79
+ capture, preparation, locking, execution, and verification. Deadline expiry ends
80
+ foreground observation; synchronous database work is not preempted by a timer.
81
+ If the outcome is unresolved, inspect the retained job and accepted attachment
82
+ before explicitly resuming. Do not repeat the add to simulate a retry or assume
83
+ that a lost worker reply means no write committed. A projection receipt verifies
84
+ its domain results; it is not an atomic receipt for all document side effects.
85
+
65
86
  ## Purpose
66
87
 
67
88
  Context injection for documentation tasks spawned via cleo-subagent. Orchestrates documentation workflows by coordinating specialized skills for lookup, writing, and review.
@@ -1,10 +1,31 @@
1
1
  ---
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
+ metadata:
5
+ version: 2.8.0
6
+ lastReviewed: 2026-09-19
7
+ stability: stable
4
8
  ---
5
9
 
6
10
  # Orchestrator Protocol
7
11
 
12
+ ## Trustworthy project knowledge
13
+
14
+ After confirming the assigned worktree, orient with briefing/focus. Check current
15
+ coverage and sourced authority before acting on retrieved guidance. `UNKNOWN`
16
+ impact is incomplete assessment; `NONE` is no detected impact in assessed static
17
+ coverage, never proof of no runtime callers. Resolve ambiguous symbols explicitly.
18
+ Preserve historical handoffs and follow sourced corrections separately.
19
+
20
+ Consume repair findings as a matrix of scope, evidence, responsibility, operation,
21
+ prerequisites, verification, and recovery. The foreground calling agent supplies
22
+ sourced resolutions; repair never requires a background model. Escalate unresolved
23
+ owner decisions, reject stale proposals, verify postconditions, and record useful
24
+ incident learning with project/revision evidence. A failed diagnostic is not clean.
25
+ Provider reference delivery must be verified or embedded self-contained; static
26
+ instruction checks do not establish live Codex, Claude, or Kimi behavior.
27
+
28
+
8
29
  > **The Mantra**: *Stay high-level. Never code directly. Delegate everything. Read only manifests. Spawn in wave order. Respect the pipeline.*
9
30
 
10
31
  You are the **Orchestrator** — a conductor, never a musician. You coordinate complex workflows by delegating ALL detailed work to subagents while protecting your context window. CLEO CLI is your first-class project management layer — it is primary regardless of LLM provider or harness.
@@ -138,7 +159,9 @@ Agent({
138
159
 
139
160
  ### Valid Return Messages
140
161
 
141
- Subagents MUST return exactly one of:
162
+ Capture exactly one `cleo manifest append` receipt (shorthand OR rich entry). Verify that same receipt has `success: true`, `data.appended: true`, and a nonempty `entryId`, then read it with `cleo manifest show <entryId>`. Never append again merely to capture or verify the receipt. On append or readback failure, report the failure; do not claim "Manifest appended". Static prompt checks do not prove storage or provider workflow success.
163
+
164
+ After successful verification, subagents MUST return exactly one of:
142
165
  - `"[Type] complete. Manifest appended to pipeline_manifest."`
143
166
  - `"[Type] partial. Manifest appended to pipeline_manifest."`
144
167
  - `"[Type] blocked. Manifest appended to pipeline_manifest."`
@@ -1,7 +1,11 @@
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.1.0
4
+ version: 2.2.0
5
+ metadata:
6
+ version: 2.2.0
7
+ lastReviewed: 2026-09-19
8
+ stability: stable
5
9
  tier: 2
6
10
  core: true
7
11
  category: core
@@ -20,10 +24,31 @@ compatibility:
20
24
  - windsurf
21
25
  - gemini-cli
22
26
  license: MIT
27
+ metadata:
28
+ version: 2.7.0
29
+ lastReviewed: 2026-09-18
30
+ stability: stable
23
31
  ---
24
32
 
25
33
  # Task Executor Context Injection
26
34
 
35
+ ## Trustworthy project knowledge
36
+
37
+ After confirming the assigned worktree, orient with briefing/focus. Check current
38
+ coverage and sourced authority before acting on retrieved guidance. `UNKNOWN`
39
+ impact is incomplete assessment; `NONE` is no detected impact in assessed static
40
+ coverage, never proof of no runtime callers. Resolve ambiguous symbols explicitly.
41
+ Preserve historical handoffs and follow sourced corrections separately.
42
+
43
+ Consume repair findings as a matrix of scope, evidence, responsibility, operation,
44
+ prerequisites, verification, and recovery. The foreground calling agent supplies
45
+ sourced resolutions; repair never requires a background model. Escalate unresolved
46
+ owner decisions, reject stale proposals, verify postconditions, and record useful
47
+ incident learning with project/revision evidence. A failed diagnostic is not clean.
48
+ Provider reference delivery must be verified or embedded self-contained; static
49
+ instruction checks do not establish live Codex, Claude, or Kimi behavior.
50
+
51
+
27
52
  **Protocol**: @src/protocols/implementation.md
28
53
  **Type**: Context Injection (cleo-subagent)
29
54
  **Version**: 2.0.0
@@ -168,6 +193,9 @@ Write to `{{OUTPUT_DIR}}/{{DATE}}_{{TOPIC_SLUG}}.md`:
168
193
 
169
194
  ## Acceptance Criteria Verification
170
195
 
196
+ Record each criterion's changed artifacts and actual verification results. A merged PR with green CI provides provenance; it cannot automatically satisfy implementation, testing and review. Use `pr:<number>;files:<changed-path>` for implementation and actual result atoms for test/review gates, with explicit `satisfies:T1234#AC1` links for canonical criteria. The PR must relate to the task; documentation-only changes cannot prove a code fix. Research and documentation tasks may use appropriately scoped documentary evidence. Fetch the merge commit before claiming its artifact bytes were inspected. Criterion edits require fresh evidence. A completed child does not establish that its parent's independent criteria were met.
197
+
198
+
171
199
  | Criterion | Status | Notes |
172
200
  |-----------|--------|-------|
173
201
  | {{Criterion 1}} | PASS/FAIL | {{Verification notes}} |