@cleocode/skills 2026.5.112 → 2026.5.114

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.5.112",
3
+ "version": "2026.5.114",
4
4
  "description": "CLEO skill definitions - bundled with CLEO monorepo",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -115,7 +115,26 @@ cleo docs add T4798 docs/adr/ADR-0042.md \
115
115
  `spec | adr | research | handoff | note | llm-readme`.
116
116
  - `--slug` MUST follow `adr-<NNNN>-<short-topic>`. The numeric segment
117
117
  is the canonical ADR id; the topic segment makes the slug human
118
- readable. Collisions return `E_SLUG_TAKEN` with 3 alternatives.
118
+ readable. Collisions return `E_SLUG_RESERVED` with 3 alternatives
119
+ (legacy `E_SLUG_TAKEN` aliased under `details.aliases` for one release —
120
+ T10386).
121
+ - Near-duplicate slugs trigger `W_SLUG_SIMILAR` (T10361). The CLI
122
+ surfaces the top match and hints `--allow-similar`. Use `--allow-similar`
123
+ only when the new ADR genuinely forks from the existing one (e.g.
124
+ versioned re-issue); every bypass is audited to
125
+ `.cleo/audit/similar-bypass.jsonl`.
126
+ - Unknown flags fail fast with `E_UNKNOWN_FLAG` + did-you-mean
127
+ suggestions (T10359) — `--lbls` becomes "did you mean --labels?".
128
+ - TODO(T10360 · E3.2 pending): when shipped, ADR drafts will accept
129
+ `--title "<human title>"` and CLEO will auto-allocate the next
130
+ `adr-NNN-<kebab-title>` via the E1 slug allocator. Until then,
131
+ you MUST hand-pick the next free `NNNN` by inspecting
132
+ `cleo docs list --type adr --project`. Example future call:
133
+ ```bash
134
+ # FUTURE — DO NOT USE until T10360 ships:
135
+ # cleo docs add T4798 docs/drafts/draft.md --type adr \
136
+ # --title "Adopt Drizzle ORM v1 beta"
137
+ ```
119
138
  - The owner ID is the consensus task whose verdict drives the ADR
120
139
  (`T4798` above). This is how downstream supersession cascades find
121
140
  the chain — never attach an ADR to an arbitrary task.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: ct-docs-write
3
3
  description: This skill should be used when creating, editing, or reviewing documentation files (markdown, MDX, README, guides). Use when the user asks to "write docs", "create documentation", "edit the README", "improve doc clarity", "make docs more readable", "follow the style guide", or "write user-facing content". Applies CLEO's conversational, clear, and user-focused writing style.
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  tier: 3
6
6
  core: false
7
7
  category: composition
@@ -193,8 +193,19 @@ cleo docs add T1234 docs/drafts/saml-setup.md \
193
193
  For user-facing prose use `note`; for end-user docs use `note` or `spec`
194
194
  depending on whether the doc carries REQ-XXX requirements.
195
195
  - `--slug` is the human-friendly handle for retrieval. Use kebab-case. If the
196
- slug is already taken the CLI returns `E_SLUG_TAKEN` with 3 alternatives
197
- pick one rather than overwriting silently.
196
+ slug is already taken the CLI returns `E_SLUG_RESERVED` with 3 alternatives
197
+ (legacy `E_SLUG_TAKEN` aliased under `details.aliases` for one release —
198
+ T10386) — pick one rather than overwriting silently.
199
+ - If the slug is too close to an existing one the CLI surfaces a
200
+ `W_SLUG_SIMILAR` warning with the top match + a `--allow-similar` hint
201
+ (T10361). Pass `--allow-similar` to proceed when the fork is intentional;
202
+ every bypass is logged to `.cleo/audit/similar-bypass.jsonl`.
203
+ - Unknown flags (typos, removed options) fail fast with `E_UNKNOWN_FLAG`
204
+ + did-you-mean suggestions (T10359). The legacy "silently absorb as
205
+ positional" behaviour from citty's `parseArgs` is rejected.
206
+ - TODO(T10360 · E3.2 pending): when shipped, `--type adr` will accept a
207
+ `--title <human-title>` flag and auto-allocate `adr-NNN-<kebab-title>`
208
+ via the E1 slug allocator — no more manual ADR-079 numbering.
198
209
  - The owner ID (`T1234` above) auto-classifies the attachment by prefix:
199
210
  `T###` → task, `ses_*` → session, `O-*` → observation.
200
211
 
@@ -1,11 +1,15 @@
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.6.0
4
+ version: 3.12.0
5
5
  tier: 3
6
6
  core: false
7
7
  category: specialist
8
8
  protocol: null
9
+ metadata:
10
+ version: 3.12.0
11
+ lastReviewed: 2026-05-24
12
+ stability: stable
9
13
  dependencies:
10
14
  - ct-docs-lookup
11
15
  - ct-docs-write
@@ -61,7 +65,7 @@ and every owner writes through `cleo docs add` — not raw filesystem writes.
61
65
  | Doc Type | Owner Skill | SSoT Command |
62
66
  |----------|-------------|--------------|
63
67
  | `spec` (REQ-XXX requirements) | `ct-spec-writer` | `cleo docs add <ownerId> <path> --type spec --slug spec-<feature>` |
