@cleocode/skills 2026.9.20 → 2026.9.22

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.
Files changed (154) hide show
  1. package/README.md +46 -63
  2. package/frontmatter.d.mts +60 -0
  3. package/frontmatter.mjs +277 -0
  4. package/index.d.ts +3 -3
  5. package/index.js +34 -9
  6. package/package.json +4 -2
  7. package/profiles/core.json +10 -3
  8. package/profiles/full.json +10 -6
  9. package/profiles/recommended.json +29 -3
  10. package/skills/_shared/manifest-operations.md +19 -40
  11. package/skills/_shared/skill-chaining-patterns.md +5 -9
  12. package/skills/_shared/subagent-protocol-base.md +6 -6
  13. package/skills/_shared/task-system-integration.md +6 -6
  14. package/skills/ct-adr-recorder/SKILL.md +22 -16
  15. package/skills/ct-artifact-publisher/SKILL.md +14 -6
  16. package/skills/ct-cleo/SKILL.md +97 -16
  17. package/skills/ct-cleo/__tests__/injection-content.test.ts +62 -13
  18. package/skills/ct-cleo/references/loom-lifecycle.md +1 -1
  19. package/skills/{ct-memory/SKILL.md → ct-cleo/references/memory.md} +10 -18
  20. package/skills/ct-cleo/references/orchestrator-constraints.md +5 -5
  21. package/skills/ct-cleo/references/session-protocol.md +17 -9
  22. package/skills/{ct-stickynote/SKILL.md → ct-cleo/references/sticky-notes.md} +7 -25
  23. package/skills/ct-codebase-mapper/SKILL.md +66 -38
  24. package/skills/ct-consensus-voter/SKILL.md +14 -6
  25. package/skills/ct-contribution/SKILL.md +11 -5
  26. package/skills/ct-council/SKILL.md +5 -0
  27. package/skills/ct-dev-workflow/SKILL.md +9 -8
  28. package/skills/ct-documentor/SKILL.md +37 -34
  29. package/skills/{ct-docs-review/__tests__/skill-docs-review.test.ts → ct-documentor/__tests__/reviewing-reference.test.ts} +4 -3
  30. package/skills/{ct-docs-write/__tests__/skill-docs-write.test.ts → ct-documentor/__tests__/writing-reference.test.ts} +4 -3
  31. package/skills/ct-documentor/references/anti-patterns.md +8 -8
  32. package/skills/{ct-docs-write → ct-documentor}/references/audience-targeting.md +5 -5
  33. package/skills/ct-documentor/references/chain-orchestration.md +19 -19
  34. package/skills/{ct-docs-write → ct-documentor}/references/cleo-style-guide.md +1 -1
  35. package/skills/ct-documentor/references/doc-types-and-templates.md +1 -1
  36. package/skills/{ct-docs-review → ct-documentor}/references/pr-review-mode.md +1 -1
  37. package/skills/{ct-docs-review/SKILL.md → ct-documentor/references/reviewing.md} +6 -22
  38. package/skills/ct-documentor/references/style-coordination.md +5 -5
  39. package/skills/{ct-docs-review → ct-documentor}/references/style-violations.md +1 -1
  40. package/skills/{ct-docs-write/SKILL.md → ct-documentor/references/writing.md} +5 -21
  41. package/skills/ct-epic-architect/SKILL.md +16 -9
  42. package/skills/ct-epic-architect/references/commands.md +5 -5
  43. package/skills/ct-epic-architect/references/output-format.md +2 -2
  44. package/skills/ct-epic-architect/references/patterns.md +2 -2
  45. package/skills/ct-epic-architect/references/skill-aware-execution.md +3 -3
  46. package/skills/ct-grade/SKILL.md +7 -4
  47. package/skills/ct-grade/agents/scenario-runner.md +1 -1
  48. package/skills/ct-ivt-looper/SKILL.md +27 -21
  49. package/skills/ct-lead/SKILL.md +49 -12
  50. package/skills/ct-lead/references/aggregation-protocol.md +44 -21
  51. package/skills/ct-lead/references/spawn-pattern.md +12 -11
  52. package/skills/ct-orchestrator/README.md +2 -2
  53. package/skills/ct-orchestrator/SKILL.md +34 -11
  54. package/skills/ct-orchestrator/references/SUBAGENT-PROTOCOL-BLOCK.md +4 -4
  55. package/skills/ct-orchestrator/references/autonomous-operation.md +4 -4
  56. package/skills/ct-orchestrator/references/orchestrator-compliance.md +3 -3
  57. package/skills/ct-orchestrator/references/orchestrator-patterns.md +20 -19
  58. package/skills/ct-orchestrator/references/orchestrator-recovery.md +13 -23
  59. package/skills/ct-orchestrator/references/orchestrator-spawning.md +9 -10
  60. package/skills/ct-orchestrator/references/orchestrator-tokens.md +9 -9
  61. package/skills/ct-provenance-keeper/SKILL.md +14 -6
  62. package/skills/ct-release-orchestrator/SKILL.md +23 -13
  63. package/skills/ct-release-orchestrator/references/composition.md +1 -1
  64. package/skills/ct-release-orchestrator/references/release-types.md +33 -15
  65. package/skills/ct-research-agent/SKILL.md +18 -12
  66. package/skills/ct-research-agent/references/triggers-and-routing.md +4 -4
  67. package/skills/{ct-skill-creator → ct-skill-author}/SKILL.md +12 -4
  68. package/skills/{ct-skill-validator → ct-skill-author}/agents/ecosystem-checker.md +1 -1
  69. package/skills/{ct-skill-validator → ct-skill-author}/evals/quality_evals.json +10 -10
  70. package/skills/{ct-skill-validator → ct-skill-author}/evals/trigger_queries.json +1 -1
  71. package/skills/{ct-skill-validator → ct-skill-author}/references/cleo-ecosystem-rules.md +8 -4
  72. package/skills/{ct-skill-creator → ct-skill-author}/references/provider-deployment.md +10 -6
  73. package/skills/{ct-skill-validator/SKILL.md → ct-skill-author/references/validating.md} +14 -16
  74. package/skills/{ct-skill-validator → ct-skill-author}/references/validation-rules.md +2 -2
  75. package/skills/{ct-skill-validator → ct-skill-author}/scripts/_skill_finder.py +2 -2
  76. package/skills/{ct-skill-validator → ct-skill-author}/scripts/check_depth.py +2 -5
  77. package/skills/{ct-skill-validator → ct-skill-author}/scripts/generate_validation_report.py +1 -1
  78. package/skills/{ct-skill-validator → ct-skill-author}/scripts/run_quality_eval.py +2 -2
  79. package/skills/ct-spec-writer/SKILL.md +13 -7
  80. package/skills/ct-task-executor/SKILL.md +21 -21
  81. package/skills/ct-task-executor/references/common-failures.md +3 -3
  82. package/skills/ct-task-executor/references/evidence-and-gates.md +1 -0
  83. package/skills/ct-validator/SKILL.md +15 -9
  84. package/skills/ct-validator/references/compliance-reports.md +1 -1
  85. package/skills/ct-validator/references/validation-modes.md +3 -3
  86. package/skills/manifest.json +1313 -481
  87. package/dispatch-config.json +0 -983
  88. package/provider-skills-map.json +0 -97
  89. package/skills/ct-docs-lookup/SKILL.md +0 -181
  90. package/skills/ct-docs-lookup/references/ctx7-workflow.md +0 -198
  91. package/skills/ct-docs-lookup/references/library-id-resolution.md +0 -217
  92. package/skills/ct-docs-lookup/references/version-specific-docs.md +0 -220
  93. package/skills/ct-master-tac/SKILL.md +0 -116
  94. package/skills/ct-master-tac/__tests__/install.test.ts +0 -283
  95. package/skills/ct-master-tac/bundled/README.md +0 -40
  96. package/skills/ct-master-tac/bundled/protocols/architecture-decision.cant +0 -90
  97. package/skills/ct-master-tac/bundled/protocols/artifact-publish.cant +0 -105
  98. package/skills/ct-master-tac/bundled/protocols/consensus.cant +0 -85
  99. package/skills/ct-master-tac/bundled/protocols/contribution.cant +0 -92
  100. package/skills/ct-master-tac/bundled/protocols/decomposition.cant +0 -102
  101. package/skills/ct-master-tac/bundled/protocols/implementation.cant +0 -77
  102. package/skills/ct-master-tac/bundled/protocols/provenance.cant +0 -100
  103. package/skills/ct-master-tac/bundled/protocols/release.cant +0 -107
  104. package/skills/ct-master-tac/bundled/protocols/research.cant +0 -77
  105. package/skills/ct-master-tac/bundled/protocols/specification.cant +0 -77
  106. package/skills/ct-master-tac/bundled/protocols/testing.cant +0 -99
  107. package/skills/ct-master-tac/bundled/protocols/validation.cant +0 -75
  108. package/skills/ct-master-tac/bundled/teams/platform.cant +0 -115
  109. package/skills/ct-master-tac/manifest.json +0 -55
  110. package/skills/ct-skill-creator/eval-viewer/__pycache__/generate_review.cpython-314.pyc +0 -0
  111. package/skills/ct-skill-creator/manifest-entry.json +0 -17
  112. package/skills/ct-skill-creator/scripts/__pycache__/__init__.cpython-314.pyc +0 -0
  113. package/skills/ct-skill-creator/scripts/__pycache__/aggregate_benchmark.cpython-314.pyc +0 -0
  114. package/skills/ct-skill-creator/scripts/__pycache__/generate_report.cpython-314.pyc +0 -0
  115. package/skills/ct-skill-creator/scripts/__pycache__/improve_description.cpython-314.pyc +0 -0
  116. package/skills/ct-skill-creator/scripts/__pycache__/init_skill.cpython-314.pyc +0 -0
  117. package/skills/ct-skill-creator/scripts/__pycache__/quick_validate.cpython-314.pyc +0 -0
  118. package/skills/ct-skill-creator/scripts/__pycache__/run_eval.cpython-314.pyc +0 -0
  119. package/skills/ct-skill-creator/scripts/__pycache__/run_loop.cpython-314.pyc +0 -0
  120. package/skills/ct-skill-creator/scripts/__pycache__/utils.cpython-314.pyc +0 -0
  121. package/skills/ct-skill-validator/manifest-entry.json +0 -20
  122. package/skills/ct-stickynote/README.md +0 -14
  123. package/skills/signaldock-connect/SKILL.md +0 -132
  124. package/skills/signaldock-connect/assets/agent-card.json +0 -48
  125. package/skills/signaldock-connect/references/api-endpoints.md +0 -131
  126. package/skills.json +0 -495
  127. /package/skills/{ct-docs-review → ct-documentor}/references/inline-comment-patterns.md +0 -0
  128. /package/skills/{ct-docs-write → ct-documentor}/references/markdown-patterns.md +0 -0
  129. /package/skills/{ct-skill-creator → ct-skill-author}/agents/analyzer.md +0 -0
  130. /package/skills/{ct-skill-creator → ct-skill-author}/agents/comparator.md +0 -0
  131. /package/skills/{ct-skill-creator → ct-skill-author}/agents/grader.md +0 -0
  132. /package/skills/{ct-skill-creator → ct-skill-author}/assets/eval_review.html +0 -0
  133. /package/skills/{ct-skill-validator → ct-skill-author}/assets/valid-skill-example.md +0 -0
  134. /package/skills/{ct-skill-creator → ct-skill-author}/eval-viewer/generate_review.py +0 -0
  135. /package/skills/{ct-skill-creator → ct-skill-author}/eval-viewer/viewer.html +0 -0
  136. /package/skills/{ct-skill-creator → ct-skill-author}/references/dynamic-context.md +0 -0
  137. /package/skills/{ct-skill-creator → ct-skill-author}/references/frontmatter.md +0 -0
  138. /package/skills/{ct-skill-creator → ct-skill-author}/references/invocation-control.md +0 -0
  139. /package/skills/{ct-skill-creator → ct-skill-author}/references/output-patterns.md +0 -0
  140. /package/skills/{ct-skill-creator → ct-skill-author}/references/schemas.md +0 -0
  141. /package/skills/{ct-skill-creator → ct-skill-author}/references/workflows.md +0 -0
  142. /package/skills/{ct-skill-creator → ct-skill-author}/scripts/__init__.py +0 -0
  143. /package/skills/{ct-skill-creator → ct-skill-author}/scripts/aggregate_benchmark.py +0 -0
  144. /package/skills/{ct-skill-validator → ct-skill-author}/scripts/audit_body.py +0 -0
  145. /package/skills/{ct-skill-validator → ct-skill-author}/scripts/check_ecosystem.py +0 -0
  146. /package/skills/{ct-skill-creator → ct-skill-author}/scripts/generate_report.py +0 -0
  147. /package/skills/{ct-skill-creator → ct-skill-author}/scripts/improve_description.py +0 -0
  148. /package/skills/{ct-skill-creator → ct-skill-author}/scripts/init_skill.py +0 -0
  149. /package/skills/{ct-skill-creator → ct-skill-author}/scripts/package_skill.py +0 -0
  150. /package/skills/{ct-skill-creator → ct-skill-author}/scripts/quick_validate.py +0 -0
  151. /package/skills/{ct-skill-creator → ct-skill-author}/scripts/run_eval.py +0 -0
  152. /package/skills/{ct-skill-creator → ct-skill-author}/scripts/run_loop.py +0 -0
  153. /package/skills/{ct-skill-creator → ct-skill-author}/scripts/utils.py +0 -0
  154. /package/skills/{ct-skill-validator → ct-skill-author}/scripts/validate.py +0 -0
