@cleocode/skills 2026.5.93 → 2026.5.95
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/skills/ct-cleo/SKILL.md +65 -0
package/package.json
CHANGED
package/skills/ct-cleo/SKILL.md
CHANGED
|
@@ -51,3 +51,68 @@ Full charter (8 invariants + lifecycle decision table + prefix registry) lives i
|
|
|
51
51
|
CLEO-INJECTION.md `task-creation` section (`cleo briefing inject --section task-creation`).
|
|
52
52
|
|
|
53
53
|
For full decision trees and operation reference tables, emit sections above.
|
|
54
|
+
|
|
55
|
+
## Decomposing an epic into N tasks
|
|
56
|
+
|
|
57
|
+
When you need to bulk-create child tasks under an epic, use `cleo add-batch`. It inserts all
|
|
58
|
+
tasks in a single atomic transaction — if ANY task fails validation, ALL inserts are rolled back.
|
|
59
|
+
This is the canonical pattern for epic decomposition; prefer it over N sequential `cleo add` calls.
|
|
60
|
+
|
|
61
|
+
### Canonical command
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
cleo add-batch --file tasks.json --parent <epicId>
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Minimal JSON example
|
|
68
|
+
|
|
69
|
+
Create a `tasks.json` file (array of task objects):
|
|
70
|
+
|
|
71
|
+
```json
|
|
72
|
+
[
|
|
73
|
+
{
|
|
74
|
+
"title": "Research: survey add-batch prior art",
|
|
75
|
+
"acceptance": "Written summary of 3+ prior approaches|Coverage of rollback semantics"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"title": "Implement: add-batch CORE op with atomic semantics",
|
|
79
|
+
"acceptance": "All tasks inserted or none|Returns IDs of created tasks"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"title": "TF: teach add-batch in ct-cleo SKILL.md + CLEO-INJECTION",
|
|
83
|
+
"acceptance": "SKILL.md contains Decomposing an epic section|INJECTION Task Creation table includes add-batch row"
|
|
84
|
+
}
|
|
85
|
+
]
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Every object in the array supports the same fields as `cleo add` (`title`, `acceptance`,
|
|
89
|
+
`kind`, `priority`, `size`, `labels`, `depends`). The `--parent` flag applies to all items.
|
|
90
|
+
|
|
91
|
+
### Flags
|
|
92
|
+
|
|
93
|
+
| Flag | Description |
|
|
94
|
+
|------|-------------|
|
|
95
|
+
| `--file <path>` | Path to JSON file (array of task objects) |
|
|
96
|
+
| `-` | Read JSON array from stdin (`echo '[...]' \| cleo add-batch --file - --parent <id>`) |
|
|
97
|
+
| `--parent <id>` | Parent epic/task ID. All created tasks become direct children. |
|
|
98
|
+
| `--dry-run` | Validate and preview all tasks without inserting. Shows what would be created. |
|
|
99
|
+
|
|
100
|
+
### Rollback semantic
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
ANY task fails → ALL inserts rolled back (zero partial state)
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Run `--dry-run` first to catch validation errors (missing `acceptance`, title too long, etc.)
|
|
107
|
+
before committing the batch.
|
|
108
|
+
|
|
109
|
+
### Meta-dogfood: how T9813 itself was decomposed
|
|
110
|
+
|
|
111
|
+
The Epic T9813 (`add-batch` feature saga) used this exact pattern to create its child tasks
|
|
112
|
+
(T9814–T9819) in a single call. Use the task decomposition from your epic planning as the
|
|
113
|
+
input JSON — `cleo show <epicId>` acceptance criteria → tasks array → `cleo add-batch`.
|
|
114
|
+
|
|
115
|
+
### Related
|
|
116
|
+
|
|
117
|
+
- Saga/Epic workflow: `cleo briefing inject --section task-creation`
|
|
118
|
+
- Single task: `cleo add --type task --parent <id> --acceptance "..." --title "..."`
|