64
- | `adr` (architecture decisions) | `ct-adr-recorder` | `cleo docs add <ownerId> <path> --type adr --slug adr-<NNN>-<rest>` |
68
+ | `adr` (architecture decisions) | `ct-adr-recorder` | `cleo docs add <ownerId> <path> --type adr --slug adr-<NNN>-<rest>` (TODO T10360 · E3.2 pending: `--title` + auto-`adr-NNN` allocation) |
65
69
  | `research` (multi-source investigation) | `ct-research-agent` | `cleo docs add <ownerId> <path> --type research --slug research-<topic>` |
66
70
  | `handoff` (session/agent transition) | `ct-documentor` (this skill) | `cleo docs add <ownerId> <path> --type handoff --slug handoff-<context>` |
67
71
  | `note` (conversational prose) | `ct-docs-write` | `cleo docs add <ownerId> <path> --type note --slug <kebab-topic>` |
@@ -293,6 +297,193 @@ the canonical `changeset` DocKind) are allowlisted in the script.
293
297
  Per-line opt-out (use sparingly): append
294
298
  `// dockind-writer-allowed: <reason>` on the writeFile line.
295
299
 
300
+ #### Audit complement — manual-write sweep (T10372)
301
+
302
+ `scripts/sweep-manual-doc-writes.mjs` (CI job:
303
+ `Manual Write Sweep (T10372)`) is the read-only audit counterpart to
304
+ the writer-uniqueness lint. Where T10369 prevents *new* raw `.md`
305
+ writers from landing in `packages/core/src/**`, this sweep walks every
306
+ `*.md` file *already* added under `.cleo/canon.yml`'s `rawMdPaths`
307
+ directories since the T9791 docs-import cutoff (commit `251814e86`)
308
+ and classifies each one against the docs SSoT:
309
+
310
+ | Remediation | Meaning | Fix |
311
+ |---|---|---|
312
+ | `in-sync` | File SHA matches a blob already in the SSoT — bytes are tracked. | None. |
313
+ | `drift` | Slug exists in SSoT but the on-disk content has changed. | Re-publish via `cleo docs publish` or re-add as a new version. |
314
+ | `orphan` | Neither SHA nor slug resolves — the file is a raw fs write that bypassed `cleo docs add`. | Migrate via `cleo docs add <ownerId> <file> --type <kind> --slug <slug>`. |
315
+ | `deleted` | File was added since the cutoff but no longer exists on disk. | Informational only — does not count toward `unresolved`. |
316
+
317
+ Each run writes a timestamped report to
318
+ `audit/manual-write-sweep-<date>.json` and prints the summary block to
319
+ stdout. The CI job uploads the report as a workflow artefact on every
320
+ run and is wired with `continue-on-error: true` initially so the
321
+ existing orphan corpus does not break PRs. Saga T10288 / Epic T10293
322
+ E5.3 closes the orphan migration; the gate flips strict after that
323
+ lands.
324
+
325
+ ```bash
326
+ # Local invocation — uses the globally-installed `cleo` on PATH.
327
+ node scripts/sweep-manual-doc-writes.mjs
328
+
329
+ # CI / monorepo build — point at the just-built local CLI bundle.
330
+ node scripts/sweep-manual-doc-writes.mjs \
331
+ --cleo-bin "node packages/cleo/dist/cli/index.js" \
332
+ --allow-unresolved
333
+ ```
334
+
335
+ Exit codes: `0` (clean OR `--allow-unresolved`), `1` (at least one
336
+ `orphan` or `drift` entry), `2` (canon.yml parse failure, git not
337
+ available, SSoT query failed).
338
+
339
+ ### T10179 + T10203 manual-write migration (T10371)
340
+
341
+ Saga T10176's two known raw-write workarounds are normalised:
342
+
343
+ | Original file | SSoT slug | Type | Notes |
344
+ |---|---|---|---|
345
+ | `docs/research/t10179-executor-probe-result.md` | `t10179-executor-probe` | research | in-sync via earlier T9791 import — verified by SHA. |
346
+ | `.changeset/t10179-executor-probe.md` (consumed v5.108) | `t10179-changeset-archive` | note | bytes preserved verbatim from git `cc48ca10e`; archived because the pnpm/changesets `"@cleocode/cleo": patch` frontmatter does not satisfy the `changeset` DocKind schema. |
347
+ | `.changeset/t10203-napi-step-exports.md` (consumed v5.108) | `t10203-napi-step-exports` | changeset | in-sync via the `cleo changeset add` dual-write at PR-time. |
348
+
349
+ Round-trip parity is regression-locked by
350
+ `packages/core/src/docs/__tests__/manual-write-migration.test.ts`. The
351
+ test embeds the canonical bytes inline and asserts that
352
+ `createAttachmentStore().put(...) → findBySlug(...)` returns the same
353
+ SHA-256 it started with. Any future migration that silently rewrites or
354
+ recompresses these blobs fails the test.
355
+
356
+ ### Sweep-driven remediation loop (T10373)
357
+
358
+ T10371 only covers the *known* manual-write set declared in the original
359
+ Saga T10176 disposition. The T10372 sweep surfaces *every* orphan
360
+ remaining under `rawMdPaths` at the moment it runs. T10373 closes the
361
+ loop by consuming the sweep report and migrating each orphan into the
362
+ SSoT using the same `cleo docs add --slug` pattern T10371 established.
363
+
364
+ The recurring pattern (use this any time the sweep flags fresh
365
+ orphans):
366
+
367
+ 1. Run the sweep: `node scripts/sweep-manual-doc-writes.mjs`. The
368
+ report lands at `audit/manual-write-sweep-<date>.json`.
369
+ 2. For each `orphan` entry, derive the migration tuple:
370
+ - `--type` from the file's parent directory (`.cleo/adrs/` → `adr`,
371
+ `.cleo/research/` → `research`, `.cleo/agent-outputs/` →
372
+ `handoff` or `note` based on content, `.cleo/rcasd/` → `rcasd`).
373
+ - `--slug` from the filename — lowercase, kebab-case, no
374
+ extension (e.g. `ADR-085-cross-db-invariants.md` →
375
+ `adr-085-cross-db-invariants`).
376
+ - `<owner-id>` from the file's frontmatter `task:` field if
377
+ present, otherwise from `cleo find "<filename-keyword>"`.
378
+ 3. Run `cleo docs add <ownerId> <file> --type <kind> --slug <slug>
379
+ --desc "<sweep-remediation context>"`. The `--desc` should
380
+ reference the originating task ID so future operators can trace
381
+ the migration.
382
+ 4. Verify via `cleo docs fetch <slug>` and re-run the sweep — the
383
+ `orphan` count MUST drop by the number of files migrated.
384
+ 5. Add the new (slug, sha256, type, ownerId) row to a
385
+ round-trip parity test alongside the T10371 set. The canonical
386
+ example lives at
387
+ `packages/core/src/docs/__tests__/sweep-remediation.test.ts`.
388
+
389
+ T10373 migrated five orphans this way: `ADR-083`, `ADR-085`,
390
+ `T10268-saga-closeout`, `t10292-e4-cli-verb-matrix`, and
391
+ `t10292-e4-sdk-import-edges`. The last two were direct fallout from
392
+ the pre-T10389 worktree-unreachable bug — T10353 and T10354 workers
393
+ fell back to raw filesystem writes because `cleo docs add` rejected
394
+ inside their spawned worktrees. Re-publishing the bytes via the SSoT
395
+ proves the round-trip and closes the loop the bug opened.
396
+
397
+ If a sweep run surfaces a file that should genuinely stay as raw
398
+ markdown (e.g. an audit log not meant for SSoT propagation), add an
399
+ entry to `audit/sweep-exemptions.yml` rather than migrating it. The
400
+ sweep script honours exemptions and does not flag them as orphans.
401
+
402
+ ### Stuck-saga closure via `cleo saga reconcile` (T10374 · Saga T10288 / Epic T10293)
403
+
404
+ When a Saga's docs-related closeout was completed under the saga's
405
+ member Epics — every Epic flipped to `status='done'` — but the parent
406
+ Saga row itself is still `pending`, the recovery verb is
407
+ `cleo saga reconcile <sagaId>`. This is the cron-safe T10121 path
408
+ that the ADR-076 / T10113 auto-close path delivers; sagas that pre-date
409
+ the auto-close path (T9625 is the canonical example) need an explicit
410
+ nudge.
411
+
412
+ The recipe — use this any time a docs-canon Saga is observably stuck
413
+ even though its members have all shipped via `cleo docs add` /
414
+ `cleo docs publish`:
415
+
416
+ 1. Verify member-Epic terminality:
417
+ `for E in <memberIds>; do cleo show $E | jq '.data.task.status'; done`.
418
+ Every member must be `done`, `cancelled`, or `archived` before
419
+ reconcile will close the parent. If any member is genuinely stuck,
420
+ close THAT one first (evidence-based per ADR-051) — do NOT cancel
421
+ a member just to satisfy the gate.
422
+ 2. Verify the SSoT fetch-gate the Saga's acceptance gates on (typically
423
+ a research plan or closure note):
424
+ `cleo docs fetch <slug>` — must return `success: true` with the
425
+ expected bytes.
426
+ 3. Reconcile: `cleo saga reconcile <sagaId>`. The verb is idempotent
427
+ (re-runs return `action: 'no-op'`) and never modifies member rows.
428
+ 4. Confirm: `cleo show <sagaId>` — `status` must be `done` and
429
+ `completedAt` populated. The action is appended to
430
+ `.cleo/audit/saga-reconcile.jsonl` for audit.
431
+ 5. Write a closure-evidence handoff via
432
+ `cleo docs add <taskId> <file> --type handoff --slug <saga>-closure-evidence`
433
+ capturing: member statuses (table), reconcile envelope output,
434
+ sibling-saga sanity check (no cross-saga side effects), and
435
+ ADR-076 + T10113 path validation. The slug `t9625-closure-evidence`
436
+ is the canonical reference.
437
+
438
+ Regression coverage for this path lives at
439
+ `packages/core/src/sagas/__tests__/t9625-closure.test.ts` and locks
440
+ three invariants: stuck-saga closure (AC1), sibling-saga isolation
441
+ (AC2), and idempotency (AC3). Add a new case there whenever you close
442
+ another stuck docs-canon Saga so the recovery pattern stays under
443
+ test.
444
+
445
+ ### Docs->memory auto-emit (T9976 · regression-tested by T10375)
446
+
447
+ Every successful `cleo docs add` fires a fire-and-forget memory observation
448
+ into `brain_observations`. The CLI never blocks on this write — a BRAIN
449
+ failure cannot fail `docs add` — but the observation is the bridge that
450
+ makes `cleo memory find '<slug>'` surface attached docs.
451
+
452
+ **Title shape**: `"Doc attached: <slug>"` (or `"Doc attached: <attachmentId>"`
453
+ when no slug is provided). This is what the FTS index matches on, so the
454
+ slug is also a memory-discovery key — not just a docs-lookup key.
455
+
456
+ **Narrative payload** (the {@link DocAttachmentObservationPayload} contract):
457
+
458
+ ```jsonc
459
+ {
460
+ "kind": "doc-attachment", // discriminator
461
+ "attachmentId": "<id>", // assigned by the docs store
462
+ "ownerId": "<T#### | SG-#### | …>",
463
+ "slug": "<kebab-slug>", // omitted only when --slug not passed
464
+ "type": "<docKind>", // omitted only when --type not passed
465
+ "addedAt": "<ISO 8601 timestamp>"
466
+ }
467
+ ```
468
+
469
+ The payload is consumed by `cleo memory verify <observationId>` for
470
+ round-trip checks against the docs store — see AC3 of the original T9976
471
+ suite at `packages/cleo/src/dispatch/domains/__tests__/docs-memory-observation.test.ts`.
472
+
473
+ **Retroactive sweeps**: when migrating manual `Write`-based docs back into
474
+ the SSoT (the T10371 + T10373 pattern), the auto-emit fires uniformly for
475
+ the kebab-case slugs the sweep uses (`t<num>-<kebab>`, `adr-<num>-<kebab>`).
476
+ Regression coverage lives at
477
+ `packages/cleo/src/dispatch/domains/__tests__/docs-memory-observation-retroactive.test.ts`
478
+ (T10375). Add a new case to that table whenever you discover a slug shape
479
+ not yet under test.
480
+
481
+ **Anti-pattern**: do NOT write a `cleo memory observe` manually after a
482
+ `cleo docs add` — the auto-emit already happened, and the duplicate
483
+ observation pollutes the FTS index. Use `cleo memory backfill-docs` (AC4
484
+ of T9976) only to repair attachments that pre-date the auto-emit feature
485
+ or were written outside the SSoT.
486
+
296
487
  ### Slug similarity warn (T10361 · closes T10167)
