@thinkingai/ae-cli 6.0.24 → 6.0.28

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 (185) hide show
  1. package/dist/{auth-A2XXG5K4.js → auth-7TQRGLBC.js} +10 -8
  2. package/dist/{auth-IDPKDFSY.js → auth-MEJ642P4.js} +2 -2
  3. package/dist/chunk-2NDGFQHW.js +190 -0
  4. package/dist/{chunk-NGJDCOYA.js → chunk-7QQ4233A.js} +3 -3
  5. package/dist/{chunk-PFJFZVCK.js → chunk-AJTH7LT3.js} +3 -2
  6. package/dist/{chunk-V5R5UIRM.js → chunk-BXMXMUD7.js} +65 -6
  7. package/dist/{chunk-AKORWVHJ.js → chunk-C4DH76LX.js} +1 -1
  8. package/dist/{chunk-NXJP4CES.js → chunk-GWZ5MYWE.js} +3 -3
  9. package/dist/{chunk-F3ZDMC2W.js → chunk-KCA6BA5D.js} +2 -2
  10. package/dist/{chunk-WXBCP6SD.js → chunk-KGJQCYVC.js} +1 -1
  11. package/dist/{chunk-FIT4CFIN.js → chunk-LG5YT7P7.js} +1 -1
  12. package/dist/{chunk-IDXW6MEJ.js → chunk-MDJGDI6K.js} +2 -2
  13. package/dist/{chunk-4FQ36OGO.js → chunk-R77JT7XD.js} +53 -6
  14. package/dist/{chunk-65DKFJZB.js → chunk-YCLVYFK7.js} +49 -6
  15. package/dist/{chunk-2OW2RENH.js → chunk-YNQFYBDB.js} +64 -6
  16. package/dist/{chunk-ONOA6DYB.js → chunk-ZAOL36CG.js} +1 -1
  17. package/dist/cli-token-TVQRSE46.js +18 -0
  18. package/dist/{client-7L735LVY.js → client-2643Z5AG.js} +3 -3
  19. package/dist/{config-SXD2JKSL.js → config-ZVPARN4R.js} +4 -9
  20. package/dist/index.js +24 -24
  21. package/dist/{metadata-QWUAX625.js → metadata-IPSPQBX3.js} +5 -5
  22. package/dist/{metadata-XWTEGEN2.js → metadata-N5REJ7R7.js} +5 -5
  23. package/dist/{model-3OVX42DA.js → model-T3KZJWLW.js} +2 -2
  24. package/dist/{raw-IANB4AV5.js → raw-OHSUK42D.js} +4 -4
  25. package/dist/{sync-4HQ3CXSK.js → sync-ULT5SECP.js} +3 -3
  26. package/dist/{te-agent-OYNNTJDU.js → te-agent-QLIVKRUN.js} +1146 -61
  27. package/dist/{te-analysis-JX3V76OI.js → te-analysis-5WZKVFHI.js} +1332 -338
  28. package/dist/{te-analysis-CRPFK3LX.js → te-analysis-KAEZXLNS.js} +1332 -338
  29. package/dist/{te-audience-RO2IZOUC.js → te-audience-PVMKQAFH.js} +5 -5
  30. package/dist/{te-audience-77FGNG5E.js → te-audience-XMRMVD2V.js} +5 -5
  31. package/dist/{te-common-4TRJPRC5.js → te-common-CFGQXTFV.js} +5 -5
  32. package/dist/{te-common-PUXBUPOL.js → te-common-SDB3O2QG.js} +5 -5
  33. package/dist/{te-community-XKE526DS.js → te-community-6A7LKYUH.js} +5 -5
  34. package/dist/{te-community-NPDZQKMY.js → te-community-GMWFGILT.js} +5 -5
  35. package/dist/{te-dataops-PW74WP76.js → te-dataops-6LIPYNGH.js} +90 -68
  36. package/dist/{te-dataops-6KWLFNV4.js → te-dataops-Z53CTG2U.js} +90 -68
  37. package/dist/{te-engage-HTLMUN7G.js → te-engage-AGREUOW7.js} +30 -15
  38. package/dist/{te-engage-YPQIVF5H.js → te-engage-MIIUKY6M.js} +30 -15
  39. package/dist/{te-kb-DOGDQIU4.js → te-kb-KQJ53M3A.js} +4 -4
  40. package/dist/{te-meta-5ESSQ5B3.js → te-meta-QLANJ4B4.js} +5 -5
  41. package/dist/{te-meta-Z47X4VT3.js → te-meta-TOA6FWDE.js} +5 -5
  42. package/dist/{te-team-SOVKZIDD.js → te-team-TQGMNHQQ.js} +5 -5
  43. package/package.json +3 -1
  44. package/skills/ae-agent/SKILL.md +158 -189
  45. package/skills/ae-agent/references/accept-skill-share.md +39 -0
  46. package/skills/ae-agent/references/add-attachment.md +57 -0
  47. package/skills/ae-agent/references/add-mcp.md +75 -0
  48. package/skills/ae-agent/references/add-model.md +70 -0
  49. package/skills/ae-agent/references/add-skill.md +71 -0
  50. package/skills/ae-agent/references/approve-skill.md +41 -0
  51. package/skills/ae-agent/references/attachment-stats.md +50 -0
  52. package/skills/ae-agent/references/auto-provision-mcp-credentials.md +57 -0
  53. package/skills/ae-agent/references/cancel-skill-submission.md +39 -0
  54. package/skills/ae-agent/references/copy-skill.md +53 -0
  55. package/skills/ae-agent/references/create-agent.md +71 -0
  56. package/skills/ae-agent/references/create-automation.md +99 -0
  57. package/skills/ae-agent/references/del-agent.md +38 -0
  58. package/skills/ae-agent/references/del-attachment.md +35 -0
  59. package/skills/ae-agent/references/del-mcp.md +35 -0
  60. package/skills/ae-agent/references/del-model.md +37 -0
  61. package/skills/ae-agent/references/del-skill-asset.md +41 -0
  62. package/skills/ae-agent/references/del-skill-reference.md +41 -0
  63. package/skills/ae-agent/references/del-skill-script.md +41 -0
  64. package/skills/ae-agent/references/del-skill.md +36 -0
  65. package/skills/ae-agent/references/edit-skill.md +64 -0
  66. package/skills/ae-agent/references/get-agent.md +37 -0
  67. package/skills/ae-agent/references/get-skill-content.md +36 -0
  68. package/skills/ae-agent/references/list-agents.md +40 -0
  69. package/skills/ae-agent/references/list-attachments.md +42 -0
  70. package/skills/ae-agent/references/list-automations.md +41 -0
  71. package/skills/ae-agent/references/list-mcp-credentials.md +65 -0
  72. package/skills/ae-agent/references/list-mcp-market.md +58 -0
  73. package/skills/ae-agent/references/list-mcps.md +37 -0
  74. package/skills/ae-agent/references/list-models.md +38 -0
  75. package/skills/ae-agent/references/list-skill-assets.md +35 -0
  76. package/skills/ae-agent/references/list-skill-market.md +59 -0
  77. package/skills/ae-agent/references/list-skill-references.md +36 -0
  78. package/skills/ae-agent/references/list-skill-scripts.md +35 -0
  79. package/skills/ae-agent/references/list-skill-shares.md +49 -0
  80. package/skills/ae-agent/references/list-skill-submissions.md +45 -0
  81. package/skills/ae-agent/references/list-skills.md +37 -0
  82. package/skills/ae-agent/references/mcp-auth-disconnect.md +50 -0
  83. package/skills/ae-agent/references/mcp-auth-start.md +61 -0
  84. package/skills/ae-agent/references/mcp-auth-status.md +56 -0
  85. package/skills/ae-agent/references/mcp-stats.md +68 -0
  86. package/skills/ae-agent/references/mcp-token.md +63 -0
  87. package/skills/ae-agent/references/mcp-tools.md +55 -0
  88. package/skills/ae-agent/references/read-skill-asset.md +51 -0
  89. package/skills/ae-agent/references/read-skill-reference.md +50 -0
  90. package/skills/ae-agent/references/read-skill-script.md +51 -0
  91. package/skills/ae-agent/references/reject-skill-share.md +37 -0
  92. package/skills/ae-agent/references/reject-skill.md +42 -0
  93. package/skills/ae-agent/references/rescan-skills.md +44 -0
  94. package/skills/ae-agent/references/set-mcp-credential.md +67 -0
  95. package/skills/ae-agent/references/set-mcp-meta.md +52 -0
  96. package/skills/ae-agent/references/set-skill-meta.md +51 -0
  97. package/skills/ae-agent/references/share-skill.md +50 -0
  98. package/skills/ae-agent/references/submit-skill.md +51 -0
  99. package/skills/ae-agent/references/test-model.md +61 -0
  100. package/skills/ae-agent/references/toggle-mcp.md +39 -0
  101. package/skills/ae-agent/references/toggle-model.md +37 -0
  102. package/skills/ae-agent/references/toggle-skill.md +37 -0
  103. package/skills/ae-agent/references/update-agent.md +71 -0
  104. package/skills/ae-agent/references/update-automation.md +83 -0
  105. package/skills/ae-agent/references/update-mcp.md +79 -0
  106. package/skills/ae-agent/references/update-model.md +77 -0
  107. package/skills/ae-agent/references/upload-skill-asset.md +49 -0
  108. package/skills/ae-agent/references/upload-skill-reference.md +51 -0
  109. package/skills/ae-agent/references/upload-skill-script.md +49 -0
  110. package/skills/ae-agent/references/upload-skill.md +89 -0
  111. package/skills/ae-analysis/SKILL.md +60 -6
  112. package/skills/ae-analysis/references/analysis_gateway_assets.md +27 -10
  113. package/skills/ae-analysis/references/artifact_download.md +17 -0
  114. package/skills/ae-analysis/references/asset_abnormal_get.md +27 -0
  115. package/skills/ae-analysis/references/asset_abnormal_list.md +24 -0
  116. package/skills/ae-analysis/references/asset_authentication_list.md +23 -0
  117. package/skills/ae-analysis/references/asset_authentication_update.md +24 -0
  118. package/skills/ae-analysis/references/asset_recent_list.md +24 -0
  119. package/skills/ae-analysis/references/asset_search.md +24 -0
  120. package/skills/ae-analysis/references/bi_panel_get.md +5 -0
  121. package/skills/ae-analysis/references/bi_panel_page_data_export.md +11 -1
  122. package/skills/ae-analysis/references/bi_panel_share.md +6 -0
  123. package/skills/ae-analysis/references/bi_panel_update.md +4 -1
  124. package/skills/ae-analysis/references/bi_panel_version_get.md +23 -0
  125. package/skills/ae-analysis/references/bi_panel_version_publish.md +20 -0
  126. package/skills/ae-analysis/references/dashboard_copy.md +3 -1
  127. package/skills/ae-analysis/references/dashboard_daily_report_send.md +9 -2
  128. package/skills/ae-analysis/references/dashboard_daily_report_update.md +3 -1
  129. package/skills/ae-analysis/references/dashboard_definition_export.md +21 -3
  130. package/skills/ae-analysis/references/dashboard_report_data_export.md +17 -1
  131. package/skills/ae-analysis/references/dashboard_report_data_run.md +6 -0
  132. package/skills/ae-analysis/references/datatable_columns_get.md +24 -0
  133. package/skills/ae-analysis/references/datatable_influence_list.md +24 -0
  134. package/skills/ae-analysis/references/datatable_version_get.md +24 -0
  135. package/skills/ae-analysis/references/datatable_version_list.md +24 -0
  136. package/skills/ae-analysis/references/event_changelog_list.md +24 -0
  137. package/skills/ae-analysis/references/event_create.md +24 -0
  138. package/skills/ae-analysis/references/event_delete.md +24 -0
  139. package/skills/ae-analysis/references/event_get.md +24 -0
  140. package/skills/ae-analysis/references/event_hide_update.md +25 -0
  141. package/skills/ae-analysis/references/event_influence_list.md +24 -0
  142. package/skills/ae-analysis/references/event_list.md +23 -0
  143. package/skills/ae-analysis/references/event_relation_update.md +24 -0
  144. package/skills/ae-analysis/references/event_update.md +26 -0
  145. package/skills/ae-analysis/references/exchange_config_update.md +24 -0
  146. package/skills/ae-analysis/references/exchange_rate_refresh.md +23 -0
  147. package/skills/ae-analysis/references/exchange_rule_list.md +23 -0
  148. package/skills/ae-analysis/references/exchange_rule_update.md +24 -0
  149. package/skills/ae-analysis/references/exchange_rule_validate.md +24 -0
  150. package/skills/ae-analysis/references/metric_create.md +24 -0
  151. package/skills/ae-analysis/references/metric_delete.md +24 -0
  152. package/skills/ae-analysis/references/metric_get.md +24 -0
  153. package/skills/ae-analysis/references/metric_list.md +24 -0
  154. package/skills/ae-analysis/references/metric_update.md +24 -0
  155. package/skills/ae-analysis/references/project_space_create.md +1 -1
  156. package/skills/ae-analysis/references/property_changelog_list.md +25 -0
  157. package/skills/ae-analysis/references/property_create.md +25 -0
  158. package/skills/ae-analysis/references/property_delete.md +25 -0
  159. package/skills/ae-analysis/references/property_get.md +25 -0
  160. package/skills/ae-analysis/references/property_hide_update.md +26 -0
  161. package/skills/ae-analysis/references/property_influence_list.md +25 -0
  162. package/skills/ae-analysis/references/property_list.md +24 -0
  163. package/skills/ae-analysis/references/property_related_events.md +24 -0
  164. package/skills/ae-analysis/references/property_relation_update.md +25 -0
  165. package/skills/ae-analysis/references/property_update.md +27 -0
  166. package/skills/ae-analysis/references/run_inspect.md +22 -0
  167. package/skills/ae-analysis/references/super_metadata_export.md +36 -0
  168. package/skills/ae-analysis/references/super_metadata_import.md +24 -0
  169. package/skills/ae-analysis/references/virtual_event_create.md +25 -0
  170. package/skills/ae-analysis/references/virtual_event_delete.md +24 -0
  171. package/skills/ae-analysis/references/virtual_event_get.md +24 -0
  172. package/skills/ae-analysis/references/virtual_property_create.md +24 -0
  173. package/skills/ae-analysis/references/virtual_property_sql_rule_delete.md +25 -0
  174. package/skills/ae-analysis/references/virtual_property_sql_rule_update.md +24 -0
  175. package/skills/ae-dataops/references/dataops-flow-create.md +2 -2
  176. package/skills/ae-dataops/references/dataops-flow-monitor.md +3 -3
  177. package/skills/ae-dataops/references/dataops-integration.md +1 -0
  178. package/skills/ae-engage/references/flow-node-config-schema.md +32 -8
  179. package/skills/ae-engage/references/save-flow.md +65 -29
  180. package/skills/ae-engage/references/validate-flow-node-config.md +28 -10
  181. package/skills/ae-generate-tracking-code/SKILL.md +16 -1
  182. package/skills/ae-generate-tracking-code/references/snippet-delivery.md +17 -1
  183. package/skills/ae-generate-tracking-plan/SKILL.md +36 -12
  184. package/dist/chunk-OCQPQYHZ.js +0 -105
  185. package/dist/cli-token-OZXHC3U2.js +0 -14
