@cleocode/skills 2026.5.111 → 2026.5.112

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.111",
3
+ "version": "2026.5.112",
4
4
  "description": "CLEO skill definitions - bundled with CLEO monorepo",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -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. 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.5.0
4
+ version: 3.6.0
5
5
  tier: 3
6
6
  core: false
7
7
  category: specialist
@@ -264,6 +264,35 @@ Contract for the docs-add path:
264
264
  `data.slug`, `data.attachmentId`, and `data.sha256` — round-trip
265
265
  identical to what `cleo changeset add` emits.
266
266
 
267
+ #### CI gate — DocKind Writer Uniqueness (T10369)
268
+
269
+ `scripts/lint-dockind-writer-uniqueness.mjs` (CI job:
270
+ `DocKind Writer Uniqueness (T10369)`) enforces the
271
+ WriterRegistry invariants at PR-time. It refuses to merge a PR that:
272
+
273
+ 1. Adds a new entry to `BUILTIN_DOC_KINDS` (in
274
+ `packages/contracts/src/docs-taxonomy.ts`) without a matching
275
+ descriptor in `writer-registry.ts` (`dockind-coverage-missing`).
276
+ 2. Declares more than one descriptor for the same DocKind
277
+ (`dockind-coverage-collision` — the registry itself throws at module
278
+ load too, this gate surfaces it earlier in CI).
279
+ 3. Has a `mode: 'ssot-first'` descriptor that does NOT match
280
+ `.cleo/canon.yml`'s `canonicalHome` for the same kind, or vice versa
281
+ (`canon-yml-ssot-first-drift`).
282
+ 4. Adds a NEW raw `writeFileSync(path.md, …)` / `writeFile(path.md, …)`
283
+ call inside `packages/core/src/**` that is not in
284
+ `.lint-dockind-writer-baseline.json` (`unregistered-md-write`).
285
+
286
+ Schema-parity rules (#1-#3) are ALWAYS strict — there is no baseline.
287
+ The unregistered-md-write rule runs in baseline mode by default; count
288
+ decreases always pass, count increases fail. The two legitimate
289
+ non-DocKind `.md` writers (`packages/core/src/sessions/handoff-markdown.ts`
290
+ for session snapshots and `packages/core/src/changesets/writer.ts` for
291
+ the canonical `changeset` DocKind) are allowlisted in the script.
292
+
293
+ Per-line opt-out (use sparingly): append
294
+ `// dockind-writer-allowed: <reason>` on the writeFile line.
295
+
267
296
  ### Slug similarity warn (T10361 · closes T10167)
268
297
 
269
298
  `cleo docs add` runs a fuzzy-match check against existing slugs for the