297
488
 
298
489
  `cleo docs add` runs a fuzzy-match check against existing slugs for the
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: ct-spec-writer
3
3
  description: Technical specification writing using RFC 2119 language for clear, unambiguous requirements. Creates protocol specifications, technical requirements, API specifications, and architecture documents with testable requirements and compliance criteria. Use when writing specifications, defining protocols, documenting requirements, or creating API contracts. Triggers on specification tasks, protocol definition needs, or requirement documentation.
4
- version: 2.0.0
4
+ version: 2.1.0
5
5
  tier: 2
6
6
  core: false
7
7
  category: recommended
@@ -161,8 +161,17 @@ cleo docs add T1234 docs/specs/auth-protocol.md \
161
161
  Other allowed values: `adr | research | handoff | note | llm-readme`.
162
162
  - `--slug` is the kebab-case retrieval handle. Use the spec topic +
163
163
  version (e.g. `auth-protocol-v2`, `release-pipeline-v3`). The CLI
164
- returns `E_SLUG_TAKEN` with 3 alternatives on collision — pick one
165
- rather than silently overwriting.
164
+ returns `E_SLUG_RESERVED` with 3 alternatives on collision (legacy
165
+ `E_SLUG_TAKEN` aliased under `details.aliases` for one release —
166
+ T10386) — pick one rather than silently overwriting.
167
+ - Near-duplicate slugs (e.g. `auth-protocol-v2` vs an existing
168
+ `auth-protocol`) surface a `W_SLUG_SIMILAR` warning with the top
169
+ match (T10361). Pass `--allow-similar` to proceed when the new spec
170
+ intentionally forks; every bypass is audited to
171
+ `.cleo/audit/similar-bypass.jsonl`.
172
+ - Unknown flags fail fast with `E_UNKNOWN_FLAG` + did-you-mean
173
+ suggestions (T10359) — `--titel`/`--lables` become "did you mean
174
+ --type/--labels?". Run `cleo docs add --help` for the canonical surface.
166
175
  - The owner ID (`T1234`) auto-attaches the spec to its parent task so