@@ -0,0 +1,37 @@
1
+ # agent +toggle-model (Toggle Model)
2
+
3
+ > **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
4
+
5
+ Domain: **Models / write**
6
+
7
+ ## Use Cases
8
+ - Enable or disable a model.
9
+ - Toggle operations on company/system resources only affect the current user's preference, not the global state.
10
+
11
+ ## Mandatory Rules (MUST)
12
+ - `--id` and `--enabled` are required.
13
+ - Obtain the real model record ID (CUID) via `+list-models` — do not guess.
14
+ - Write operation: keep the confirmation prompt unless `--yes` is explicitly requested.
15
+
16
+ ## Command
17
+ ```bash
18
+ ae-cli agent +toggle-model --id <model-cuid> --enabled true --yes
19
+ ae-cli agent +toggle-model --id <model-cuid> --enabled false --yes
20
+ ae-cli agent +toggle-model --dry-run --id <model-cuid> --enabled false
21
+ ```
22
+
23
+ ## Parameters
24
+ | Parameter | Required | Description |
25
+ |---|---|---|
26
+ | `--id` | Yes | Model record ID (CUID) |
27
+ | `--enabled` | Yes | `true` to enable, `false` to disable |
28
+
29
+ ## Decision Rules
30
+ - If the user wants to turn a model on/off, use `--enabled true` / `--enabled false`.
31
+ - Toggling a company/system model only changes the current user's preference.
32
+
33
+ ## Next Steps on Failure
34
+ - `404` / not found: re-run `+list-models` to verify the model ID.
35
+
36
+ ## Recommended Chaining
37
+ - `+list-models` → confirm `id` → `+toggle-model`
@@ -0,0 +1,37 @@
1
+ # agent +toggle-skill (Toggle Skill)
2
+
3
+ > **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
4
+
5
+ Domain: **Skills / write**
6
+
7
+ ## Use Cases
8
+ - Enable or disable a Skill.
9
+ - Toggle operations on company/system resources only affect the current user's preference, not the global state.
10
+
11
+ ## Mandatory Rules (MUST)
12
+ - `--id` and `--enabled` are required.
13
+ - Obtain the real Skill record ID (CUID) via `+list-skills` — do not guess.
14
+ - Write operation: keep the confirmation prompt unless `--yes` is explicitly requested.
15
+
16
+ ## Command
17
+ ```bash
18
+ ae-cli agent +toggle-skill --id <skill-cuid> --enabled true --yes
19
+ ae-cli agent +toggle-skill --id <skill-cuid> --enabled false --yes
20
+ ae-cli agent +toggle-skill --dry-run --id <skill-cuid> --enabled false
21
+ ```
22
+
23
+ ## Parameters
24
+ | Parameter | Required | Description |
25
+ |---|---|---|
26
+ | `--id` | Yes | Skill record ID (CUID) |
27
+ | `--enabled` | Yes | `true` to enable, `false` to disable |
28
+
29
+ ## Decision Rules
30
+ - If the user wants to turn a Skill on/off, use `--enabled true` / `--enabled false`.
31
+ - Toggling a company/system Skill only changes the current user's preference.
32
+
33
+ ## Next Steps on Failure
34
+ - `404` / not found: re-run `+list-skills` to verify the Skill ID.
35
+
36
+ ## Recommended Chaining
37
+ - `+list-skills` → confirm `id` → `+toggle-skill`
@@ -0,0 +1,71 @@
1
+ # agent +update-agent (Update Agent)
2
+
3
+ > **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
4
+
5
+ Domain: **Agents / write**
6
+
7
+ ## Use Cases
8
+ - Update an existing Agent's name, description, system prompt, model, MCP servers, Skills, or enabled state.
9
+ - Only the fields you pass are changed; omitted fields keep their current values.
10
+ - `--enabled` on a system/company Agent writes the current user's personal preference (does not change the global state).
11
+
12
+ ## Mandatory Rules (MUST)
13
+ - `--id` is required. Obtain the real Agent record ID (CUID) via `+list-agents` — do not guess.
14
+ - Only `personal` Agents can be fully edited by their owner; `company` Agents require root.
15
+ - `--instructions` supports `@-` to read from stdin.
16
+ - `--mcp-ids` / `--skill-ids` must be JSON array strings when provided; they replace the full list.
17
+ - Write operation: keep the confirmation prompt unless `--yes` is explicitly requested.
18
+ - PATCH does NOT support `--auto-rename`; a name conflict returns `409`.
19
+
20
+ ## Command
21
+ ```bash
22
+ # Rename
23
+ ae-cli agent +update-agent --id <agent-cuid> --name "new-name" --yes
24
+
25
+ # Replace instructions from stdin
26
+ echo "You are now a code reviewer..." | \
27
+ ae-cli agent +update-agent --id <agent-cuid> --instructions @-
28
+
29
+ # Swap model and MCP list
30
+ ae-cli agent +update-agent \
31
+ --id <agent-cuid> \
32
+ --model-id "cm1newuuid" \
33
+ --mcp-ids '["mcp-cuid-new"]'
34
+
35
+ # Enable a system/company Agent (writes personal preference)
36
+ ae-cli agent +update-agent --id <agent-cuid> --enabled true
37
+
38
+ # Disable
39
+ ae-cli agent +update-agent --id <agent-cuid> --enabled false
40
+
41
+ # Dry-run to inspect the request before executing
42
+ ae-cli agent +update-agent --dry-run --id <agent-cuid> --name "new-name"
43
+ ```
44
+
45
+ ## Parameters
46
+ | Parameter | Required | Description |
47
+ |---|---|---|
48
+ | `--id` | Yes | Agent record ID (CUID) |
49
+ | `--name` | No | New Agent name (1–100 chars) |
50
+ | `--description` | No | New description (max 2000 chars) |
51
+ | `--instructions` | No | New system prompt (use `@-` to read from stdin) |
52
+ | `--model-id` | No | New model identifier (uuid or legacy modelId); omit to keep |
53
+ | `--mcp-ids` | No | MCP server record IDs as JSON array string (replaces the list; `[]` clears) |
54
+ | `--skill-ids` | No | Skill record IDs as JSON array string (replaces the list; `[]` clears) |
55
+ | `--enabled` | No | `true` to enable, `false` to disable (system/company: personal preference) |
56
+
57
+ ## Decision Rules
58
+ - Confirm the Agent ID with `+list-agents` (or `+get-agent`) before updating.
59
+ - `--enabled` is optional; omit it to leave the enabled state unchanged. Pass `--enabled true` / `--enabled false` explicitly to toggle.
60
+ - `--mcp-ids` / `--skill-ids` replace the entire list on update — pass the full new set, not just additions.
61
+ - Use `--dry-run` first to verify the request shape before executing.
62
+ - To rename safely without `409`, check for name conflicts first or use `+create-agent --auto-rename` (PATCH has no auto-rename).
63
+
64
+ ## Next Steps on Failure
65
+ - `404` / `Agent 不存在`: re-run `+list-agents` to verify the Agent ID.
66
+ - `403` / `无权编辑该 Agent`: the Agent is not yours and you are not root.
67
+ - `409` / `NAME_EXISTS`: pick a different `--name` (PATCH cannot auto-rename).
68
+ - `模型不存在或已删除`: verify the model ID with `+list-models`.
69
+
70
+ ## Recommended Chaining
71
+ - `+list-agents` → confirm `id` → `+update-agent` → `+get-agent` (verify)
@@ -0,0 +1,83 @@
1
+ # agent +update-automation (Update Automation)
2
+
3
+ > **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
4
+
5
+ Domain: **Automations / write**
6
+
7
+ ## Use Cases
8
+ - Update an existing Agent automation task's name, instruction, schedule, or enabled state.
9
+ - Used to pause (`--enabled false`) or resume (`--enabled true`) an automation, or to change its schedule/message.
10
+ - Obtain the automation `id` via `+list-automations` — never guess.
11
+
12
+ ## Mandatory Rules (MUST)
13
+ - `--id` is required. Obtain the real ID via `+list-automations` — do not guess.
14
+ - At least one update field must be provided (`--name`, `--message`, `--enabled`, `--cron`, or a `--schedule-kind` with its time/day fields).
15
+ - `--cron` and `--schedule-kind` are mutually exclusive.
16
+ - Write operation: keep the confirmation prompt unless `--yes` is explicitly requested.
17
+ - Do not surface raw automation IDs, raw JSON, or concrete detail paths in user-facing replies.
18
+
19
+ ## Schedule Kinds (when updating schedule)
20
+ | `--schedule-kind` | Required fields | Notes |
21
+ |---|---|---|
22
+ | `hourly` | `--minute` (optional, 0–59) | Runs every hour at the given minute |
23
+ | `daily` | `--time HH:mm` | Runs once a day at the given time |
24
+ | `weekly` | `--time HH:mm`, `--weekday 0-6` | `0` = Sunday |
25
+ | `monthly` | `--time HH:mm`, `--day-of-month 1-28` | Day 1–28 only |
26
+
27
+ ## Command
28
+ ```bash
29
+ # Pause an automation
30
+ ae-cli agent +update-automation --id <automation-id> --enabled false --yes
31
+
32
+ # Resume an automation
33
+ ae-cli agent +update-automation --id <automation-id> --enabled true --yes
34
+
35
+ # Rename and change the instruction
36
+ ae-cli agent +update-automation \
37
+ --id <automation-id> \
38
+ --name "Daily AI Brief v2" \
39
+ --message "Summarize yesterday's AI news and trends" \
40
+ --yes
41
+
42
+ # Change the schedule to weekly on Sunday
43
+ ae-cli agent +update-automation \
44
+ --id <automation-id> \
45
+ --schedule-kind weekly \
46
+ --time 10:00 \
47
+ --weekday 0 \
48
+ --yes
49
+
50
+ # Switch to a cron expression
51
+ ae-cli agent +update-automation --id <automation-id> --cron "0 9 * * 1-5" --yes
52
+
53
+ # Dry-run to inspect the request before executing
54
+ ae-cli agent +update-automation --dry-run --id <automation-id> --enabled false
55
+ ```
56
+
57
+ ## Parameters
58
+ | Parameter | Required | Description |
59
+ |---|---|---|
60
+ | `--id` | Yes | Automation task ID from `+list-automations` |
61
+ | `--name` | No | New automation task name |
62
+ | `--message` | No | New instruction sent to the Agent |
63
+ | `--enabled` | No | `true` to enable, `false` to pause |
64
+ | `--cron` | No | Cron expression (mutually exclusive with `--schedule-kind`) |
65
+ | `--schedule-kind` | No | `hourly` \| `daily` \| `weekly` \| `monthly` |
66
+ | `--time` | No | Time in `HH:mm` for daily/weekly/monthly |
67
+ | `--minute` | No | Minute 0–59 for hourly schedules |
68
+ | `--weekday` | No | Weekday 0–6 for weekly schedules; `0` is Sunday |
69
+ | `--day-of-month` | No | Day 1–28 for monthly schedules |
70
+
71
+ ## Decision Rules
72
+ - If the user wants to pause/resume, use `--enabled false` / `--enabled true` (no other fields needed).
73
+ - If the user wants to change the schedule, provide `--schedule-kind` with its required time/day fields, or `--cron`.
74
+ - At least one update field is required; a bare `--id` is rejected.
75
+ - Use `--dry-run` first to verify the request shape before executing.
76
+
77
+ ## Next Steps on Failure
78
+ - `至少提供一个更新字段`: add at least one of `--name` / `--message` / `--enabled` / `--cron` / `--schedule-kind`.
79
+ - `必须提供 --cron 或 --schedule-kind`: if schedule detail flags (`--time` / `--minute` / `--weekday` / `--day-of-month`) are present, a `--schedule-kind` (or `--cron`) must accompany them.
80
+ - `--time 格式必须是 HH:mm`: use 24-hour `HH:mm` (e.g. `09:00`).
81
+
82
+ ## Recommended Chaining
83
+ - `+list-automations` → `+update-automation`
@@ -0,0 +1,79 @@
1
+ # agent +update-mcp (Update MCP Server Config)
2
+
3
+ > **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
4
+
5
+ Domain: **MCP Servers / write**
6
+
7
+ ## Use Cases
8
+ - Update an existing MCP server's configuration (name, URL, transport, headers, auth mode, etc.).
9
+ - Endpoint: `PATCH /api/sandbox/agent/mcp-servers/[id]`.
10
+ - Personal scope: requires ownership. Company scope: requires root. System scope: read-only.
11
+ - Includes connectivity validation and OAuth reauth cascade when relevant.
12
+ - Use `--auto-rename` to auto-rename on name conflict instead of returning a 409.
13
+
14
+ ## Mandatory Rules (MUST)
15
+ - `--id` is required. Obtain the real MCP server record ID (CUID) via `+list-mcps` — do not guess.
16
+ - At least one update field must be provided (aside from `--id`).
17
+ - `--name` (when provided) must start with a letter and contain only letters, digits, `_`, or `-` (2–64 chars).
18
+ - `--url` (when provided) must be a valid `http://` or `https://` URL (file://, ftp://, and other protocols are blocked).
19
+ - `--transport` (when provided) must be `sse`, `http`, or `streamable-http` (stdio is disabled by policy on the sandbox endpoint).
20
+ - `--auth-mode` (when provided) must be `none`, `oauth2`, `header`, or `manual`.
21
+ - `--enabled` accepts `true` or `false`; **omit it to leave the enabled state unchanged**. To simply toggle, prefer `+toggle-mcp`.
22
+ - `--headers` / `--secret-headers` must be valid JSON objects when provided. `--secret-headers` values are encrypted server-side.
23
+ - The server runs a connectivity check on update; an unreachable URL fails with `connectivity_failed`.
24
+ - Write operation: keep the confirmation prompt unless `--yes` is explicitly requested.
25
+
26
+ ## Command
27
+ ```bash
28
+ # Rename + update URL
29
+ ae-cli agent +update-mcp --id <mcp-cuid> --name my-mcp-renamed --url "https://mcp.example.com/mcp" --yes
30
+
31
+ # Update transport + headers
32
+ ae-cli agent +update-mcp --id <mcp-cuid> --transport streamable-http --headers '{"Authorization":"Bearer token"}'
33
+
34
+ # Enable with auto-rename on conflict
35
+ ae-cli agent +update-mcp --id <mcp-cuid> --enabled true --auto-rename --yes
36
+
37
+ # Disable (explicit)
38
+ ae-cli agent +update-mcp --id <mcp-cuid> --enabled false --yes
39
+
40
+ # Dry-run to inspect the request before executing
41
+ ae-cli agent +update-mcp --dry-run --id <mcp-cuid> --name new-name
42
+ ```
43
+
44
+ ## Parameters
45
+ | Parameter | Required | Description |
46
+ |---|---|---|
47
+ | `--id` | Yes | MCP server record ID (CUID) |
48
+ | `--name` | No* | Server name (2–64 chars, letter start, `[a-zA-Z0-9_-]`) |
49
+ | `--url` | No* | MCP server URL (`http://` or `https://` only) |
50
+ | `--display-name` | No* | Display name (max 100) |
51
+ | `--description` | No* | Description (max 255) |
52
+ | `--transport` | No* | `sse` \| `http` \| `streamable-http` |
53
+ | `--headers` | No* | HTTP headers as JSON object |
54
+ | `--secret-headers` | No* | Secret headers as JSON object (encrypted server-side) |
55
+ | `--auth-mode` | No* | `none` \| `oauth2` \| `header` \| `manual` |
56
+ | `--enabled` | No* | `true` \| `false` (omit to leave unchanged) |
57
+ | `--auto-rename` | No* | Auto-rename on name conflict (default `false`) |
58
+
59
+ \* At least one of these must be provided.
60
+
61
+ ## Decision Rules
62
+ - If the user wants to change any MCP config field, use this command.
63
+ - To only enable/disable an MCP (no other changes), prefer `+toggle-mcp` — it is simpler and has no connectivity check.
64
+ - `--enabled` is a string (`true`/`false`), not a boolean flag, so that omitting it leaves the state unchanged.
65
+ - If the server returns `NAME_EXISTS` (409), re-run with `--auto-rename` or pick a different `--name`.
66
+ - After updating URL/transport/headers, the server re-validates connectivity; if it fails, the old config is preserved.
67
+ - Updating OAuth-related fields (URL, auth mode, secret headers) may trigger a reauth cascade — affected credentials are expired and `reauthRequired` / `reauthCredentialCount` are returned in the response.
68
+
69
+ ## Next Steps on Failure
70
+ - `404` / not found: re-run `+list-mcps` to verify the server ID and scope.
71
+ - `403` company_admin_only: the current user is not root (company-scope update).
72
+ - `403` system_mcp_readonly: system-scope MCPs cannot be updated.
73
+ - `409` NAME_EXISTS: re-run with `--auto-rename` or a different `--name`.
74
+ - `400` connectivity_failed: verify the URL is reachable and transport is correct.
75
+ - `400` needs_auth: refresh credentials first (`+mcp-auth-start`), then re-enable.
76
+
77
+ ## Recommended Chaining
78
+ - `+list-mcps` → confirm `id` → `+update-mcp`
79
+ - `+update-mcp` → (if reauth required) → `+mcp-auth-start` → `+mcp-auth-status`
@@ -0,0 +1,77 @@
1
+ # agent +update-model (Update Custom Model)
2
+
3
+ > **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
4
+
5
+ Domain: **Models / write**
6
+
7
+ ## Use Cases
8
+ - Update an existing custom model (the `--id` determines which record to update).
9
+ - All connection/display fields can be changed; `--api-key` may be omitted to preserve the stored key.
10
+ - Encouraged to verify connectivity with `+test-model` first, then pass `--connectivity-verified true`.
11
+ - `--scope` controls target scope: `personal` (default) or `company`. Company scope requires root/agent_admin.
12
+
13
+ ## Mandatory Rules (MUST)
14
+ - `--id`, `--model-id`, `--name`, and `--base-url` are required.
15
+ - `--base-url` must be a valid URL.
16
+ - `--api-key` is optional; omit or leave empty to preserve the existing key (do NOT pass an empty string to clear — the stored key is kept).
17
+ - `--scope` controls target scope: `personal` (default) or `company`. Company scope requires root/agent_admin; system models are read-only.
18
+ - Write operation: keep the confirmation prompt unless `--yes` is explicitly requested.
19
+
20
+ ## Command
21
+ ```bash
22
+ # Update display name and provider
23
+ ae-cli agent +update-model \
24
+ --id <model-cuid> \
25
+ --model-id gpt-4o \
26
+ --name "GPT-4o (prod)" \
27
+ --base-url "https://api.openai.com/v1" \
28
+ --provider openai \
29
+ --yes
30
+
31
+ # Rotate the API key
32
+ ae-cli agent +update-model \
33
+ --id <model-cuid> \
34
+ --model-id gpt-4o \
35
+ --name "GPT-4o" \
36
+ --base-url "https://api.openai.com/v1" \
37
+ --api-key "sk-newkey" \
38
+ --connectivity-verified true
39
+
40
+ # Dry-run to inspect the request before executing
41
+ ae-cli agent +update-model --dry-run \
42
+ --id <model-cuid> \
43
+ --model-id gpt-4o \
44
+ --name "GPT-4o" \
45
+ --base-url "https://api.openai.com/v1"
46
+ ```
47
+
48
+ ## Parameters
49
+ | Parameter | Required | Description |
50
+ |---|---|---|
51
+ | `--id` | Yes | Model record ID (CUID) to update |
52
+ | `--model-id` | Yes | Model identifier (e.g. `gpt-4o`) |
53
+ | `--name` | Yes | Display name |
54
+ | `--base-url` | Yes | API base URL (must be a valid URL) |
55
+ | `--api-key` | No | API key; omit or empty to preserve the existing key |
56
+ | `--provider` | No | Provider name |
57
+ | `--description` | No | Description |
58
+ | `--context-length` | No | Context window length (positive integer) |
59
+ | `--connectivity-verified` | No | Whether connectivity was verified (default `false`; pass `true` after `+test-model`) |
60
+ | `--auto-rename` | No | Auto-rename on display name conflict (append `-N` suffix) |
61
+ | `--scope` | No | Target scope: `personal` (default) or `company` (requires root/agent_admin) |
62
+
63
+ ## Decision Rules
64
+ - Confirm the model ID with `+list-models` before updating.
65
+ - To rotate the API key, pass `--api-key <new>`; to keep the stored key, simply omit `--api-key`.
66
+ - `--connectivity-verified` defaults to `false`. After a successful `+test-model`, pass `--connectivity-verified true` to confirm the new connection config.
67
+ - On display name conflict, the server returns `409`; pass `--auto-rename` to auto-resolve.
68
+ - Use `--dry-run` first to verify the request shape before executing.
69
+
70
+ ## Next Steps on Failure
71
+ - `模型不存在` (404): re-run `+list-models` to verify the model ID and scope.
72
+ - `模型名称已存在` (409): re-run with `--auto-rename`, or pick a different `--name`.
73
+ - `--base-url must be a valid URL`: check the URL formatting.
74
+ - `仅支持 LLM 类型模型测试` (from `+test-model`): the provider maps to a non-LLM type and cannot be tested.
75
+
76
+ ## Recommended Chaining
77
+ - `+list-models` → confirm `id` → `+test-model` (verify connectivity) → `+update-model --connectivity-verified true` → `+list-models` (verify)
@@ -0,0 +1,49 @@
1
+ # agent +upload-skill-asset (Upload Skill Asset)
2
+
3
+ > **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
4
+
5
+ Domain: **Skills / write**
6
+
7
+ ## Use Cases
8
+ - Upload a single file to a Skill's `assets` directory (multipart upload).
9
+ - Endpoint: `POST /api/sandbox/agent/skills/[id]/assets` (multipart/form-data).
10
+ - Max file size: 1MB per file.
11
+ - Dangerous file types are rejected server-side.
12
+
13
+ ## Mandatory Rules (MUST)
14
+ - `--id` is required. Obtain the real Skill record ID (CUID) via `+list-skills` — do not guess.
15
+ - `--file` is required and must point to an existing local file.
16
+ - Max 1MB per file; server enforces `isDangerousFile` checks.
17
+ - Write operation: keep the confirmation prompt unless `--yes` is explicitly requested.
18
+
19
+ ## Command
20
+ ```bash
21
+ # Upload a single asset
22
+ ae-cli agent +upload-skill-asset --id <skill-cuid> --file ./icon.png --yes
23
+
24
+ # Upload to a sub-directory
25
+ ae-cli agent +upload-skill-asset --id <skill-cuid> --file ./data.csv --sub-path "sub/" --yes
26
+
27
+ # Dry-run to inspect the request before executing
28
+ ae-cli agent +upload-skill-asset --dry-run --id <skill-cuid> --file ./icon.png
29
+ ```
30
+
31
+ ## Parameters
32
+ | Parameter | Required | Description |
33
+ |---|---|---|
34
+ | `--id` | Yes | Skill record ID (CUID) |
35
+ | `--file` | Yes | Local file path to upload (max 1MB) |
36
+ | `--sub-path` | No | Sub-directory under assets (e.g. `"sub/"`) |
37
+
38
+ ## Decision Rules
39
+ - Verify the file exists locally before uploading.
40
+ - Use `--sub-path` to organize assets into sub-directories.
41
+ - Use `--dry-run` first to verify the request shape before executing.
42
+
43
+ ## Next Steps on Failure
44
+ - `File not found`: verify the local file path.
45
+ - `文件过大(上限 1MB)`: the file exceeds the 1MB limit — compress or split it.
46
+ - `禁止上传危险文件类型`: the file type is blocked by server-side security checks.
47
+
48
+ ## Recommended Chaining
49
+ - `+list-skills` → `+list-skill-assets` → `+upload-skill-asset` → `+list-skill-assets` (verify)
@@ -0,0 +1,51 @@
1
+ # agent +upload-skill-reference (Upload Skill Reference)
2
+
3
+ > **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
4
+
5
+ Domain: **Skills / write**
6
+
7
+ ## Use Cases
8
+ - Upload a single `.md` file to a Skill's `references` directory (multipart upload).
9
+ - Endpoint: `POST /api/sandbox/agent/skills/[id]/references` (multipart/form-data).
10
+ - Max file size: 1MB per file.
11
+ - **Only `.md` files are allowed** — other extensions are rejected.
12
+
13
+ ## Mandatory Rules (MUST)
14
+ - `--id` is required. Obtain the real Skill record ID (CUID) via `+list-skills` — do not guess.
15
+ - `--file` is required, must be an existing local `.md` file.
16
+ - Non-`.md` files are rejected — use `+upload-skill-asset` for other file types.
17
+ - Max 1MB per file; server enforces `isDangerousFile` checks.
18
+ - Write operation: keep the confirmation prompt unless `--yes` is explicitly requested.
19
+
20
+ ## Command
21
+ ```bash
22
+ # Upload a single reference
23
+ ae-cli agent +upload-skill-reference --id <skill-cuid> --file ./guide.md --yes
24
+
25
+ # Upload to a sub-directory
26
+ ae-cli agent +upload-skill-reference --id <skill-cuid> --file ./advanced.md --sub-path "advanced/" --yes
27
+
28
+ # Dry-run to inspect the request before executing
29
+ ae-cli agent +upload-skill-reference --dry-run --id <skill-cuid> --file ./guide.md
30
+ ```
31
+
32
+ ## Parameters
33
+ | Parameter | Required | Description |
34
+ |---|---|---|
35
+ | `--id` | Yes | Skill record ID (CUID) |
36
+ | `--file` | Yes | Local `.md` file path to upload (max 1MB) |
37
+ | `--sub-path` | No | Sub-directory under references (e.g. `"advanced/"`) |
38
+
39
+ ## Decision Rules
40
+ - Verify the file exists locally and has a `.md` extension before uploading.
41
+ - For non-markdown files, use `+upload-skill-asset` instead.
42
+ - Use `--sub-path` to organize references into sub-directories.
43
+ - Use `--dry-run` first to verify the request shape before executing.
44
+
45
+ ## Next Steps on Failure
46
+ - `File not found`: verify the local file path.
47
+ - `--file must be a .md file for references`: use `+upload-skill-asset` for non-markdown files.
48
+ - `文件过大(上限 1MB)`: the file exceeds the 1MB limit — split the markdown.
49
+
50
+ ## Recommended Chaining
51
+ - `+list-skills` → `+list-skill-references` → `+upload-skill-reference` → `+list-skill-references` (verify)
@@ -0,0 +1,49 @@
1
+ # agent +upload-skill-script (Upload Skill Script)
2
+
3
+ > **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
4
+
5
+ Domain: **Skills / write**
6
+
7
+ ## Use Cases
8
+ - Upload a single file to a Skill's `scripts` directory (multipart upload).
9
+ - Endpoint: `POST /api/sandbox/agent/skills/[id]/scripts` (multipart/form-data).
10
+ - Max file size: 1MB per file.
11
+ - Dangerous file types are rejected server-side.
12
+
13
+ ## Mandatory Rules (MUST)
14
+ - `--id` is required. Obtain the real Skill record ID (CUID) via `+list-skills` — do not guess.
15
+ - `--file` is required and must point to an existing local file.
16
+ - Max 1MB per file; server enforces `isDangerousFile` checks.
17
+ - Write operation: keep the confirmation prompt unless `--yes` is explicitly requested.
18
+
19
+ ## Command
20
+ ```bash
21
+ # Upload a single script
22
+ ae-cli agent +upload-skill-script --id <skill-cuid> --file ./helper.sh --yes
23
+
24
+ # Upload to a sub-directory
25
+ ae-cli agent +upload-skill-script --id <skill-cuid> --file ./run.py --sub-path "tools/" --yes
26
+
27
+ # Dry-run to inspect the request before executing
28
+ ae-cli agent +upload-skill-script --dry-run --id <skill-cuid> --file ./helper.sh
29
+ ```
30
+
31
+ ## Parameters
32
+ | Parameter | Required | Description |
33
+ |---|---|---|
34
+ | `--id` | Yes | Skill record ID (CUID) |
35
+ | `--file` | Yes | Local file path to upload (max 1MB) |
36
+ | `--sub-path` | No | Sub-directory under scripts (e.g. `"tools/"`) |
37
+
38
+ ## Decision Rules
39
+ - Verify the file exists locally before uploading.
40
+ - Use `--sub-path` to organize scripts into sub-directories.
41
+ - Use `--dry-run` first to verify the request shape before executing.
42
+
43
+ ## Next Steps on Failure
44
+ - `File not found`: verify the local file path.
45
+ - `文件过大(上限 1MB)`: the file exceeds the 1MB limit — compress or split it.
46
+ - `禁止上传危险文件类型`: the file type is blocked by server-side security checks.
47
+
48
+ ## Recommended Chaining
49
+ - `+list-skills` → `+list-skill-scripts` → `+upload-skill-script` → `+list-skill-scripts` (verify)
@@ -0,0 +1,89 @@
1
+ # agent +upload-skill (Upload ZIP Skill)
2
+
3
+ > **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md).
4
+
5
+ Domain: **Skills / write**
6
+
7
+ ## Use Cases
8
+ - Upload a ZIP-format Skill package. The server parses SKILL.md from the ZIP, extracts files to the target directory, and writes the DB record.
9
+ - Endpoint: `POST /api/sandbox/agent/skills/upload` (multipart/form-data, 120s timeout).
10
+ - Supports form-field overrides for name, displayName, description, instructions, icon, category.
11
+ - `--scope` controls target scope: `personal` (default) or `company`.
12
+ - `--replace-skill-id` replaces an existing Skill instead of creating a new one.
13
+ - `--auto-rename` auto-renames on name conflict.
14
+
15
+ ## Mandatory Rules (MUST)
16
+ - `--file` is required and must be a `.zip` file that exists on disk.
17
+ - The ZIP must contain a `SKILL.md` file (with name and content at minimum).
18
+ - `--scope` must be `personal` or `company` (default `personal`).
19
+ - `--category` must be one of the market category keys when provided.
20
+ - `--instructions` supports `@-` to read from stdin.
21
+ - Write operation: keep the confirmation prompt unless `--yes` is explicitly requested.
22
+
23
+ ## Market Category Keys
24
+ `ae_preset | dev_tool | search_tool | data_query | content_gen | enterprise | life | automation | other`
25
+
26
+ ## Command
27
+ ```bash
28
+ # Upload a personal Skill from ZIP
29
+ ae-cli agent +upload-skill --file ./my-skill.zip --yes
30
+
31
+ # Upload with overrides
32
+ ae-cli agent +upload-skill \
33
+ --file ./my-skill.zip \
34
+ --scope personal \
35
+ --name custom-name \
36
+ --display-name "Custom Skill" \
37
+ --description "Override description" \
38
+ --category dev_tool \
39
+ --icon-emoji robot \
40
+ --yes
41
+
42
+ # Instructions from stdin
43
+ echo "You are a helpful assistant..." | \
44
+ ae-cli agent +upload-skill --file ./my-skill.zip --instructions @- --yes
45
+
46
+ # Replace an existing Skill
47
+ ae-cli agent +upload-skill --file ./updated.zip --replace-skill-id <skill-cuid> --yes
48
+
49
+ # Auto-rename on conflict
50
+ ae-cli agent +upload-skill --file ./my-skill.zip --auto-rename --yes
51
+
52
+ # Dry-run to inspect the request before executing
53
+ ae-cli agent +upload-skill --dry-run --file ./my-skill.zip
54
+ ```
55
+
56
+ ## Parameters
57
+ | Parameter | Required | Description |
58
+ |---|---|---|
59
+ | `--file` | Yes | Local `.zip` file path |
60
+ | `--scope` | No | Target scope: `personal` (default) or `company` |
61
+ | `--auto-rename` | No | Auto-rename on name conflict |
62
+ | `--replace-skill-id` | No | Replace an existing Skill (CUID) instead of creating new |
63
+ | `--category` | No | Market category key (see above) |
64
+ | `--name` | No | Override Skill name (from ZIP SKILL.md if omitted) |
65
+ | `--display-name` | No | Override display name |
66
+ | `--description` | No | Override description |
67
+ | `--instructions` | No | Override instructions (use `@-` to read from stdin) |
68
+ | `--icon-emoji` | No | Market icon emoji (e.g. `robot`) |
69
+ | `--icon-color` | No | Market icon color (e.g. `#1E76F0`) |
70
+
71
+ ## Decision Rules
72
+ - The ZIP must contain a `SKILL.md` with at least `name` and content — otherwise the upload fails with `missing_skill_md` or `missing_name_or_content`.
73
+ - Form-field overrides take precedence over ZIP SKILL.md content.
74
+ - Use `--replace-skill-id` to update an existing Skill's full content from a ZIP (different from `+edit-skill` which edits individual fields).
75
+ - Use `--auto-rename` when the Skill name might conflict with an existing one.
76
+ - `company` scope requires root privileges.
77
+ - Use `--dry-run` first to verify the request shape before executing.
78
+
79
+ ## Next Steps on Failure
80
+ - `File not found`: verify the local file path.
81
+ - `--file must be a .zip file`: only ZIP format is supported.
82
+ - `ZIP 中缺少 SKILL.md`: ensure the ZIP contains a `SKILL.md` file.
83
+ - `缺少名称或内容`: the SKILL.md is missing the `name` field or content — fix the ZIP.
84
+ - `缺少描述`: the SKILL.md is missing the description — fix the ZIP or use `--description`.
85
+ - `数据库写入失败`: DB write failed — retry or check server logs.
86
+ - `409` / name conflict: use `--auto-rename` or choose a different `--name`.
87
+
88
+ ## Recommended Chaining
89
+ - `+upload-skill` → `+list-skills` (verify) → `+get-skill-content` (inspect) → `+edit-skill` (fine-tune) → `+submit-skill` (publish)