@@ -18,11 +18,8 @@
18
18
  ## Context Budget Monitoring
19
19
 
20
20
  ```bash
21
- # Check current context usage
22
- cleo orchestrate context
23
-
24
- # With specific token count
25
- cleo orchestrate context --tokens 5000
21
+ # Check context usage for an epic
22
+ cleo orchestrate context T1575
26
23
  ```
27
24
 
28
25
  **Status Thresholds**:
@@ -54,15 +51,14 @@ Orchestrator sessions may span multiple Claude conversations. This is expected a
54
51
  ### Cleanup Commands
55
52
 
56
53
  ```bash
57
- # Standard garbage collection (ended/suspended sessions only)
54
+ # Standard garbage collection
58
55
  cleo session gc
59
56
 
60
- # Include stale active sessions (>7 days old by default)
61
- cleo session gc --include-active
57
+ # Also end active sessions older than N days
58
+ cleo session gc --max-age 7
62
59
 
63
- # Preview what would be cleaned
64
- cleo session gc --dry-run
65
- cleo session gc --include-active --dry-run
60
+ # There is no dry-run; inspect first
61
+ cleo session list --status active
66
62
  ```
67
63
 
68
64
  ### Configuration
@@ -84,12 +80,12 @@ cleo config set retention.autoEndActiveAfterDays 14 # Extend to 2 weeks
84
80
 