167
176
  downstream stages (`ct-validator`, decomposition, implementation)
168
177
  can discover the spec via `cleo docs list --task T1234 --type spec`.
package/skills.json CHANGED
@@ -1,20 +1,30 @@
1
1
  {
2
2
  "version": "2.1.0",
3
- "generated": "2026-03-02T05:45:00Z",
3
+ "generated": "2026-05-24T00:00:00Z",
4
4
  "skills": [
5
5
  {
6
6
  "name": "ct-cleo",
7
7
  "description": "CLEO task management protocol - core guidance for session, task, and workflow operations. Provides CLI-based workflow, session protocol, task discovery patterns, RCSD lifecycle overview, error handling, and the Human Render Contract (ADR-077). Load this skill for detailed CLEO protocol guidance.",
8
8
  "version": "2.2.0",
9
9
  "path": "skills/ct-cleo/SKILL.md",
10
- "references": ["skills/ct-cleo/references/session-protocol.md", "skills/ct-cleo/references/loom-lifecycle.md", "skills/ct-cleo/references/anti-patterns.md"],
10
+ "references": [
11
+ "skills/ct-cleo/references/session-protocol.md",
12
+ "skills/ct-cleo/references/loom-lifecycle.md",
13
+ "skills/ct-cleo/references/anti-patterns.md"
14
+ ],
11
15
  "core": true,
12
16
  "category": "core",
13
17
  "tier": 0,
14
18
  "protocol": null,
15
19
  "dependencies": [],
16
- "sharedResources": ["task-system-integration"],
17
- "compatibility": ["claude-code", "gemini-cli", "codex-cli"],
20
+ "sharedResources": [
21
+ "task-system-integration"
22
+ ],
23
+ "compatibility": [
24
+ "claude-code",
25
+ "gemini-cli",
26
+ "codex-cli"
27
+ ],
18
28
  "license": "MIT",
19
29
  "metadata": {
20
30
  "version": "2.2.0",
@@ -27,14 +37,32 @@
27
37
  "description": "Pipeline-aware orchestration for multi-agent workflows. Manages RCASD-IVTR+C pipeline progression for epics, delegates all work to subagents via provider-neutral spawning, enforces lifecycle gates before spawning, and reads only manifests. Use when orchestrating complex workflows, delegating to subagents, or managing epic pipeline progression.",
28
38
  "version": "4.0.0",
29
39
  "path": "skills/ct-orchestrator/SKILL.md",
30
- "references": ["skills/ct-orchestrator/references/autonomous-operation.md", "skills/ct-orchestrator/references/lifecycle-gates.md", "skills/ct-orchestrator/references/orchestrator-compliance.md", "skills/ct-orchestrator/references/orchestrator-handoffs.md", "skills/ct-orchestrator/references/orchestrator-patterns.md", "skills/ct-orchestrator/references/orchestrator-recovery.md", "skills/ct-orchestrator/references/orchestrator-spawning.md", "skills/ct-orchestrator/references/orchestrator-tokens.md", "skills/ct-orchestrator/references/SUBAGENT-PROTOCOL-BLOCK.md"],
40
+ "references": [
41
+ "skills/ct-orchestrator/references/autonomous-operation.md",
42
+ "skills/ct-orchestrator/references/lifecycle-gates.md",
43
+ "skills/ct-orchestrator/references/orchestrator-compliance.md",
44
+ "skills/ct-orchestrator/references/orchestrator-handoffs.md",
45
+ "skills/ct-orchestrator/references/orchestrator-patterns.md",
46
+ "skills/ct-orchestrator/references/orchestrator-recovery.md",
47
+ "skills/ct-orchestrator/references/orchestrator-spawning.md",
48
+ "skills/ct-orchestrator/references/orchestrator-tokens.md",
49
+ "skills/ct-orchestrator/references/SUBAGENT-PROTOCOL-BLOCK.md"
50
+ ],
31
51
  "core": true,
32
52
  "category": "core",
33
53
  "tier": 0,
34
54
  "protocol": "agent-protocol",
35
55
  "dependencies": [],
36
- "sharedResources": ["subagent-protocol-base", "task-system-integration"],
37
- "compatibility": ["claude-code", "cursor", "windsurf", "gemini-cli"],
56
+ "sharedResources": [
57
+ "subagent-protocol-base",
58
+ "task-system-integration"
59
+ ],
60
+ "compatibility": [
61
+ "claude-code",
62
+ "cursor",
63
+ "windsurf",
64
+ "gemini-cli"
65
+ ],
38
66
  "license": "MIT",
39
67
  "metadata": {}
40
68
  },
@@ -49,8 +77,16 @@
49
77
  "tier": 0,
50
78
  "protocol": "implementation",
51
79
  "dependencies": [],
52
- "sharedResources": ["subagent-protocol-base", "task-system-integration"],
53
- "compatibility": ["claude-code", "cursor", "windsurf", "gemini-cli"],
80
+ "sharedResources": [
81
+ "subagent-protocol-base",
82
+ "task-system-integration"
83
+ ],
84
+ "compatibility": [
85
+ "claude-code",
86
+ "cursor",
87
+ "windsurf",
88
+ "gemini-cli"
89
+ ],
54
90
  "license": "MIT",
55
91
  "metadata": {}
56
92
  },
@@ -59,14 +95,33 @@
59
95
  "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.",
60
96
  "version": "3.0.0",
61
97
  "path": "skills/ct-epic-architect/SKILL.md",
62
- "references": ["skills/ct-epic-architect/references/bug-epic-example.md", "skills/ct-epic-architect/references/commands.md", "skills/ct-epic-architect/references/feature-epic-example.md", "skills/ct-epic-architect/references/migration-epic-example.md", "skills/ct-epic-architect/references/output-format.md", "skills/ct-epic-architect/references/patterns.md", "skills/ct-epic-architect/references/refactor-epic-example.md", "skills/ct-epic-architect/references/research-epic-example.md", "skills/ct-epic-architect/references/shell-escaping.md", "skills/ct-epic-architect/references/skill-aware-execution.md"],
98
+ "references": [
99
+ "skills/ct-epic-architect/references/bug-epic-example.md",
100
+ "skills/ct-epic-architect/references/commands.md",
101
+ "skills/ct-epic-architect/references/feature-epic-example.md",
102
+ "skills/ct-epic-architect/references/migration-epic-example.md",
103
+ "skills/ct-epic-architect/references/output-format.md",
104
+ "skills/ct-epic-architect/references/patterns.md",
105
+ "skills/ct-epic-architect/references/refactor-epic-example.md",
106
+ "skills/ct-epic-architect/references/research-epic-example.md",
107
+ "skills/ct-epic-architect/references/shell-escaping.md",
108
+ "skills/ct-epic-architect/references/skill-aware-execution.md"
109
+ ],
63
110
  "core": false,
64
111
  "category": "recommended",
65
112
  "tier": 1,
66
113
  "protocol": "decomposition",
67
114
  "dependencies": [],
68
- "sharedResources": ["subagent-protocol-base", "task-system-integration"],
69
- "compatibility": ["claude-code", "cursor", "windsurf", "gemini-cli"],
115
+ "sharedResources": [
116
+ "subagent-protocol-base",
117
+ "task-system-integration"
118
+ ],
119
+ "compatibility": [
120
+ "claude-code",
121
+ "cursor",
122
+ "windsurf",
123
+ "gemini-cli"
124
+ ],
70
125
  "license": "MIT",
71
126
  "metadata": {}
72
127
  },
@@ -81,15 +136,23 @@
81
136
  "tier": 1,
82
137
  "protocol": "research",
83
138
  "dependencies": [],
84
- "sharedResources": ["subagent-protocol-base", "task-system-integration"],
85
- "compatibility": ["claude-code", "cursor", "windsurf", "gemini-cli"],
139
+ "sharedResources": [
140
+ "subagent-protocol-base",
141
+ "task-system-integration"
142
+ ],
143
+ "compatibility": [
144
+ "claude-code",
145
+ "cursor",
146
+ "windsurf",
147
+ "gemini-cli"
148
+ ],
86
149
  "license": "MIT",
87
150
  "metadata": {}
88
151
  },
