@controllerai/cli 0.2.17 → 0.2.20

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 (39) hide show
  1. package/dist/api/client.js +32 -0
  2. package/dist/api/client.js.map +1 -1
  3. package/dist/commands/agent.js +101 -8
  4. package/dist/commands/agent.js.map +1 -1
  5. package/dist/commands/expr.js +3 -10
  6. package/dist/commands/expr.js.map +1 -1
  7. package/dist/commands/file.js +11 -1
  8. package/dist/commands/file.js.map +1 -1
  9. package/dist/commands/integration.js +8 -2
  10. package/dist/commands/integration.js.map +1 -1
  11. package/dist/commands/workflow.js +29 -6
  12. package/dist/commands/workflow.js.map +1 -1
  13. package/dist/errors.js +5 -2
  14. package/dist/errors.js.map +1 -1
  15. package/package.json +1 -1
  16. package/skills/controllerai-agents/SKILL.md +25 -192
  17. package/skills/controllerai-agents/references/command-reference.md +205 -0
  18. package/skills/controllerai-ai-nodes/SKILL.md +11 -92
  19. package/skills/controllerai-ai-nodes/references/command-reference.md +98 -0
  20. package/skills/controllerai-data/SKILL.md +34 -159
  21. package/skills/controllerai-data/references/command-reference.md +177 -0
  22. package/skills/controllerai-expressions/SKILL.md +29 -151
  23. package/skills/controllerai-expressions/references/command-reference.md +166 -0
  24. package/skills/controllerai-expressions/references/dsl-and-recipes.md +1 -1
  25. package/skills/controllerai-flow-control/SKILL.md +21 -160
  26. package/skills/controllerai-flow-control/references/command-reference.md +171 -0
  27. package/skills/controllerai-integration-actions/SKILL.md +11 -112
  28. package/skills/controllerai-integration-actions/references/command-reference.md +118 -0
  29. package/skills/controllerai-node-config/SKILL.md +18 -178
  30. package/skills/controllerai-node-config/references/command-reference.md +186 -0
  31. package/skills/controllerai-runs/SKILL.md +25 -117
  32. package/skills/controllerai-runs/references/command-reference.md +113 -0
  33. package/skills/controllerai-start/SKILL.md +36 -67
  34. package/skills/controllerai-start/references/mcp-tool-map.md +6 -0
  35. package/skills/controllerai-triggers/SKILL.md +16 -210
  36. package/skills/controllerai-triggers/references/command-reference.md +215 -0
  37. package/skills/controllerai-workflows/SKILL.md +24 -104
  38. package/skills/controllerai-workflows/references/command-reference.md +118 -0
  39. package/skills/manifest.json +120 -60