85
81
  2. **Session suspend for long waits**: Suspend when blocked on external factors
86
82
  ```bash
87
- cleo session suspend --note "Awaiting code review"
83
+ cleo session suspend <sessionId> --reason "Awaiting code review"
88
84
  ```
89
85
 
90
86
  3. **Periodic cleanup**: Run garbage collection periodically to remove stale sessions
91
87
  ```bash
92
- cleo session gc --include-active
88
+ cleo session gc --max-age 7
93
89
  ```
94
90
 
95
91
  4. **Multi-day work**: No need to restart sessions daily - orchestrator sessions are designed for extended work periods
@@ -99,15 +95,9 @@ cleo config set retention.autoEndActiveAfterDays 14 # Extend to 2 weeks
99
95
  ## Validation
100
96
 
101
97
  ```bash
102
- # Full protocol validation
103
- cleo orchestrate validate
104
-
105
- # Validate for specific epic
106
- cleo orchestrate validate --epic T1575
107
-
108
- # Validate specific subagent output
109
- cleo orchestrate validate --subagent research-id-2026-01-18
98
+ # Validate one task's subagent output
99
+ cleo orchestrate validate T1586
110
100
 
111
- # Manifest only
112
- cleo orchestrate validate --manifest
101
+ # Validate a specific output file, and that a manifest entry was appended
102
+ cleo orchestrate validate T1586 --file <output-path> --manifest
113
103
  ```
@@ -11,14 +11,13 @@ Spawning is ALWAYS a two-step process: CLEO **prepares** the prompt, then the pr
11
11
 
12
12
  ```bash
13
13
  # Get next dependency-safe task
14
- cleo orchestrate next --epic T1575
14
+ cleo orchestrate next T1575
15
15
 
16
16
  # Generate fully-resolved spawn prompt
17
17
  cleo orchestrate spawn T1586
18
18
 
19
- # Or specify a skill template
20
- cleo orchestrate spawn T1586 --template ct-research-agent
21
- cleo orchestrate spawn T1586 --template RESEARCH-AGENT # aliases work
19
+ # Or override the protocol (the skill follows from it)
20
+ cleo orchestrate spawn T1586 --protocol research
22
21
  ```
23
22
 
24
23
  The `spawn` command returns:
@@ -110,7 +109,7 @@ skills/ct-documentor/SKILL.md
110
109
 
111
110
  ```bash
112
111
  # Step 1: Get ready task
113
- cleo orchestrate next --epic T1575
112
+ cleo orchestrate next T1575
114
113
  # Returns: { nextTask: { id: "T1586", title: "...", priority: "high" } }
115
114
 
116
115
  # Step 2: Generate spawn prompt (handles all token injection)
@@ -148,7 +147,7 @@ The function performs these steps automatically:
148
147
 
149
148
  | Step | Action | Details |
150
149
  |------|--------|---------|
151
- | 1 | Read task from CLEO | `cleo show T1234 --format json` |
150
+ | 1 | Read task from CLEO | `cleo show T1234` |
152
151
  | 2 | Select skill | Auto-dispatch from task type/labels or use override |
153
152
  | 3 | Validate skill | Check compatibility with target model |
154
153
  | 4 | Inject protocol | Load skill template + subagent protocol |
@@ -161,7 +160,7 @@ The function performs these steps automatically:
161
160
  Step 6 validates that the generated prompt contains the `SUBAGENT PROTOCOL` marker. This is **mandatory** and will fail loudly if missing:
162
161
 
163
162
  - **Exit code**: `EXIT_PROTOCOL_MISSING` (60)
164
- - **Fix command**: `cleo research inject`
163
+ - **Fix command**: `cleo orchestrate spawn <taskId>` (regenerates the prompt with the protocol embedded)
165
164
  - **Validation function**: `orchestrator_verify_protocol_injection()`
166
165
 
167
166
  If validation fails, the spawn is **blocked** and you must fix the skill template or manually inject the protocol block.
@@ -266,7 +265,7 @@ ti_set_context "T1234" "$(date +%Y-%m-%d)" "auth-implementation"
266
265
 
267
266
  # Set defaults and get task context
268
267
  ti_set_defaults
269
- task_json=$(cleo show T1234 --format json)
268
+ task_json=$(cleo show T1234)
270
269
  ti_set_task_context "$task_json"
271
270
  ```
272
271
 
@@ -290,6 +289,6 @@ Use Task tool with:
290
289
  # Check manifest for completion
291
290
  {{RESEARCH_SHOW_CMD}} <research-id>
292
291
 
293
- # Or use jq
294
- jq -s '.[-1] | {id, status, key_findings}' {{MANIFEST_PATH}}
292
+ # Or list the task's pipeline_manifest entries
293
+ cleo manifest list --task <taskId> --json --limit 1
295
294
  ```
@@ -16,7 +16,7 @@ The `spawn` command handles token injection automatically. For manual injection,
16
16
  # 3. Gets task context from CLEO
17
17
  # 4. Extracts manifest summaries
18
18
  # 5. Injects all tokens
19
- cleo orchestrate spawn T1586 --template ct-research-agent
19
+ cleo orchestrate spawn T1586 --protocol research
20
20
  ```
21
21
 
22
22
  ### Manual Token Injection
@@ -33,7 +33,7 @@ export TI_TOPIC_SLUG="my-research-topic"
33
33
  ti_set_defaults