89
152
  {
90
153
  "name": "ct-spec-writer",
91
154
  "description": "Technical specification writing using RFC 2119 language for clear, unambiguous requirements. Creates protocol specifications, technical requirements, API specifications, and architecture documents with testable requirements and compliance criteria.",
92
- "version": "2.0.0",
155
+ "version": "2.1.0",
93
156
  "path": "skills/ct-spec-writer/SKILL.md",
94
157
  "references": [],
95
158
  "core": false,
@@ -97,8 +160,16 @@
97
160
  "tier": 1,
98
161
  "protocol": "specification",
99
162
  "dependencies": [],
100
- "sharedResources": ["subagent-protocol-base", "task-system-integration"],
101
- "compatibility": ["claude-code", "cursor", "windsurf", "gemini-cli"],
163
+ "sharedResources": [
164
+ "subagent-protocol-base",
165
+ "task-system-integration"
166
+ ],
167
+ "compatibility": [
168
+ "claude-code",
169
+ "cursor",
170
+ "windsurf",
171
+ "gemini-cli"
172
+ ],
102
173
  "license": "MIT",
103
174
  "metadata": {}
104
175
  },
@@ -113,8 +184,16 @@
113
184
  "tier": 1,
114
185
  "protocol": "validation",
115
186
  "dependencies": [],