@@ -0,0 +1,118 @@
1
+ # Controller AI workflows
2
+
3
+
4
+
5
+ - Lock the effective workflow ID and exact flow ID; see Establish context.
6
+ - Repair the selected workflow and flow instead of creating replacements; see Build protocol.
7
+ - Keep workflow, flow, node, input, and output IDs distinct; see Lifecycle rules.
8
+ - Preserve contract fields in place and refresh their dependents; see Lifecycle rules.
9
+ - Use save, history, and restore for recovery instead of rebuilding; see Lifecycle rules.
10
+ - Treat validation counts as status; prove the requested rail and stop. See Lifecycle rules and Before you finish.
11
+
12
+ ## Establish context
13
+
14
+ ```bash
15
+ cai auth status --json
16
+ cai workflow list --json
17
+ cai use <workflowId>
18
+ cai workflow status --json
19
+ ```
20
+
21
+ MCP: use `account_status`, then call `workflow_list` and `workflow_status` with explicit `workflowId`; there is no `cai use` or stored pin.
22
+
23
+ If no workflow exists, create it with its final name:
24
+
25
+ ```bash
26
+ cai workflow create --name "<clear outcome-oriented name>" --json
27
+ ```
28
+
29
+ Read `selected`, `effectiveWorkflowId`, and `pinSource`; creation may not win the pin. If unselected, remove a command flag, use `cai use <id>` for a stored pin, or clear inherited `CAI_WORKFLOW`, as `pinSource` directs, then re-check. `cai config reset` clears only stored pins. `cai doctor` verifies the effective pin and development head. On MCP, capture and pass the new `workflowId`. Create with the final name.
30
+
31
+ After `cai workflow create`, check `flowCount` in the output. If it is 0 (or the field is missing, run `cai flow list --json`), create the first flow with `cai flow create --name "<name>" --json`. If one empty flow already exists, rename it and build in it. Never add a second flow for the first piece of work; add flows only for genuinely separate canvases.
32
+
33
+ Use IDs returned by the selected transport. For account-wide lists, filter by exact ID or name and owning workflow; never choose the first or latest similar result. Read the selected object's ID, name, and owner once, reuse those IDs, and never rediscover the target by name. A missing projected create field is not failure: inspect the complete result and exact inventory before retrying. Never invent identifiers.
34
+
35
+ To orient inside a workflow, prefer one call over many:
36
+
37
+ ```bash
38
+ cai workflow outline --json
39
+ ```
40
+
41
+ `cai workflow state --json` is bounded; add `--flow <flowId>` for node and edge identities. Use `workflow document` only for complete opaque JSON. `workflow outline` shows flows, contracts, graph `deps`, triggers, and data inventory. Use `flow get` for props and expressions.
42
+
43
+ ## Build protocol
44
+
45
+ 1. Translate the request into inputs, steps, outputs, trigger, integrations, failure behavior, and publish intent. When the request says to store, save, log, or record something and names no external destination, that means a data type plus a create-record node (`controllerai-data`) — a flow output alone does not persist anything. When the user names the destination (a spreadsheet, a CRM, another app, a file), write there with that integration's node instead; add a platform record only when the user also wants a copy kept here.
46
+ 2. Inspect the current workflow before editing: `cai workflow outline`, then `cai flow get <flowId>`. Repair those IDs; do not create replacements for a repair.
47
+ 3. Create or select a flow. Define flow inputs and outputs before nodes that derive props from them.
48
+ 4. Build in execution order. After each material change, read it back with the corresponding `get`, `props`, `status`, or `list` command.
49
+ 5. Run `cai flow layout <flowId>` once per changed flow as the LAST step after a headless build or any batch of structural edits (adds, deletes, rewires) — add-time placement avoids overlap, but only layout produces clean left-to-right columns. An open builder adopts your layout automatically.
50
+ 6. Test on the development rail. Debug every failed or suspicious node; a green top-level status alone is insufficient.
51
+ 7. Re-read `cai workflow status`. Publish only when the user asked for a live change or clearly authorized deployment.
52
+
53
+ For multi-domain work, read [command-map.md](command-map.md) before editing.
54
+
55
+ ## Route specialized work
56
+
57
+ Load the narrow skill when the task reaches that surface:
58
+
59
+ - Node discovery, initialization, connections, props, or wiring: `controllerai-node-config`
60
+ - Dynamic values or conditions: `controllerai-expressions`
61
+ - Router, If/Else, loops, joins, or subflows: `controllerai-flow-control`
62
+ - Test execution or debugging: `controllerai-runs`
63
+ - Scheduled, webhook, or integration events: `controllerai-triggers`
64
+ - Schemas or records: `controllerai-data`
65
+ - Ask AI or Agent nodes: `controllerai-ai-nodes`
66
+ - User-facing agents and their workflow tools: `controllerai-agents`
67
+
68
+ ## Lifecycle rules
69
+
70
+ - All graph edits target development. Live remains unchanged until `cai workflow publish`.
71
+ - Email verification is not a publishing prerequisite. An unclaimed agent-created account may publish; email claiming only raises its monthly usage cap and enables account recovery.
72
+ - On the CLI, prefer `--json` for decisions and IDs; human tables are for presentation. MCP tools return typed JSON. If human output looks odd, re-run the same read with `--json` before acting.
73
+ - A workflow contains flows; a flow is one canvas. Do not confuse their IDs.
74
+ - For flow inputs, pass a human `--display` label and use the current binding from `flow get` (`jsBinding`) or `workflow outline` (`binding`). Rename an existing contract input or output in place; do not delete and recreate it. After any rename or deletion, re-read the flow and repair every expression and subflow mapping before validation or execution. `legacyBinding` is diagnostic-only.
75
+ - Name nodes after the data they produce. Downstream input bindings are seeded from that name when wired.
76
+ - Use `cai workflow save --name "<checkpoint>"` before a risky rewrite. Named saves and state renames work on every plan.
77
+
78
+ ```bash
79
+ cai workflow history --json
80
+ cai workflow history --group <groupId> --json
81
+ cai workflow restore --state <stateId> --json
82
+ ```
83
+
84
+ - **Use version history for recovery.** Each save is a state. History retention is unlimited on Free, Max, and custom plans and 90 days on Pro/Starter; restore eligibility is 7 days on Free, 90 on Pro/Starter, and unlimited on Max/custom. Expand groups to capture state IDs. Restore rolls back the definition only; records and external effects remain.
85
+ - **Validate after structural edits and before publish.** Fix every listed prop, wire, expression, type, subflow, branch, and trigger error. Publish refuses errors; use `--acknowledge-validation-errors` only after explicit approval of the listed issues. Flow deletion also removes its contract, graph, and triggers and breaks callers; validation shows each break.
86
+ - Treat validation warning and error counts as status only. Never write them or their messages into unrelated workflow properties.
87
+ - On a conflict, re-read current state and reapply intent. Do not replay stale IDs or whole documents.
88
+ - Never delete a workflow without the user's explicit intent; the CLI requires `--yes` but that is not a substitute for authorization. MCP: `workflow_delete` has no `yes` parameter, but still requires the same explicit intent. `cai workflow delete` tears down deployed triggers and soft-deletes the workflow row. Historical workflow/version data remains stored, but there is currently no restore command for the deleted row.
89
+ - **Check dependencies before shared-resource changes.** `cai deps` shows attached agents, workflow callers, and connections; `cai deps --account` maps the account. Deleting a workflow with agent dependents is refused server-side, and `--force` is a deprecated, inert compatibility flag. Detach draft tools with `cai agent remove-tool <agentId> --tool <toolId>`. If still LIVE, use `cai agent publish <agentId>` after explicit approval. A dependent agent publish or delete is its own live/destructive decision. Then retry deletion.
90
+ - **Use the account feed only for recorded history.** Filter `cai events` by type, time, workflow, and cursor. It omits deletions, settings, member removals, and labels. For an unrecorded past change, say it is not recorded and change nothing; names and current state are not proof.
91
+ - **Share real product links.** Relevant publish, development run, agent, connection, workflow get/status, and agent get outputs include `appUrl` when known. Share returned links; never guess one. MCP `connection_connect_url` returns its link immediately.
92
+ - Never silently weaken the request to make a test pass. Report an unsupported capability or ask about a real product decision.
93
+
94
+ ## Before you finish
95
+
96
+ Before claiming success, verify all of the following:
97
+
98
+ ```bash
99
+ cai workflow outline --json
100
+ cai workflow validate --json
101
+ cai workflow status --json
102
+ cai flow get <flowId> --json
103
+ cai run flow <flowId> --inputs <values.json> --json
104
+ ```
105
+
106
+ MCP: pass the parsed values in `inputs` and set `waitSeconds` on `run_flow`.
107
+
108
+ Then confirm:
109
+
110
+ - **`cai workflow validate` reports `errors: 0`.** Every error is fixed, or explicitly reported to the user with what it breaks — never summarized away, never called cosmetic. A red canvas and a "done" claim cannot coexist.
111
+ - Required node connections and props are complete.
112
+ - Expressions compiled and their resolved configs are non-null.
113
+ - Expected branch or error paths were exercised where practical.
114
+ - Flow outputs contain the promised values.
115
+ - The reported live/dev state matches what the user asked for.
116
+ - Final outline inventory matches the request. Remove only scratch schemas, flows, nodes, and triggers created during abandoned attempts.
117
+
118
+ State what was built, what was tested, whether it was published, and any user-owned connection or product choice still pending.
@@ -1,29 +1,29 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "skillSetVersion": "2026.09.04.3",
3
+ "skillSetVersion": "2026.09.06.4",
4
4
  "minCliVersion": "0.2.0",