34
34
 
35
35
  # 3. Optional: Get task context from CLEO
36
- task_json=$(cleo show T1234 --format json)
36
+ task_json=$(cleo show T1234)
37
37
  ti_set_task_context "$task_json"
38
38
 
39
39
  # 4. Load and inject skill template
@@ -70,7 +70,7 @@ template=$(ti_load_template "skills/ct-research-agent/SKILL.md")
70
70
 
71
71
  | Token | Default Value |
72
72
  |-------|---------------|
73
- | `{{OUTPUT_DIR}}` | `.cleo/agent-outputs` |
73
+ | `{{OUTPUT_DIR}}` | `.cleo/agent-outputs` (legacy token — do not write there; record output with `cleo docs add`) |
74
74
 
75
75
 
76
76
  ### Task Context Tokens (populated from CLEO task data)
@@ -113,7 +113,7 @@ For fine-grained control over token injection, use `lib/token-inject.sh` directl
113
113
  |----------|--------|--------|
114
114
  | **Required** | `{{TASK_ID}}`, `{{DATE}}`, `{{TOPIC_SLUG}}` | Must be set before injection |
115
115
  | **Task Commands** | `{{TASK_SHOW_CMD}}`, `{{TASK_START_CMD}}`, `{{TASK_COMPLETE_CMD}}`, etc. | CLEO defaults |
116
- | **Output Paths** | `{{OUTPUT_DIR}}`, `{{MANIFEST_PATH}}` | CLEO defaults |
116
+ | **Output Paths** | `{{OUTPUT_DIR}}` | Legacy CLEO default — record output with `cleo docs add` and manifest entries with `cleo manifest append` |
117
117
  | **Task Context** | `{{TASK_TITLE}}`, `{{TASK_DESCRIPTION}}`, `{{DEPENDS_LIST}}`, etc. | From CLEO task data |
118
118
  | **Manifest Context** | `{{MANIFEST_SUMMARIES}}` | From recent pipeline_manifest entries |
119
119
 
@@ -129,7 +129,7 @@ ti_set_context "T1234" "2026-01-20" "auth-research"
129
129
  ti_set_defaults
130
130
 
131
131
  # 3. Get task context from CLEO
132
- task_json=$(cleo show T1234 --format json)
132
+ task_json=$(cleo show T1234)
133
133
  ti_set_task_context "$task_json"
134
134
 
135
135
  # 4. Load and inject skill template
@@ -155,8 +155,8 @@ echo "$template" | grep -c '{{' && echo "WARNING: Uninjected tokens remain"
155
155
  ## Subagent Protocol Tokens
156
156
 
157
157
  Token defaults (from `skills/_shared/placeholders.json`):
158
- - `{{OUTPUT_DIR}}` -> `.cleo/agent-outputs`
159
- - `{{MANIFEST_PATH}}` -> retired (ADR-027) — use `cleo manifest append`
158
+ - `{{OUTPUT_DIR}}` -> `.cleo/agent-outputs` (legacy token — record output with `cleo docs add`, never raw writes there)
159
+ - The flat manifest path token is retired (ADR-027) — use `cleo manifest append`
160
160
 
161
161
  ### Inline Protocol Block (when CLI unavailable)
162
162
 
@@ -164,8 +164,8 @@ Token defaults (from `skills/_shared/placeholders.json`):
164
164
  ## SUBAGENT PROTOCOL (RFC 2119 - MANDATORY)
165
165
 
166
166
  OUTPUT REQUIREMENTS:
167
- 1. MUST write findings to: {{OUTPUT_DIR}}/{{DATE}}_{{TOPIC_SLUG}}.md
168
- 2. MUST append ONE entry via `cleo manifest append <json>` (writes to pipeline_manifest table per ADR-027/T1093)
167
+ 1. MUST record findings with `cleo docs add {{TASK_ID}} --content - --type <kind> --slug {{TOPIC_SLUG}}` (never a raw file under `.cleo/agent-outputs/`)
168
+ 2. MUST append ONE entry via `cleo manifest append --entry '<json>'` (writes to pipeline_manifest table per ADR-027/T1093)
169
169
  3. MUST return ONLY: "Research complete. Manifest appended to pipeline_manifest."
170
170
  4. MUST NOT return research content in response.
171
171
 
@@ -1,6 +1,15 @@
1
1
  ---
2
2
  name: ct-provenance-keeper
3
3
  description: "Generates in-toto v1 attestations, SLSA-level provenance records, SBOMs (CycloneDX or SPDX), and sigstore/cosign signatures for published artifacts. Invoked by ct-artifact-publisher as a delegation for signing and attestation. Records the full commit, then build, then artifact, then attestation, then registry chain in .cleo/releases.json and rejects publishes whose digest does not match the attestation. Triggers when artifact-publish reaches the provenance step or when a release needs SLSA L2+ attestation."
4
+ metadata:
5
+ version: 1.0.2
6
+ tier: on-demand
7
+ install: harness
8
+ covers:
9
+ - packages/core/src/validation/protocols/cant/provenance.cant
10
+ - packages/core/src/validation/protocols/protocols-markdown/provenance.md
11
+ lastReviewed: 2026-09-28
12
+ stability: stable
4
13
  ---
5
14
 
6
15
  # Provenance Keeper
@@ -127,11 +136,10 @@ Each release appends a record in the following shape. The skill MUST populate ev
127
136
  Validate the provenance entry through `cleo check protocol`:
128
137
 
129
138
  ```bash
130
- cleo check protocol \
131
- --protocolType provenance \
132
- --taskId T4902 \
133
- --hasAttestation true \
134
- --hasSbom true
139
+ cleo check protocol provenance \
140
+ --task-id T4902 \
141
+ --has-attestation true \
142
+ --has-sbom true
135
143
  ```
136
144
 
137
145
  Exit code 0 = provenance record is complete and verified. Exit code 90 = invalid config. Exit code 91 = signing key missing. Exit code 92 = signature invalid. Exit code 93 = digest mismatch (refuse to bind attestation). Exit code 94 = attestation format or subject is invalid.
@@ -158,4 +166,4 @@ Exit code 0 = provenance record is complete and verified. Exit code 90 = invalid
158
166
  5. Default to sigstore keyless signing via OIDC in CI; fall back to gpg only when configured.
159
167
  6. Generate CycloneDX SBOMs for every artifact with runtime dependencies.
160
168
  7. `.cleo/releases.json` is append-only; never mutate past entries.
161
- 8. Validate every run via `cleo check protocol --protocolType provenance`.
169
+ 8. Validate every run via `cleo check protocol provenance`.
@@ -2,14 +2,20 @@
2
2
  name: ct-release-orchestrator