116
- "sharedResources": ["subagent-protocol-base", "task-system-integration"],
117
- "compatibility": ["claude-code", "cursor", "windsurf", "gemini-cli"],
187
+ "sharedResources": [
188
+ "subagent-protocol-base",
189
+ "task-system-integration"
190
+ ],
191
+ "compatibility": [
192
+ "claude-code",
193
+ "cursor",
194
+ "windsurf",
195
+ "gemini-cli"
196
+ ],
118
197
  "license": "MIT",
119
198
  "metadata": {}
120
199
  },
@@ -129,24 +208,44 @@
129
208
  "tier": 2,
130
209
  "protocol": "contribution",
131
210
  "dependencies": [],
132
- "sharedResources": ["subagent-protocol-base", "task-system-integration"],
133
- "compatibility": ["claude-code", "cursor", "windsurf", "gemini-cli"],
211
+ "sharedResources": [
212
+ "subagent-protocol-base",
213
+ "task-system-integration"
214
+ ],
215
+ "compatibility": [
216
+ "claude-code",
217
+ "cursor",
218
+ "windsurf",
219
+ "gemini-cli"
220
+ ],
134
221
  "license": "MIT",
135
222
  "metadata": {}
136
223
  },
137
224
  {
138
225
  "name": "ct-documentor",
139
226
  "description": "Documentation creation, editing, and review with CLEO style guide compliance. Coordinates specialized skills for lookup, writing, and review.",
140
- "version": "3.4.0",
227
+ "version": "3.12.0",
141
228
  "path": "skills/ct-documentor/SKILL.md",
142
229
  "references": [],
143
230
  "core": false,
144
231
  "category": "specialist",
145
232
  "tier": 2,
146
233
  "protocol": null,
147
- "dependencies": ["ct-docs-lookup", "ct-docs-write", "ct-docs-review"],
148
- "sharedResources": ["subagent-protocol-base", "task-system-integration"],
149
- "compatibility": ["claude-code", "cursor", "windsurf", "gemini-cli"],
234
+ "dependencies": [
235
+ "ct-docs-lookup",
236
+ "ct-docs-write",
237
+ "ct-docs-review"
238
+ ],
239
+ "sharedResources": [
240
+ "subagent-protocol-base",
241
+ "task-system-integration"
242
+ ],
243
+ "compatibility": [
244
+ "claude-code",
245
+ "cursor",
246
+ "windsurf",
247
+ "gemini-cli"
248
+ ],
150
249
  "license": "MIT",
151
250
  "metadata": {}
152
251
  },