5
- "latestCliVersion": "0.2.17",
5
+ "latestCliVersion": "0.2.20",
6
6
  "skills": [
7
7
  {
8
8
  "name": "controllerai-start",
9
9
  "files": [
10
10
  {
11
11
  "path": "controllerai-start/SKILL.md",
12
- "url": "https://getcontroller.ai/skills/2026.09.04.3/controllerai-start/SKILL.md",
13
- "sha256": "ecd3423f5e1886a88b4e11f20f42c7abc525f775590b8538a67d8fa25f544b1d",
14
- "size": 9135
12
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-start/SKILL.md",
13
+ "sha256": "68ee25aa5b3aebeb980d488a57bb4e3d5057fec2214d6769d84e56388ec37eec",
14
+ "size": 6424
15
15
  },
16
16
  {
17
17
  "path": "controllerai-start/agents/openai.yaml",
18
- "url": "https://getcontroller.ai/skills/2026.09.04.3/controllerai-start/agents/openai.yaml",
18
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-start/agents/openai.yaml",
19
19
  "sha256": "3240c24df8ba5ebfb67bc3e9dbce97f4a78384c352123210197a2dbf27c51150",
20
20
  "size": 226
21
21
  },
22
22
  {
23
23
  "path": "controllerai-start/references/mcp-tool-map.md",
24
- "url": "https://getcontroller.ai/skills/2026.09.04.3/controllerai-start/references/mcp-tool-map.md",
25
- "sha256": "2721fc321886d043f8fa89b81371425f8ebfd8f3d4ab971629ff84ca77ea7cd7",
26
- "size": 25905
24
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-start/references/mcp-tool-map.md",
25
+ "sha256": "856d376fd9b682b6b875504b6fa50e0986ab8bd52a09a160c5a9a117980293ef",
26
+ "size": 26708
27
27
  }
28
28
  ]
29
29
  },
@@ -32,21 +32,27 @@
32
32
  "files": [
33
33
  {
34
34
  "path": "controllerai-workflows/SKILL.md",
35
- "url": "https://getcontroller.ai/skills/2026.09.04.3/controllerai-workflows/SKILL.md",
36
- "sha256": "3b381e04b25b60df2e22c381dac9106940964cfdd3c766e366629024d3bca1fa",
37
- "size": 10482
35
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-workflows/SKILL.md",
36
+ "sha256": "9a90de43233950e7514078cdb215ad65312a4b5c2e2a9638cacff90c49835239",
37
+ "size": 4219
38
38
  },
39
39
  {
40
40
  "path": "controllerai-workflows/agents/openai.yaml",
41
- "url": "https://getcontroller.ai/skills/2026.09.04.3/controllerai-workflows/agents/openai.yaml",
41
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-workflows/agents/openai.yaml",
42
42
  "sha256": "6fb00a93a5f83fc2664679eb633ab07b477105472f8790fcf6dbcca913921a84",
43
43
  "size": 251
44
44
  },
45
45
  {
46
46
  "path": "controllerai-workflows/references/command-map.md",
47
- "url": "https://getcontroller.ai/skills/2026.09.04.3/controllerai-workflows/references/command-map.md",
47
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-workflows/references/command-map.md",
48
48
  "sha256": "0911a52ac5d107d23c785343de537d31ef50982468f6ecdc720197fcb658f419",
49
49
  "size": 4183
50
+ },
51
+ {
52
+ "path": "controllerai-workflows/references/command-reference.md",
53
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-workflows/references/command-reference.md",
54
+ "sha256": "47af388e64fe90c8801ae01d036c4bce732bd85f6887198c15d9e86317c838d4",
55
+ "size": 9732
50
56
  }
51
57
  ]
52
58
  },