3
3
  description: "Orchestrates the canonical 4-verb release pipeline introduced by SPEC-T9345: cleo release plan, then cleo release open, then PR + GHA tag workflow, then cleo release reconcile. The deprecated cleo release ship monolith was deleted in T10103 — do not invoke it. Use ship-e2e-smoke to validate the full pipeline end-to-end (dry-run by default). The full verb-to-state map is in docs/release/verb-matrix.md. Use when shipping a new version, validating the release pipeline end-to-end, or promoting a completed epic to released status."
4
4
  protocol: release
5
- loomStage: release
6
5
  adrRefs:
7
6
  - ADR-053
8
7
  - ADR-063
9
8
  - ADR-065
10
9
  metadata:
11
- version: 3.0.0
12
- lastReviewed: 2026-05-22
10
+ version: 3.0.2
11
+ tier: on-demand
12
+ install: harness
13
+ covers:
14
+ - packages/core/src/validation/protocols/cant/release.cant
15
+ - packages/core/src/validation/protocols/protocols-markdown/release.md
16
+ - packages/cleo/src/cli/commands/release.ts
17
+ loomStage: release
18
+ lastReviewed: 2026-09-28
13
19
  stability: stable
14
20
  ---
15
21
 
@@ -30,7 +36,7 @@ Owns the canonical 4-verb release pipeline established by SPEC-T9345 and finalis
30
36
  | 1 | `cleo release plan <ver> --epic <id>` | _(none)_ → `planned` | Builds the Release Plan envelope; auto-writes `CHANGELOG.md` (T10105 closes the silent-skip gap) |
31
37
  | 2 | `cleo release open <ver>` | `planned` → `pr-opened` | Dispatches `release-prepare.yml`; the workflow cuts the branch + opens the PR |
32
38
  | 3 | _(GHA)_ `release-prepare.yml` → PR merge | `pr-opened` → `pr-merged` | Owned by CI; verify via `cleo release pr-status <ver>` |
33
- | 4 | _(GHA)_ `auto-tag-on-release-merge.yml` (T10104) | `pr-merged` → `tag-pushed` | Auto-tag on merge — no manual `git tag` needed |
39
+ | 4 | `git tag -a v<ver> -m "Release v<ver>" && git push origin v<ver>` | `pr-merged` → `tag-pushed` | Explicit tag after the release PR merges — `auto-tag-on-release-merge.yml` is retired (T10434, ADR-087); the tag push triggers `release.yml` |
34
40
  | 5 | `cleo release reconcile <ver>` | `tag-pushed` → `published` | Backfills 11 provenance tables; idempotent |
35
41
 
36
42
  Optional validators (read-only / dry-run):
@@ -47,15 +53,15 @@ Optional validators (read-only / dry-run):
47
53
  |----|------|-------------|
48
54
  | RLSE-001 | Version MUST be CalVer (`YYYY.MM.patch`) per ADR-065 — never SemVer. | `cleo release plan` rejects non-CalVer; exit 53. |
49
55
  | RLSE-002 | `CHANGELOG.md` MUST be updated before the tag — always-write is the default behaviour of `cleo release plan` (T9784 deleted the manual changelog verb). | Plan envelope refuses to advance to `pr-opened` if the changeset directory is unparseable (T10105). |
50
- | RLSE-003 | All per-task evidence gates MUST be recorded via `cleo verify <task> --gate <g> --evidence …` BEFORE `cleo complete`. The legacy `cleo release verify` batch verb was deleted in T9540. | ADR-051 per-task evidence ritual. |
51
- | RLSE-004 | The release MUST be tagged via the auto-tag GHA workflow — not a manual `git tag`. | T10104 closes the auto-tag gap. |
56
+ | RLSE-003 | All per-task evidence gates MUST be recorded via `cleo verify <task> --gate <g> --evidence …` BEFORE `cleo complete`. The legacy `cleo release verify` batch verb was deleted in T9540. | ADR-051 per-task evidence ritual. | <!-- cleo-cmd: negative-example: release verify -->
57
+ | RLSE-004 | The release MUST be tagged explicitly (`git tag -a v<ver>` + `git push origin v<ver>`) after the release PR merges. | Auto-tag was retired in T10434 / ADR-087: `GITHUB_TOKEN` tag pushes did not reliably trigger `release.yml`. |
52
58
  | RLSE-005 | Direct pushes to `main` are prohibited. Every release ships via a PR cut by `release-prepare.yml`. | ADR-065 + branch protection (see `docs/release/branch-protection-setup.md`). |
53
59
  | RLSE-006 | Version MUST be consistent across all workspace targets resolved by `resolveVersionBumpTargets` (root package.json + every workspace package + Cargo workspace). | Version-bump preflight in `release-prepare.yml`. |
54
60
  | RLSE-007 | Provenance reconcile MUST run within the release-publish workflow — never as a manual followup. | Invoked by `release-publish.yml`. |
55
61
 
56
62
  ## Integration
57
63
 
58
- Use the explicit two-verb invocation. **Do not** invoke `cleo release ship` — it was deleted in T10103.
64
+ Use the explicit verbs. **Do not** invoke `cleo release ship` — it was deleted in T10103. <!-- cleo-cmd: negative-example: release ship -->
59
65
 
60
66
  ```bash
61
67
  # 1. Plan — build the canonical Release Plan envelope.
@@ -67,7 +73,11 @@ cleo release open v2026.6.0
67
73
  # 3. (Optional) Poll PR + CI status while the workflow runs.
68
74
  cleo release pr-status v2026.6.0
69
75
 
70
- # 4. Reconcile — runs automatically inside release-publish.yml.
76
+ # 4. After the release PR merges, tag explicitly (auto-tag is retired).
77
+ git tag -a v2026.6.0 -m "Release v2026.6.0"
78
+ git push origin v2026.6.0
79
+
80
+ # 5. Reconcile — runs automatically inside release-publish.yml.
71
81
  # Run manually only if backfilling a historical release.
72
82
  cleo release reconcile v2026.6.0
73
83
  ```
@@ -88,7 +98,7 @@ Exit codes (canonical):
88
98
  - `0` — success.
89
99
  - `53` — version validation failed (e.g. not CalVer).
90
100
  - `54` — release-prepare workflow gate failed.
91
- - `56` — tag creation failed (auto-tag workflow).
101
+ - `56` — tag creation failed.
92
102
  - `82` — `E_PLAN_NOT_FOUND` (plan envelope missing for the requested version).
93
103
  - `83` — `E_IVTR_INCOMPLETE` (per-task IVTR loops not released).
94
104
  - `88` — artifact publish failed.
@@ -97,9 +107,9 @@ Exit codes (canonical):
97
107
 
98
108
  | Pattern | Problem | Solution |
99
109
  |---------|---------|----------|