@@ -162,14 +261,19 @@
162
261
  "protocol": null,
163
262
  "dependencies": [],
164
263
  "sharedResources": [],
165
- "compatibility": ["claude-code", "cursor", "windsurf", "gemini-cli"],
264
+ "compatibility": [
265
+ "claude-code",
266
+ "cursor",
267
+ "windsurf",
268
+ "gemini-cli"
269
+ ],
166
270
  "license": "MIT",
167
271
  "metadata": {}
168
272
  },
169
273
  {
170
274
  "name": "ct-docs-write",
171
275
  "description": "Documentation writing with CLEO's conversational, clear, user-focused style. Use when creating, editing, or improving documentation files.",
172
- "version": "1.1.0",
276
+ "version": "1.2.0",
173
277
  "path": "skills/ct-docs-write/SKILL.md",
174
278
  "references": [],
175
279
  "core": false,
@@ -178,7 +282,12 @@
178
282
  "protocol": null,
179
283
  "dependencies": [],
180
284
  "sharedResources": [],
181
- "compatibility": ["claude-code", "cursor", "windsurf", "gemini-cli"],
285
+ "compatibility": [
286
+ "claude-code",
287
+ "cursor",
288
+ "windsurf",
289
+ "gemini-cli"
290
+ ],
182
291
  "license": "MIT",
183
292
  "metadata": {}
184
293
  },
@@ -194,7 +303,12 @@
194
303
  "protocol": null,
195
304
  "dependencies": [],
196
305
  "sharedResources": [],
197
- "compatibility": ["claude-code", "cursor", "windsurf", "gemini-cli"],
306
+ "compatibility": [
307
+ "claude-code",
308
+ "cursor",
309
+ "windsurf",
310
+ "gemini-cli"
311
+ ],
198
312
  "license": "MIT",
199
313
  "metadata": {}
200
314
  },
@@ -209,8 +323,15 @@
209
323
  "tier": 2,
210
324
  "protocol": "contribution",
211
325
  "dependencies": [],
212
- "sharedResources": ["subagent-protocol-base"],
213
- "compatibility": ["claude-code", "cursor", "windsurf", "gemini-cli"],
326
+ "sharedResources": [
327
+ "subagent-protocol-base"
328
+ ],
329
+ "compatibility": [
330
+ "claude-code",
331
+ "cursor",
332
+ "windsurf",
333
+ "gemini-cli"
334
+ ],
214
335
  "license": "MIT",
215
336
  "metadata": {}
216
337
  },
@@ -226,27 +347,59 @@
226
347
  "protocol": null,
227
348
  "dependencies": [],
228
349
  "sharedResources": [],
229
- "compatibility": ["claude-code", "cursor", "windsurf", "gemini-cli"],
350
+ "compatibility": [
351
+ "claude-code",
352
+ "cursor",
353
+ "windsurf",
354
+ "gemini-cli"
355
+ ],
230
356
  "license": "MIT",
231
357
  "metadata": {}
232
358
  },
233
359
  {
234
360
  "name": "ct-council",
235
- "description": "Convene \"The Council\" a 5-advisor, shuffled gate-based peer-review, chairman-synthesis workflow for reviewing a plan, decision, architecture, or piece of work inside the current project. Use when the user says \"convene the council\" (or \"counsel\"), \"get the council on this\", \"council review\", \"run the five advisors\", \"stress-test this\", \"get multiple perspectives\", or asks for a rigorous multi-angle challenge of a proposal (Contrarian, First Principles, Expansionist, Outsider, Executor shuffled peer review with pass/fail gates convergence detector Chairman verdict). Operates on the current codebase each advisor grounds their analysis in actual files/commits before opining. Output is validated by scripts/validate.py.",
361
+ "description": "Convene \"The Council\" \u2014 a 5-advisor, shuffled gate-based peer-review, chairman-synthesis workflow for reviewing a plan, decision, architecture, or piece of work inside the current project. Use when the user says \"convene the council\" (or \"counsel\"), \"get the council on this\", \"council review\", \"run the five advisors\", \"stress-test this\", \"get multiple perspectives\", or asks for a rigorous multi-angle challenge of a proposal (Contrarian, First Principles, Expansionist, Outsider, Executor \u2192 shuffled peer review with pass/fail gates \u2192 convergence detector \u2192 Chairman verdict). Operates on the current codebase \u2014 each advisor grounds their analysis in actual files/commits before opining. Output is validated by scripts/validate.py.",
236
362
  "version": "1.0.0",
237
363
  "path": "skills/ct-council/SKILL.md",
238
- "references": ["skills/ct-council/references/chairman.md", "skills/ct-council/references/contrarian.md", "skills/ct-council/references/evidence-pack.md", "skills/ct-council/references/examples.md", "skills/ct-council/references/executor.md", "skills/ct-council/references/expansionist.md", "skills/ct-council/references/first-principles.md", "skills/ct-council/references/outsider.md", "skills/ct-council/references/peer-review.md"],
364
+ "references": [
365
+ "skills/ct-council/references/chairman.md",
366
+ "skills/ct-council/references/contrarian.md",
367
+ "skills/ct-council/references/evidence-pack.md",
368
+ "skills/ct-council/references/examples.md",
369
+ "skills/ct-council/references/executor.md",
370
+ "skills/ct-council/references/expansionist.md",
371
+ "skills/ct-council/references/first-principles.md",
372
+ "skills/ct-council/references/outsider.md",
373
+ "skills/ct-council/references/peer-review.md"
374
+ ],
239
375
  "core": false,
240
376
  "category": "specialist",
241
377
  "tier": 2,
242
378
  "protocol": null,
243
379
  "dependencies": [],
244
380
  "sharedResources": [],
245
- "compatibility": ["claude-code", "cursor", "windsurf", "gemini-cli"],
381
+ "compatibility": [
382
+ "claude-code",
383
+ "cursor",
384
+ "windsurf",
385
+ "gemini-cli"
386
+ ],
246
387
  "license": "MIT",
247
388
  "metadata": {
248
- "triggers": ["convene the council", "council review", "run the five advisors", "stress-test this", "get multiple perspectives"],
249
- "advisors": ["Contrarian", "First Principles", "Expansionist", "Outsider", "Executor"]
389
+ "triggers": [
390
+ "convene the council",
391
+ "council review",
392
+ "run the five advisors",
393
+ "stress-test this",
394
+ "get multiple perspectives"
395
+ ],
396
+ "advisors": [
397
+ "Contrarian",
398
+ "First Principles",
399
+ "Expansionist",
400
+ "Outsider",
401
+ "Executor"
402
+ ]
250
403
  }
251
404
  },