@@ -55,19 +61,25 @@
55
61
  "files": [
56
62
  {
57
63
  "path": "controllerai-node-config/SKILL.md",
58
- "url": "https://getcontroller.ai/skills/2026.09.04.3/controllerai-node-config/SKILL.md",
59
- "sha256": "2bdcdd89bf5c14fbfdc6cf4d56ac5a4c308c4a078baf556c8c5de9e89b0d65e9",
60
- "size": 11302
64
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-node-config/SKILL.md",
65
+ "sha256": "ca08876180e89012dac89b053ebea06feca590246220a725adbebd24df82b9b4",
66
+ "size": 3341
61
67
  },
62
68
  {
63
69
  "path": "controllerai-node-config/agents/openai.yaml",
64
- "url": "https://getcontroller.ai/skills/2026.09.04.3/controllerai-node-config/agents/openai.yaml",
70
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-node-config/agents/openai.yaml",
65
71
  "sha256": "7fbd6f0c1f9ea40c41051d532736a4718895cfa397608a2c716300bcf4256df1",
66
72
  "size": 242
67
73
  },
74
+ {
75
+ "path": "controllerai-node-config/references/command-reference.md",
76
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-node-config/references/command-reference.md",
77
+ "sha256": "ab71dc4bb614003b44496fb8bdf4661ebe6fc379337ced927268c5ceaaa6d284",
78
+ "size": 10761
79
+ },
68
80
  {
69
81
  "path": "controllerai-node-config/references/prop-and-readiness.md",
70
- "url": "https://getcontroller.ai/skills/2026.09.04.3/controllerai-node-config/references/prop-and-readiness.md",
82
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-node-config/references/prop-and-readiness.md",
71
83
  "sha256": "9ac3cf181af585244689508d7999600f5c0059ae41caa30e07696a352e62cabe",
72
84
  "size": 7371
73
85
  }
@@ -78,21 +90,27 @@
78
90
  "files": [
79
91
  {
80
92
  "path": "controllerai-expressions/SKILL.md",
81
- "url": "https://getcontroller.ai/skills/2026.09.04.3/controllerai-expressions/SKILL.md",
82
- "sha256": "e75036c16ab47af8340945222a2c108f36126a784fbfddb7afb0a6a0c7f442c0",
83
- "size": 10603
93
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-expressions/SKILL.md",
94
+ "sha256": "359f9b6a439c9910debcf92a5d115fdaf0c46b38b2e2356530835af4195a2144",
95
+ "size": 3995
84
96
  },
85
97
  {
86
98
  "path": "controllerai-expressions/agents/openai.yaml",
87
- "url": "https://getcontroller.ai/skills/2026.09.04.3/controllerai-expressions/agents/openai.yaml",
99
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-expressions/agents/openai.yaml",
88
100
  "sha256": "280d1f4d0a44cb5cfd3e5649e0a123b91b57b1484dcbc3a02ace988233234bc3",
89
101
  "size": 249
90
102
  },
103
+ {
104
+ "path": "controllerai-expressions/references/command-reference.md",
105
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-expressions/references/command-reference.md",
106
+ "sha256": "46701b5fbd5ccfaf56e84efde4f3725332d4585f6cbafb99ce8909f60f3b4507",
107
+ "size": 10015
108
+ },
91
109
  {
92
110
  "path": "controllerai-expressions/references/dsl-and-recipes.md",
93
- "url": "https://getcontroller.ai/skills/2026.09.04.3/controllerai-expressions/references/dsl-and-recipes.md",
94
- "sha256": "68c37021abdfc3584ee57365c0826dbe3debdc664626d50c34bf65998776e1ab",
95
- "size": 4363
111
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-expressions/references/dsl-and-recipes.md",
112
+ "sha256": "81259b8b2a366e6ff607dd1557ab48c12e90805426388d4f238d0bfacb7b86ec",
113
+ "size": 4539
96
114
  }
97
115
  ]
98
116
  },