100
- | Running `cleo release ship` | The verb was deleted in T10103 — the command will exit with `Unknown command`. | Use `cleo release plan` + `cleo release open`. |
110
+ | Running `cleo release ship` | The verb was deleted in T10103 — the command will exit with `Unknown command`. | Use `cleo release plan` + `cleo release open`. | <!-- cleo-cmd: negative-example: release ship -->
101
111
  | Manually invoking `gh workflow run release-prepare.yml` | Bypasses the plan envelope; `releases.status` stays at `planned`. | Always go through `cleo release open <ver>` — it tracks state in the `releases` table. |
102
- | Manually `git tag v<ver> && git push --tags` | Bypasses the auto-tag workflow (T10104) and skips provenance backfill. | Let `auto-tag-on-release-merge.yml` create the tag on PR merge. |
112
+ | Tagging before the release PR merges, or `git push --tags` | Tags an unmerged commit, or pushes every local tag. | Tag the merged release commit and push that one tag: `git push origin v<ver>`. |
103
113
  | Hand-editing `CHANGELOG.md` for the new version | Drift between the changeset directory and the changelog. | `cleo release plan` always auto-writes the section (T10105). Use `cleo changeset add` to author entries. |
104
114
  | Pasting one verb into another's workflow file | Multi-step orchestration belongs in `ship-e2e-smoke`. | Use `cleo release ship-e2e-smoke … --execute` for end-to-end validation. |
105
115
  | Running the pipeline on a dirty worktree | Release commit scoops up unrelated changes. | The clean-tree gate refuses to advance. |
@@ -108,10 +118,10 @@ Exit codes (canonical):
108
118
  ## Critical Rules Summary
109
119
 
110
120
  1. The 4-verb pipeline — `plan`, `open`, `reconcile`, `rollback` — is the ONLY way to ship.
111
- 2. The deprecated `cleo release ship` shim was DELETED in T10103. Do not invoke it.
121
+ 2. The deprecated `cleo release ship` shim was DELETED in T10103. Do not invoke it. <!-- cleo-cmd: negative-example: release ship -->
112
122
  3. CalVer (`YYYY.MM.patch`) is the only valid version scheme.
113
123
  4. `cleo release plan` always writes the CHANGELOG section unless `--no-changelog`.
114
- 5. The tag is created by `auto-tag-on-release-merge.yml`, not by hand.
124
+ 5. The tag is created explicitly after the release PR merges; `auto-tag-on-release-merge.yml` is retired (T10434, ADR-087).
115
125
  6. Provenance reconcile is invoked by `release-publish.yml`, not manually (unless backfilling).
116
126
  7. Per-task evidence gates use `cleo verify --gate --evidence` per ADR-051 — not the deleted batch verb.
117
127
  8. Use `cleo release ship-e2e-smoke` to validate the full pipeline before a real ship.
@@ -31,7 +31,7 @@ release → artifact-publish → provenance
31
31
  | 93 | provenance | `E_DIGEST_MISMATCH` |
32
32
  | 94 | provenance | `E_ATTESTATION_INVALID` |
33
33
 
34
- The parent MUST NOT remap sub-protocol exit codes. A caller reading `cleo release ship` output needs to know exactly which step failed.
34
+ The parent MUST NOT remap sub-protocol exit codes. A caller reading `cleo release open` / `cleo release pr-status` output needs to know exactly which step failed.
35
35
 
36
36
  ## Rollback Semantics
37
37
 
@@ -18,8 +18,11 @@ No package is produced. Used for docs, spec updates, and internal code changes t
18
18
  ### Commands
19
19
 
20
20
  ```bash
21
- cleo release ship v2026.4.5 --bump-version --create-tag --push --no-artifacts
22
- cleo check protocol --protocolType release --version v2026.4.5 --hasChangelog true
21
+ cleo release plan v2026.4.5 --epic T####
22
+ cleo release open v2026.4.5
23
+ # after the release PR merges:
24
+ git tag -a v2026.4.5 -m "Release v2026.4.5" && git push origin v2026.4.5
25
+ cleo check protocol release --version v2026.4.5 --has-changelog true
23
26
  ```
24
27
 
25
28
  ## npm-Package Release
@@ -38,11 +41,14 @@ Publishes one or more npm packages from the monorepo. Uses `npm publish --proven
38
41
  ### Commands
39
42
 
40
43
  ```bash
41
- cleo release ship v2026.4.5 --bump-version --create-tag --push
44
+ cleo release plan v2026.4.5 --epic T####
45
+ cleo release open v2026.4.5
46
+ # after the release PR merges:
47
+ git tag -a v2026.4.5 -m "Release v2026.4.5" && git push origin v2026.4.5
42
48
  # CI handles the publish + attestation; the skill records the result.
43
- cleo check protocol --protocolType release --version v2026.4.5 --hasChangelog true
44
- cleo check protocol --protocolType artifact-publish --artifactType npm-package --buildPassed true
45
- cleo check protocol --protocolType provenance --hasAttestation true --hasSbom true
49
+ cleo check protocol release --version v2026.4.5 --has-changelog true
50
+ cleo check protocol artifact-publish --artifact-type npm-package --build-passed true
51
+ cleo check protocol provenance --has-attestation true --has-sbom true
46
52
  ```
47
53
 
48
54
  ## docker-image Release
@@ -61,10 +67,13 @@ Builds and pushes a container image to GHCR or another OCI registry, signs with
61
67
  ### Commands
62
68
 
63
69
  ```bash
64
- cleo release ship v2026.4.5 --bump-version --create-tag --push
70
+ cleo release plan v2026.4.5 --epic T####
71
+ cleo release open v2026.4.5
72
+ # after the release PR merges:
73
+ git tag -a v2026.4.5 -m "Release v2026.4.5" && git push origin v2026.4.5
65
74
  # CI runs: docker build → cosign sign → cosign attest → syft sbom → push
66
- cleo check protocol --protocolType artifact-publish --artifactType docker-image --buildPassed true
67
- cleo check protocol --protocolType provenance --hasAttestation true --hasSbom true
75
+ cleo check protocol artifact-publish --artifact-type docker-image --build-passed true
76
+ cleo check protocol provenance --has-attestation true --has-sbom true
68
77
  ```
69
78
 
70
79
  ## cargo-crate Release
@@ -82,9 +91,12 @@ Publishes one or more crates from the Rust workspace to crates.io.
82
91
  ### Commands
83
92
 
84
93
  ```bash
85
- cleo release ship v2026.4.5 --bump-version --create-tag --push
94
+ cleo release plan v2026.4.5 --epic T####
95
+ cleo release open v2026.4.5
96
+ # after the release PR merges:
97
+ git tag -a v2026.4.5 -m "Release v2026.4.5" && git push origin v2026.4.5
86
98
  # CI runs: cargo test → cargo publish --dry-run → cargo publish