252
405
  {
@@ -254,14 +407,22 @@
254
407
  "description": "Guide for creating effective skills. Use when creating a new skill or updating an existing skill that extends agent capabilities.",
255
408
  "version": "1.0.0",
256
409
  "path": "skills/ct-skill-creator/SKILL.md",
257
- "references": ["skills/ct-skill-creator/references/output-patterns.md", "skills/ct-skill-creator/references/workflows.md"],
410
+ "references": [
411
+ "skills/ct-skill-creator/references/output-patterns.md",
412
+ "skills/ct-skill-creator/references/workflows.md"
413
+ ],
258
414
  "core": false,
259
415
  "category": "meta",
260
416
  "tier": 3,
261
417
  "protocol": null,
262
418
  "dependencies": [],
263
419
  "sharedResources": [],
264
- "compatibility": ["claude-code", "cursor", "windsurf", "gemini-cli"],
420
+ "compatibility": [
421
+ "claude-code",
422
+ "cursor",
423
+ "windsurf",
424
+ "gemini-cli"
425
+ ],
265
426
  "license": "MIT",
266
427
  "metadata": {}
267
428
  },
@@ -277,7 +438,12 @@
277
438
  "protocol": null,
278
439
  "dependencies": [],
279
440
  "sharedResources": [],
280
- "compatibility": ["claude-code", "cursor", "windsurf", "gemini-cli"],
441
+ "compatibility": [
442
+ "claude-code",
443
+ "cursor",
444
+ "windsurf",
445
+ "gemini-cli"
446
+ ],
281
447
  "license": "MIT",
282
448
  "metadata": {}
283
449
  },
@@ -286,18 +452,43 @@
286
452
  "description": "LOOM (Logical Order of Operations Methodology) - the systematic framework for how CLEO processes project threads through the RCASD-IVTR+C pipeline. LOOM encompasses the full lifecycle methodology that transforms raw ideas into delivered artifacts, from Research through Release with the Contribution protocol (+C) running across all stages. References docs/concepts/CLEO-VISION.md for the complete LOOM framework, neural hierarchy model, and brain metaphor mapping.",
287
453
  "version": "1.0.0",
288
454
  "path": "docs/concepts/CLEO-VISION.md",
289
- "references": [".cleo/adrs/ADR-007-domain-consolidation.md", ".cleo/adrs/ADR-009-BRAIN-cognitive-architecture.md"],
455
+ "references": [
456
+ ".cleo/adrs/ADR-007-domain-consolidation.md",
457
+ ".cleo/adrs/ADR-009-BRAIN-cognitive-architecture.md"
458
+ ],
290
459
  "core": false,
291
460
  "category": "core",
292
461
  "tier": 0,
293
462
  "protocol": null,
294
463
  "dependencies": [],
295
464
  "sharedResources": [],
296
- "compatibility": ["claude-code", "cursor", "windsurf", "gemini-cli"],
465
+ "compatibility": [
466
+ "claude-code",
467
+ "cursor",
468
+ "windsurf",
469
+ "gemini-cli"
470
+ ],
297
471
  "license": "MIT",
298
472
  "metadata": {
299
- "concepts": ["LOOM", "RCASD-IVTR+C", "lifecycle pipeline", "neural hierarchy", "brain metaphor"],
300
- "domains": ["tasks", "session", "memory", "check", "pipeline", "orchestrate", "tools", "admin", "nexus", "sticky"]
473
+ "concepts": [
474
+ "LOOM",
475
+ "RCASD-IVTR+C",
476
+ "lifecycle pipeline",
477
+ "neural hierarchy",
478
+ "brain metaphor"
479
+ ],
480
+ "domains": [
481
+ "tasks",
482
+ "session",
483
+ "memory",
484
+ "check",
485
+ "pipeline",
486
+ "orchestrate",
487
+ "tools",
488
+ "admin",
489
+ "nexus",
490
+ "sticky"
491
+ ]
301
492
  }
302
493
  }
303
494
  ]