@@ -101,19 +119,25 @@
101
119
  "files": [
102
120
  {
103
121
  "path": "controllerai-flow-control/SKILL.md",
104
- "url": "https://getcontroller.ai/skills/2026.09.04.3/controllerai-flow-control/SKILL.md",
105
- "sha256": "395a51b4cf627f0710af75c14d9d8dfba44e650fd2f979544fe2387e3867302f",
106
- "size": 10580
122
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-flow-control/SKILL.md",
123
+ "sha256": "075a9f5e57eedf0141506ecc30021c8eab5cb2c6817ebc40a9bba539146e3455",
124
+ "size": 2956
107
125
  },
108
126
  {
109
127
  "path": "controllerai-flow-control/agents/openai.yaml",
110
- "url": "https://getcontroller.ai/skills/2026.09.04.3/controllerai-flow-control/agents/openai.yaml",
128
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-flow-control/agents/openai.yaml",
111
129
  "sha256": "164adf3b887bf9f67bba9cd210b5b49935c29ea0f52f76325fe5df517d279592",
112
130
  "size": 229
113
131
  },
132
+ {
133
+ "path": "controllerai-flow-control/references/command-reference.md",
134
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-flow-control/references/command-reference.md",
135
+ "sha256": "cfcf9bfeb1a613ad8187c7cdb5262e59787d50d2dcc20ef6e99dc822c3a31a79",
136
+ "size": 9968
137
+ },
114
138
  {
115
139
  "path": "controllerai-flow-control/references/patterns.md",
116
- "url": "https://getcontroller.ai/skills/2026.09.04.3/controllerai-flow-control/references/patterns.md",
140
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-flow-control/references/patterns.md",
117
141
  "sha256": "21db644561770d97306bb16951f46b959c058bf489d104ffac78779ed9b57da5",
118
142
  "size": 5631
119
143
  }
@@ -124,19 +148,25 @@
124
148
  "files": [
125
149
  {
126
150
  "path": "controllerai-runs/SKILL.md",
127
- "url": "https://getcontroller.ai/skills/2026.09.04.3/controllerai-runs/SKILL.md",
128
- "sha256": "563a1a53aa819eacee207c569ec5c71781afa4cef22efc5f977059420e83550f",
129
- "size": 7950
151
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-runs/SKILL.md",
152
+ "sha256": "1d34701659ccd6d85cd6e58045a320b433663afb2ab36e129e8e207c81eddbbe",
153
+ "size": 3193
130
154
  },
131
155
  {
132
156
  "path": "controllerai-runs/agents/openai.yaml",
133
- "url": "https://getcontroller.ai/skills/2026.09.04.3/controllerai-runs/agents/openai.yaml",
157
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-runs/agents/openai.yaml",
134
158
  "sha256": "63180f12974e19ce7b714695944608760e4132bfb88947543e52616098a88f5c",
135
159
  "size": 234
136
160
  },
161
+ {
162
+ "path": "controllerai-runs/references/command-reference.md",
163
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-runs/references/command-reference.md",
164
+ "sha256": "3da84da5b6978ae5db60d131b39c2128fde5a54ad0760309dc497fdfd50aea23",
165
+ "size": 6459
166
+ },
137
167
  {
138
168
  "path": "controllerai-runs/references/debugging.md",
139
- "url": "https://getcontroller.ai/skills/2026.09.04.3/controllerai-runs/references/debugging.md",
169
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-runs/references/debugging.md",
140
170
  "sha256": "8e4bdb686b766d1babf02a2a688e7f43c63b3a09430c2695b18515f3c6a36daa",
141
171
  "size": 2375
142
172
  }
@@ -147,19 +177,25 @@
147
177
  "files": [
148
178
  {
149
179
  "path": "controllerai-triggers/SKILL.md",
150
- "url": "https://getcontroller.ai/skills/2026.09.04.3/controllerai-triggers/SKILL.md",
151
- "sha256": "826222c41ee516428f20a3d6a7b61384b82685c06651f82d239f54606955e289",
152
- "size": 10478
180
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-triggers/SKILL.md",
181
+ "sha256": "30b0d8b55b3feb246ac1a0e3e42add598483b5eaac9b5ec2c38c65e45e53764d",
182
+ "size": 2456
153
183
  },
154
184
  {
155
185
  "path": "controllerai-triggers/agents/openai.yaml",
156
- "url": "https://getcontroller.ai/skills/2026.09.04.3/controllerai-triggers/agents/openai.yaml",
186
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-triggers/agents/openai.yaml",
157
187
  "sha256": "56aa1bd33e54045d88002ade0c420be7bca37ac39433e6eedccef2e22bbd9515",
158
188
  "size": 239
159
189
  },
190
+ {
191
+ "path": "controllerai-triggers/references/command-reference.md",
192
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-triggers/references/command-reference.md",
193
+ "sha256": "1984522b3883624fe1e174bc5394cb5923e27916cf95dda9536040a36fdd1563",
194
+ "size": 9943
195
+ },
160
196
  {
161
197
  "path": "controllerai-triggers/references/lifecycle.md",
162
- "url": "https://getcontroller.ai/skills/2026.09.04.3/controllerai-triggers/references/lifecycle.md",
198
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-triggers/references/lifecycle.md",
163
199
  "sha256": "8bfdb644c6e8aefca0a33f8c184a1b86060733c6de4b02b5c3ff174801d6a8aa",
164
200
  "size": 2954
165
201
  }
@@ -170,19 +206,25 @@
170
206
  "files": [
171
207
  {
172
208
  "path": "controllerai-data/SKILL.md",
173
- "url": "https://getcontroller.ai/skills/2026.09.04.3/controllerai-data/SKILL.md",
174
- "sha256": "a159298625e140a8897be8a3df1bc1bee0f946db74034d4a39de66cb80437166",
175
- "size": 10548
209
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-data/SKILL.md",
210
+ "sha256": "1491f1473cf4533450366882993de5e4ffb67e65f92a82ea843ca04658299bbe",
211
+ "size": 5965
176
212
  },
177
213
  {
178
214
  "path": "controllerai-data/agents/openai.yaml",
179
- "url": "https://getcontroller.ai/skills/2026.09.04.3/controllerai-data/agents/openai.yaml",
215
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-data/agents/openai.yaml",
180
216
  "sha256": "5c54b0a714086088213c679fb904a69a599374847f9aa1d6c0756172c2a2f227",
181
217
  "size": 219
182
218
  },
219
+ {
220
+ "path": "controllerai-data/references/command-reference.md",
221
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-data/references/command-reference.md",
222
+ "sha256": "aa51cc377ca808f5ec53ddaba3f97f860df16b13511ed0d1c648c7783afb3cc1",
223
+ "size": 10057
224
+ },
183
225
  {
184
226
  "path": "controllerai-data/references/data-rails.md",
185
- "url": "https://getcontroller.ai/skills/2026.09.04.3/controllerai-data/references/data-rails.md",
227
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-data/references/data-rails.md",
186
228
  "sha256": "28bd3d6d82b3fec4c74eaaf869a6f9c3cede3e3e3620fb8f45f2b38a48a1e0aa",
187
229
  "size": 1886
188
230
  }
@@ -193,19 +235,25 @@
193
235
  "files": [
194
236
  {
195
237
  "path": "controllerai-ai-nodes/SKILL.md",
196
- "url": "https://getcontroller.ai/skills/2026.09.04.3/controllerai-ai-nodes/SKILL.md",
197
- "sha256": "b7569f5b5a742de4b68b332763f89eea2d0198efdea98d41b2a5c040d78b6d58",
198
- "size": 5115
238
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-ai-nodes/SKILL.md",
239
+ "sha256": "d40e0f3b5f499b55a3689e6f11ad3571f56286298fb2d9727ae06b560a39d1a3",
240
+ "size": 2101
199
241
  },
200
242
  {
201
243
  "path": "controllerai-ai-nodes/agents/openai.yaml",
202
- "url": "https://getcontroller.ai/skills/2026.09.04.3/controllerai-ai-nodes/agents/openai.yaml",
244
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-ai-nodes/agents/openai.yaml",
203
245
  "sha256": "3ba8b8bb6f0cd4b0d5675ebda0af10bb79dc7a42e394eb98479343c83da92599",
204
246
  "size": 256
205
247
  },
248
+ {
249
+ "path": "controllerai-ai-nodes/references/command-reference.md",
250
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-ai-nodes/references/command-reference.md",
251
+ "sha256": "faca6d19e5fd81a615838fccdd92591ecc8c3b2d1272a623f00cf119180125ba",
252
+ "size": 4520
253
+ },
206
254
  {
207
255
  "path": "controllerai-ai-nodes/references/selection-and-testing.md",
208
- "url": "https://getcontroller.ai/skills/2026.09.04.3/controllerai-ai-nodes/references/selection-and-testing.md",
256
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-ai-nodes/references/selection-and-testing.md",
209
257
  "sha256": "f14e3f95aa241b9cb4f7ea4b32777e105ce0e38568e186adce2f01b4234c7484",
210
258
  "size": 1705
211
259
  }
@@ -216,15 +264,21 @@
216
264
  "files": [
217
265
  {
218
266
  "path": "controllerai-integration-actions/SKILL.md",
219
- "url": "https://getcontroller.ai/skills/2026.09.04.3/controllerai-integration-actions/SKILL.md",
220
- "sha256": "d9e6a838c487fd6fbd92b8b080960d41dd634455fd3db4ee1e0ad20770b1ff1f",
221
- "size": 7585
267
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-integration-actions/SKILL.md",
268
+ "sha256": "35683bf52bf6b8735eaf7923e6c46cb7e0b7907db847f4a7ba8573d068402c3f",
269
+ "size": 2232
222
270
  },
223
271
  {
224
272
  "path": "controllerai-integration-actions/agents/openai.yaml",
225
- "url": "https://getcontroller.ai/skills/2026.09.04.3/controllerai-integration-actions/agents/openai.yaml",
273
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-integration-actions/agents/openai.yaml",
226
274
  "sha256": "82ee62aa48a644e658c9bb6a78c417dc15eb4f3ec9f4abc9081b6d24d16fe92d",
227
275
  "size": 262
276
+ },
277
+ {
278
+ "path": "controllerai-integration-actions/references/command-reference.md",
279
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-integration-actions/references/command-reference.md",
280
+ "sha256": "9ab30427d89e5567b24c1f32d8105378baf9473c722845f2dff5d5eab4ed5768",
281
+ "size": 7023
228
282
  }
229
283
  ]
230
284
  },
@@ -233,19 +287,25 @@
233
287
  "files": [
234
288
  {
235
289
  "path": "controllerai-agents/SKILL.md",
236
- "url": "https://getcontroller.ai/skills/2026.09.04.3/controllerai-agents/SKILL.md",
237
- "sha256": "606ddaa92b715d393d43dde7735ce2ae994931b93611a55ee74b05ae4c224472",
238
- "size": 12003
290
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-agents/SKILL.md",
291
+ "sha256": "2775348eb8ca46790d62fda5ac0a1295bc2ef05361b311497ebaad62254cd16c",
292
+ "size": 5238
239
293
  },
240
294
  {
241
295
  "path": "controllerai-agents/agents/openai.yaml",
242
- "url": "https://getcontroller.ai/skills/2026.09.04.3/controllerai-agents/agents/openai.yaml",
296
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-agents/agents/openai.yaml",
243
297
  "sha256": "f4684ec904f3ebb051bb48460375756899c3316fbb16304aad5fff3d89692b09",
244
298
  "size": 293
245
299
  },
300
+ {
301
+ "path": "controllerai-agents/references/command-reference.md",
302
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-agents/references/command-reference.md",
303
+ "sha256": "496146921b57de7ce7cf27a86dcc3746784120b7e5d497015657cacbb5f223b5",
304
+ "size": 10918
305
+ },
246
306
  {
247
307
  "path": "controllerai-agents/references/instructions-and-versioning.md",
248
- "url": "https://getcontroller.ai/skills/2026.09.04.3/controllerai-agents/references/instructions-and-versioning.md",
308
+ "url": "https://getcontroller.ai/skills/2026.09.06.4/controllerai-agents/references/instructions-and-versioning.md",
249
309
  "sha256": "28b7220b292d42ae6b5e7cc522c0a7f00709f3a2b0fc9db9bb23126e4fac7ca9",
250
310
  "size": 5166
251
311
  }