87
- cleo check protocol --protocolType artifact-publish --artifactType cargo-crate --buildPassed true
99
+ cleo check protocol artifact-publish --artifact-type cargo-crate --build-passed true
88
100
  ```
89
101
 
90
102
  ## github-tarball Release
@@ -101,9 +113,12 @@ Creates a source tarball and attaches it to a GitHub Release. Optional cosign si
101
113
  ### Commands
102
114
 
103
115
  ```bash
104
- cleo release ship v2026.4.5 --bump-version --create-tag --push
116
+ cleo release plan v2026.4.5 --epic T####
117
+ cleo release open v2026.4.5
118
+ # after the release PR merges:
119
+ git tag -a v2026.4.5 -m "Release v2026.4.5" && git push origin v2026.4.5
105
120
  # gh release create runs in CI with the tarball attached
106
- cleo check protocol --protocolType artifact-publish --artifactType github-release --buildPassed true
121
+ cleo check protocol artifact-publish --artifact-type github-release --build-passed true
107
122
  ```
108
123
 
109
124
  ## Multi-Artifact Release
@@ -120,9 +135,12 @@ A release with more than one artifact type — typical for a major version that
120
135
  ### Commands
121
136
 
122
137
  ```bash
123
- cleo release ship v2026.4.5 --bump-version --create-tag --push
138
+ cleo release plan v2026.4.5 --epic T####
139
+ cleo release open v2026.4.5
140
+ # after the release PR merges:
141
+ git tag -a v2026.4.5 -m "Release v2026.4.5" && git push origin v2026.4.5
124
142
  # CI orchestrates all publishes; skill records the unified chain
125
- cleo check protocol --protocolType release --version v2026.4.5 --hasChangelog true
143
+ cleo check protocol release --version v2026.4.5 --has-changelog true
126
144
  ```
127
145
 
128
146
  ## Which Checklist Wins?
@@ -1,12 +1,8 @@
1
1
  ---
2
2
  name: ct-research-agent
3
3
  description: Multi-source research and investigation combining web search, documentation lookup via Context7, and codebase analysis. Synthesizes findings into actionable recommendations with proper citation and task traceability. Use when conducting research, investigating best practices, gathering technical information, or analyzing existing implementations. Triggers on research tasks, investigation needs, or information discovery requests.
4
- version: 2.0.0
5
- tier: 2
6
- core: false
7
- category: recommended
4
+ version: 2.0.4
8
5
  protocol: research
9
- loomStage: research
10
6
  adrRefs:
11
7
  - ADR-023
12
8
  - ADR-070
@@ -20,6 +16,16 @@ compatibility:
20
16
  - windsurf
21
17
  - gemini-cli
22
18
  license: MIT
19
+ metadata:
20
+ version: 2.0.4
21
+ tier: on-demand
22
+ install: harness
23
+ covers:
24
+ - packages/core/src/validation/protocols/cant/research.cant
25
+ - packages/core/src/validation/protocols/protocols-markdown/research.md
26
+ loomStage: research
27
+ lastReviewed: 2026-09-28
28
+ stability: stable
23
29
  ---
24
30
 
25
31
  # Research Context Injection
@@ -70,8 +76,8 @@ Context injection for research and investigation tasks spawned via cleo-subagent
70
76
  1. Read task: `{{TASK_SHOW_CMD}} {{TASK_ID}}`
71
77
  2. Focus already set by orchestrator (skip if working standalone, set if needed)
72
78
  3. Conduct research (see Methodology below)
73
- 4. Write output: `{{OUTPUT_DIR}}/{{DATE}}_{{TOPIC_SLUG}}.md`
74
- 5. Append manifest: `{{MANIFEST_PATH}}`
79
+ 4. Record output: `cleo docs add {{TASK_ID}} --content - --type research --slug {{TOPIC_SLUG}}`
80
+ 5. Record the manifest entry: `cleo manifest append --task {{TASK_ID}} --type research --content "<one-paragraph summary>"`
75
81
  6. Complete task: `{{TASK_COMPLETE_CMD}} {{TASK_ID}}`
76
82
  7. Return summary message
77
83
 
@@ -109,8 +115,8 @@ Context injection for research and investigation tasks spawned via cleo-subagent
109
115
 
110
116
  ### Output Requirements
111
117
 
112
- 1. MUST write findings to: `{{OUTPUT_DIR}}/{{DATE}}_{{TOPIC_SLUG}}.md`
113
- 2. MUST append ONE line to: `{{MANIFEST_PATH}}`
118
+ 1. MUST record findings with `cleo docs add {{TASK_ID}} --content - --type research --slug {{TOPIC_SLUG}}` (never a raw file under `.cleo/agent-outputs/`)
119
+ 2. MUST record ONE manifest entry: `cleo manifest append --entry '<entry JSON>'` (the flat manifest file is retired, ADR-027)
114
120
  3. MUST return ONLY: "Research complete. Manifest appended to pipeline_manifest."
115
121
  4. MUST NOT return research content in response
116
122
 
@@ -118,7 +124,7 @@ Context injection for research and investigation tasks spawned via cleo-subagent
118
124
 
119
125
  ## Output File Format
120
126
 
121
- Write to `{{OUTPUT_DIR}}/{{DATE}}_{{TOPIC_SLUG}}.md`:
127
+ Record it with `cleo docs add {{TASK_ID}} --content - --type research --slug {{TOPIC_SLUG}}`, using this body:
122
128
 
123
129
  ```markdown
124
130
  # {{RESEARCH_TITLE}}
@@ -159,7 +165,7 @@ Write to `{{OUTPUT_DIR}}/{{DATE}}_{{TOPIC_SLUG}}.md`:
159
165
 
160
166
  ## Manifest Entry Format
161
167
 
162
- Append ONE entry via `cleo manifest append <json>` (writes to pipeline_manifest table per ADR-027):
168
+ Append ONE entry via `cleo manifest append --entry '<json>'` (writes to pipeline_manifest table per ADR-027):
163
169
 
164
170
  ```json
165
171
  {"id":"{{TOPIC_SLUG}}-{{DATE}}","file":"{{DATE}}_{{TOPIC_SLUG}}.md","title":"{{RESEARCH_TITLE}}","date":"{{DATE}}","status":"complete","agent_type":"research","topics":{{TOPICS_JSON}},"key_findings":["Finding 1","Finding 2","Finding 3"],"actionable":true,"needs_followup":[],"linked_tasks":["{{EPIC_ID}}","{{TASK_ID}}"]}
@@ -181,7 +187,7 @@ Append ONE entry via `cleo manifest append <json>` (writes to pipeline_manifest
181
187
  - [ ] Task details read via `{{TASK_SHOW_CMD}}`
182
188
  - [ ] Research conducted across multiple sources
183
189
  - [ ] Findings synthesized with recommendations
184
- - [ ] Output file written to `{{OUTPUT_DIR}}/`
190
+ - [ ] Output recorded with `cleo docs add` (slug in the return message)
185
191
  - [ ] Manifest entry appended (single line, valid JSON)
186
192
  - [ ] Task completed via `{{TASK_COMPLETE_CMD}}`
187
193
  - [ ] Response is ONLY the summary message
@@ -38,12 +38,12 @@ to sibling skills that have narrower context budgets and stricter contracts.
38
38
  | "write the spec for X" | `ct-spec-writer` |
39
39
  | "validate this implementation against the spec" | `ct-validator` |
40
40
  | "decompose this epic into tasks" | `ct-epic-architect` |
41
- | "look up Next.js 15 middleware API" | `ct-docs-lookup` (single-library fetch) |
41
+ | "look up Next.js 15 middleware API" | the Context7 MCP (single-library fetch) |
42
42
  | "decide between A and B" (no investigation needed) | `ct-consensus-voter` |
43
43
  | "explain this function" | (no skill — direct read suffices) |
44
44
 
45
45
  A useful heuristic: if the user already knows the answer and just wants it
46
- written down, route to `ct-spec-writer` or `ct-docs-write`. Research is for
46
+ written down, route to `ct-spec-writer` or `ct-documentor` (`references/writing.md`). Research is for
47
47
  when the answer is not yet known.
48
48
 
49
49
  ## Routing to Downstream Skills
@@ -68,11 +68,11 @@ Research outputs typically feed one of these next stages. The manifest
68
68
 
69
69
  ```
70
70
  Is the answer already known and just needs documentation?
71
- ├── YES → ct-docs-write
71
+ ├── YES → the writing guide (`ct-documentor/references/writing.md`)
72
72
  └── NO → continue
73
73
  │
74
74
  Is this a single-library API question?
75
- ├── YES → ct-docs-lookup
75
+ ├── YES → the Context7 MCP
76
76
  └── NO → ct-research-agent (this skill)
77
77
  │
78
78
  After research, do findings produce requirements?
@@ -1,12 +1,20 @@
1
1
  ---
2
- name: ct-skill-creator
3
- description: Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
2
+ name: ct-skill-author
3
+ description: Create, improve and validate CLEO skills. Use when writing a new skill or updating an existing one (structure, frontmatter, progressive disclosure, trigger descriptions, evals), and when auditing a skill folder against the CLEO standard before it ships (structural, ecosystem-fit and quality validation with an HTML report). Internal to CLEO development — not installed to harnesses.
4
4
  license: MIT
5
+ metadata:
6
+ version: 2.0.1
7
+ tier: internal
8
+ install: internal
9
+ lastReviewed: 2026-09-28
10
+ stability: stable
5
11
  ---
6
12
 
7
- # Skill Creator
13
+ # Skill Author
8
14
 
9
- This skill provides guidance for creating effective skills.
15
+ Guidance for creating effective skills, and the validation loop that checks them.
16
+ This skill merges the former ct-skill-creator and ct-skill-validator (T12649, D11157).
17
+ For validation, load `references/validating.md`; its scripts live in `scripts/`.
10
18
 
11
19
  ## About Skills
12
20
 
@@ -93,7 +93,7 @@ Save to the path specified in your prompt (default: `ecosystem-check.json` in th
93
93
 
94
94
  ```json
95
95
  {
96
- "skill_name": "ct-skill-validator",
96
+ "skill_name": "ct-skill-author",
97
97
  "verdict": "PASS|PASS_WITH_WARNINGS|FAIL",
98
98
  "rules": [
99
99
  {
@@ -1,12 +1,12 @@
1
1
  {
2
- "skill_name": "ct-skill-validator",
2
+ "skill_name": "ct-skill-author",
3
3
  "evals": [
4
4
  {
5
5
  "id": 1,
6
- "prompt": "Validate the ct-skill-creator skill against the v2 standard and show me a full report",
7
- "expected_output": "A complete tier-by-tier validation report showing pass/fail/warn status for ct-skill-creator, with an HTML report opened in the browser",
6
+ "prompt": "Validate the ct-skill-author skill against the v2 standard and show me a full report",
7
+ "expected_output": "A complete tier-by-tier validation report showing pass/fail/warn status for ct-skill-author, with an HTML report opened in the browser",
8
8
  "expectations": [
9
- "Claude runs validate.py against ct-skill-creator",
9
+ "Claude runs validate.py against ct-skill-author",
10
10
  "The output shows results for all 5 tiers",
11
11
  "Claude runs generate_validation_report.py to produce an HTML report",
12
12
  "Claude tells the user the report path or opens it in the browser",
@@ -27,20 +27,20 @@
27
27
  },
28
28
  {
29
29
  "id": 3,
30
- "prompt": "Audit the ct-skill-validator skill itself — run all checks and give me a full findings report",
31
- "expected_output": "Full self-audit of ct-skill-validator including validate gauntlet and audit_body, with HTML report",
30
+ "prompt": "Audit the ct-skill-author skill itself — run all checks and give me a full findings report",
31
+ "expected_output": "Full self-audit of ct-skill-author including validate gauntlet and audit_body, with HTML report",
32
32
  "expectations": [
33
- "Claude runs validate.py against ct-skill-validator",
33
+ "Claude runs validate.py against ct-skill-author",
34
34
  "Claude runs audit_body.py for the deep body quality audit",
35
35
  "An HTML report combining all findings is generated",
36
36
  "Claude opens or links the HTML report for the user",
37
- "The result correctly reflects ct-skill-validator's actual compliance status"
37
+ "The result correctly reflects ct-skill-author's actual compliance status"
38
38
  ]
39
39
  },
40
40
  {
41
41
  "id": 4,
42
- "prompt": "Run the manifest alignment check for ct-skill-validator against the CLEO manifest",
43
- "expected_output": "Manifest alignment results showing whether ct-skill-validator is registered correctly in manifest.json and dispatch-config.json",
42
+ "prompt": "Run the manifest alignment check for ct-skill-author against the CLEO manifest",
43
+ "expected_output": "Manifest alignment results showing whether ct-skill-author is registered correctly in manifest.json",
44
44
  "expectations": [
45
45
  "Claude passes --manifest to validate.py (Tier 4 check)",
46
46
  "The manifest.json path is correctly resolved",
@@ -2,7 +2,7 @@
2
2
  {"query": "validate my skill against v2 standard", "should_trigger": true},
3
3
  {"query": "check if this skill folder is v2 compliant", "should_trigger": true},
4
4
  {"query": "audit the skill structure and frontmatter", "should_trigger": true},
5
- {"query": "run v2 compliance check on ct-skill-creator", "should_trigger": true},
5
+ {"query": "run v2 compliance check on ct-skill-author", "should_trigger": true},
6
6
  {"query": "is my SKILL.md missing required fields", "should_trigger": true},
7
7
  {"query": "verify skill passes all CLEO validation tiers", "should_trigger": true},
8
8
  {"query": "prepare skill for distribution, check for issues", "should_trigger": true},