summer-engine 4.0.0 → 4.2.0

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 (199) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +3 -2
  3. package/.codex-plugin/plugin.json +15 -11
  4. package/.cursor-plugin/plugin.json +5 -3
  5. package/.factory-plugin/plugin.json +3 -2
  6. package/AGENTS.md +1 -1
  7. package/CHANGELOG.md +37 -0
  8. package/README.md +20 -9
  9. package/dist/cli/commands/config.js +3 -2
  10. package/dist/cli/commands/create.js +12 -3
  11. package/dist/cli/commands/list.d.ts +5 -0
  12. package/dist/cli/commands/list.js +30 -13
  13. package/dist/cli/commands/memory.js +6 -2
  14. package/dist/cli/commands/ops.d.ts +20 -3
  15. package/dist/cli/commands/ops.js +55 -27
  16. package/dist/cli/commands/setup.d.ts +2 -0
  17. package/dist/cli/commands/setup.js +219 -16
  18. package/dist/cli/commands/skills.js +20 -7
  19. package/dist/cli/commands/status.d.ts +26 -0
  20. package/dist/cli/commands/status.js +36 -21
  21. package/dist/core/capabilities/apps.d.ts +10 -10
  22. package/dist/core/capabilities/audit/args.d.ts +6 -6
  23. package/dist/core/capabilities/fabricate-mesh.d.ts +2 -2
  24. package/dist/core/capabilities/game-task-plan.d.ts +2 -2
  25. package/dist/core/capabilities/hdri-import.d.ts +2 -2
  26. package/dist/core/capabilities/motion-generation.d.ts +2 -2
  27. package/dist/core/capabilities/placement.d.ts +23 -23
  28. package/dist/core/capabilities/runtime-control.d.ts +38 -38
  29. package/dist/core/capabilities/seeing/args.d.ts +16 -16
  30. package/dist/core/capabilities/ui-control.d.ts +2 -2
  31. package/dist/core/capabilities/world-snapshot.d.ts +4 -4
  32. package/dist/core/library-search.d.ts +2 -2
  33. package/dist/core/ops/areas.d.ts +11 -0
  34. package/dist/core/ops/areas.js +24 -0
  35. package/dist/core/ops/catalog.d.ts +4 -0
  36. package/dist/core/ops/catalog.js +13 -1
  37. package/dist/core/ops/cloud.d.ts +10 -2
  38. package/dist/core/ops/cloud.js +51 -28
  39. package/dist/core/ops/contract.d.ts +2 -1
  40. package/dist/core/ops/contract.js +2 -10
  41. package/dist/core/ops/public-catalog.d.ts +48 -0
  42. package/dist/core/ops/public-catalog.js +56 -0
  43. package/dist/core/ops/search.d.ts +0 -1
  44. package/dist/core/ops/search.js +169 -37
  45. package/dist/installer/agent-config.js +5 -0
  46. package/dist/installer/agent-table.d.ts +9 -0
  47. package/dist/installer/agent-table.js +23 -2
  48. package/dist/installer/cli-permissions.d.ts +65 -0
  49. package/dist/installer/cli-permissions.js +182 -0
  50. package/dist/installer/setup.d.ts +2 -0
  51. package/dist/installer/setup.js +3 -0
  52. package/dist/installer/skills-refresh.d.ts +29 -0
  53. package/dist/installer/skills-refresh.js +261 -0
  54. package/dist/installer/version-check.d.ts +22 -2
  55. package/dist/installer/version-check.js +66 -9
  56. package/dist/mcp/ops-surface.js +16 -6
  57. package/dist/mcp/server.d.ts +10 -0
  58. package/dist/mcp/server.js +32 -3
  59. package/dist/project-memory/agent-instructions.d.ts +47 -0
  60. package/dist/project-memory/agent-instructions.js +226 -0
  61. package/gemini-extension.json +3 -2
  62. package/integrations/README.md +1 -1
  63. package/integrations/claude/README.md +6 -0
  64. package/integrations/claude/manifest-target.json +4 -0
  65. package/integrations/gemini/README.md +11 -0
  66. package/integrations/windsurf/README.md +1 -1
  67. package/library/skills/3d-lighting/SKILL.md +16 -0
  68. package/library/skills/README.md +5 -4
  69. package/library/skills/adaptive-music/SKILL.md +21 -0
  70. package/library/skills/agent-playtesting/SKILL.md +22 -0
  71. package/library/skills/ai-characters-in-games/SKILL.md +15 -0
  72. package/library/skills/ambient-bed/SKILL.md +16 -0
  73. package/library/skills/animated-loop/SKILL.md +19 -0
  74. package/library/skills/animation-tree/SKILL.md +26 -0
  75. package/library/skills/art-direction/SKILL.md +14 -0
  76. package/library/skills/asset-strategy/SKILL.md +30 -0
  77. package/library/skills/audio-direction/SKILL.md +16 -0
  78. package/library/skills/auto-fire-targeting/SKILL.md +14 -0
  79. package/library/skills/brainstorm-game/SKILL.md +13 -0
  80. package/library/skills/browse-templates/SKILL.md +10 -0
  81. package/library/skills/camera-rigs/SKILL.md +20 -0
  82. package/library/skills/character-animation-wiring/SKILL.md +24 -0
  83. package/library/skills/character-model/SKILL.md +28 -0
  84. package/library/skills/character-movement/SKILL.md +24 -0
  85. package/library/skills/character-portrait/SKILL.md +15 -0
  86. package/library/skills/cinematic-cutscene/SKILL.md +21 -0
  87. package/library/skills/combat-basics/SKILL.md +19 -0
  88. package/library/skills/compatibility-renderer-traps/SKILL.md +11 -0
  89. package/library/skills/concept-art/SKILL.md +13 -0
  90. package/library/skills/concept-to-level/SKILL.md +20 -1
  91. package/library/skills/concept-to-level/resource.yaml +2 -2
  92. package/library/skills/create-asset-sheet/SKILL.md +18 -0
  93. package/library/skills/debug/SKILL.md +32 -0
  94. package/library/skills/debugging-game-feel/SKILL.md +12 -0
  95. package/library/skills/design-level/SKILL.md +17 -0
  96. package/library/skills/design-mechanic/SKILL.md +17 -0
  97. package/library/skills/design-npc/SKILL.md +21 -0
  98. package/library/skills/diagnosing-perf-regressions/SKILL.md +12 -0
  99. package/library/skills/driving-the-editor-ui/SKILL.md +23 -0
  100. package/library/skills/environment-kit/SKILL.md +23 -0
  101. package/library/skills/export-and-ship/SKILL.md +23 -0
  102. package/library/skills/fabricating-assets/SKILL.md +23 -0
  103. package/library/skills/facial-and-lipsync/SKILL.md +22 -0
  104. package/library/skills/fps-controller/SKILL.md +17 -0
  105. package/library/skills/game-feel/SKILL.md +26 -0
  106. package/library/skills/gameskill/SKILL.md +11 -0
  107. package/library/skills/gdscript-patterns/SKILL.md +15 -0
  108. package/library/skills/generate-motion/SKILL.md +21 -0
  109. package/library/skills/godogen-visual-proof-game-generation/SKILL.md +17 -0
  110. package/library/skills/grow-analytics/SKILL.md +10 -0
  111. package/library/skills/headless-scripting/SKILL.md +13 -0
  112. package/library/skills/in-game-purchases/SKILL.md +11 -0
  113. package/library/skills/instantiate-asset-pack/SKILL.md +17 -0
  114. package/library/skills/make-game/SKILL.md +29 -0
  115. package/library/skills/multiplayer/SKILL.md +12 -0
  116. package/library/skills/multiplayer-movement/SKILL.md +18 -0
  117. package/library/skills/multiplayer-project/SKILL.md +17 -0
  118. package/library/skills/multiplayer-publish/SKILL.md +17 -0
  119. package/library/skills/multiplayer-state/SKILL.md +16 -0
  120. package/library/skills/multiplayer-testing/SKILL.md +15 -0
  121. package/library/skills/music-track/SKILL.md +16 -0
  122. package/library/skills/navigate-summer/SKILL.md +15 -0
  123. package/library/skills/new-project/SKILL.md +11 -0
  124. package/library/skills/organic-model/SKILL.md +24 -0
  125. package/library/skills/pixel-art/SKILL.md +15 -0
  126. package/library/skills/play/SKILL.md +18 -0
  127. package/library/skills/playtesting-a-feature/SKILL.md +23 -0
  128. package/library/skills/procedural-animation/SKILL.md +18 -0
  129. package/library/skills/prop-model/SKILL.md +23 -0
  130. package/library/skills/publish-your-game/SKILL.md +27 -0
  131. package/library/skills/release-readiness/SKILL.md +12 -0
  132. package/library/skills/remote-deploy/SKILL.md +14 -0
  133. package/library/skills/retarget/SKILL.md +20 -0
  134. package/library/skills/running-in-the-cloud/SKILL.md +10 -0
  135. package/library/skills/save-load/SKILL.md +15 -0
  136. package/library/skills/scene-composition/SKILL.md +17 -0
  137. package/library/skills/scene-hierarchy-design/SKILL.md +24 -0
  138. package/library/skills/scene-scripting/SKILL.md +30 -0
  139. package/library/skills/scene-to-level/SKILL.md +22 -0
  140. package/library/skills/skill-test/SKILL.md +10 -0
  141. package/library/skills/skybox-panorama/SKILL.md +20 -0
  142. package/library/skills/sound-effect/SKILL.md +23 -0
  143. package/library/skills/spatial-placement/SKILL.md +30 -0
  144. package/library/skills/sprite-sheet/SKILL.md +23 -0
  145. package/library/skills/store-art/SKILL.md +11 -0
  146. package/library/skills/store-listing/SKILL.md +10 -0
  147. package/library/skills/summer-analytics/SKILL.md +15 -0
  148. package/library/skills/summer-apps/SKILL.md +29 -0
  149. package/library/skills/summer-assets/SKILL.md +31 -1
  150. package/library/skills/summer-assets/resource.yaml +2 -2
  151. package/library/skills/summer-cli/SKILL.md +133 -0
  152. package/library/skills/summer-cli/resource.yaml +31 -0
  153. package/library/skills/summer-friends/SKILL.md +14 -0
  154. package/library/skills/summer-leaderboards/SKILL.md +16 -0
  155. package/library/skills/summer-match-results/SKILL.md +17 -0
  156. package/library/skills/summer-matchmaking/SKILL.md +17 -0
  157. package/library/skills/summer-parties/SKILL.md +14 -0
  158. package/library/skills/summer-player-data/SKILL.md +14 -0
  159. package/library/skills/summer-store/SKILL.md +15 -0
  160. package/library/skills/summer-world-chat/SKILL.md +14 -0
  161. package/library/skills/summer-world-saves/SKILL.md +14 -0
  162. package/library/skills/text-to-motion/SKILL.md +15 -0
  163. package/library/skills/tileable-texture/SKILL.md +18 -0
  164. package/library/skills/trailer-shot/SKILL.md +18 -0
  165. package/library/skills/tune-performance/SKILL.md +26 -0
  166. package/library/skills/ui-basics/SKILL.md +14 -0
  167. package/library/skills/ui-graphics/SKILL.md +17 -0
  168. package/library/skills/use-widget-asset/SKILL.md +14 -0
  169. package/library/skills/using-summer/SKILL.md +26 -0
  170. package/library/skills/using-summer/resource.yaml +2 -1
  171. package/library/skills/vehicle-model/SKILL.md +27 -0
  172. package/library/skills/verifying-scenes/SKILL.md +29 -0
  173. package/library/skills/vfx-dissolve/SKILL.md +19 -0
  174. package/library/skills/vfx-fire/SKILL.md +26 -0
  175. package/library/skills/vfx-hit-spark/SKILL.md +23 -0
  176. package/library/skills/vfx-lightning/SKILL.md +23 -0
  177. package/library/skills/vfx-magic-glow/SKILL.md +23 -0
  178. package/library/skills/vfx-muzzle-flash/SKILL.md +23 -0
  179. package/library/skills/vfx-smoke/SKILL.md +26 -0
  180. package/library/skills/vfx-water-ripple/SKILL.md +23 -0
  181. package/library/skills/voice-line/SKILL.md +16 -0
  182. package/library/skills/web-and-touch-input/SKILL.md +19 -0
  183. package/library/skills/web-compatibility-look/SKILL.md +20 -0
  184. package/library/skills/world-building-3d/SKILL.md +28 -0
  185. package/package.json +3 -2
  186. package/registry/generated/counts.json +2 -2
  187. package/registry/generated/gemini-extension.json +3 -2
  188. package/registry/generated/index.json +157 -118
  189. package/registry/generated/marketplace.claude.json +2 -2
  190. package/registry/generated/plugin.claude-directory.json +168 -0
  191. package/registry/generated/plugin.claude.json +3 -2
  192. package/registry/generated/plugin.codex.json +15 -11
  193. package/registry/generated/plugin.cursor.json +5 -3
  194. package/registry/generated/plugin.factory.json +3 -2
  195. package/registry/generated/server.json +11 -2
  196. package/registry/generated/skills-index.md +5 -4
  197. package/registry/generated/skills-registry.json +16 -2
  198. package/registry/operations/legacy-names.json +35 -0
  199. package/registry/operations/public-catalog.json +33160 -0
@@ -154,3 +154,18 @@ Set `get_tree().set_auto_accept_quit(false)` so you control the quit.
154
154
  instead: a `RunVerification` probe (see `playtesting-a-feature`) that calls
155
155
  `save_game()`, changes a value, calls `load_game()`, and `report()`s the
156
156
  restored value.
157
+
158
+ <!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
159
+ ## From a shell
160
+
161
+ No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
162
+
163
+ | In this skill | Command |
164
+ |---|---|
165
+ | `summer_get_diagnostics` | `summer engine get-diagnostics` |
166
+ | `summer_get_script_errors` | `summer engine get-script-errors` |
167
+ | `summer_project_setting` | `summer engine project-setting` |
168
+ | `summer_read_file` | `summer engine read-file` |
169
+ | `summer_replace_text` | `summer engine replace-text` |
170
+ | `summer_write_file` | `summer engine write-file` |
171
+ <!-- /shell-commands -->
@@ -165,3 +165,20 @@ Don't skip the player mask update. If you only move foliage to layer 9 without a
165
165
  ## Collaborative protocol
166
166
 
167
167
  This skill creates and mutates scene files. Always ask before applying: "May I create `res://scenes/player.tscn` and instantiate it under `./World`?".
168
+
169
+ <!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
170
+ ## From a shell
171
+
172
+ No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
173
+
174
+ | In this skill | Command |
175
+ |---|---|
176
+ | `summer_add_node` | `summer engine add-node` |
177
+ | `summer_create_scene` | `summer engine create-scene` |
178
+ | `summer_get_scene_tree` | `summer engine get-scene-tree` |
179
+ | `summer_import_from_url` | `summer engine import-from-url` |
180
+ | `summer_instantiate_scene` | `summer engine instantiate-scene` |
181
+ | `summer_open_scene` | `summer engine open-scene` |
182
+ | `summer_save_scene` | `summer engine save-scene` |
183
+ | `summer_set_prop` | `summer engine set-prop` |
184
+ <!-- /shell-commands -->
@@ -100,3 +100,27 @@ Follow the canonical scene loop from the Summer MCP reference: route → orient
100
100
  3. Deleting a wrapper parent (`summer_remove_node`) removes exactly its subtree — the recursive-despawn feature works.
101
101
  4. No script references a path deeper than one or two segments; group/signal/NodePath used instead.
102
102
  5. `summer_get_script_errors` and (if played) `summer_get_debugger_errors` are clean; `summer_screenshot` matches the intended layout.
103
+
104
+ <!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
105
+ ## From a shell
106
+
107
+ No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
108
+
109
+ | In this skill | Command |
110
+ |---|---|
111
+ | `docs.plan` | `summer docs plan` |
112
+ | `summer_add_node` | `summer engine add-node` |
113
+ | `summer_connect_signal` | `summer engine connect-signal` |
114
+ | `summer_create_scene` | `summer engine create-scene` |
115
+ | `summer_get_debugger_errors` | `summer engine get-debugger-errors` |
116
+ | `summer_get_project_context` | `summer engine get-project-context` |
117
+ | `summer_get_scene_tree` | `summer engine get-scene-tree` |
118
+ | `summer_get_script_errors` | `summer engine get-script-errors` |
119
+ | `summer_instantiate_scene` | `summer engine instantiate-scene` |
120
+ | `summer_play` | `summer engine play` |
121
+ | `summer_remove_node` | `summer engine remove-node` |
122
+ | `summer_save_scene` | `summer engine save-scene` |
123
+ | `summer_screenshot` | `summer engine screenshot` |
124
+ | `summer_stop` | `summer engine stop` |
125
+ | `summer_get_agent_playbook` | `summer tool get-agent-playbook` |
126
+ <!-- /shell-commands -->
@@ -192,3 +192,33 @@ If `summer_run_script` answers `engine_lacks_op`, the engine build predates RunS
192
192
  - `character-animation-wiring` — the animation tier end to end.
193
193
  - `gdscript-patterns` — idioms for the scripts `attach_script` writes.
194
194
  - `verification-before-completion` — proving the result before claiming done.
195
+
196
+ <!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
197
+ ## From a shell
198
+
199
+ No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
200
+
201
+ | In this skill | Command |
202
+ |---|---|
203
+ | `assets.slice_sheet` | `summer assets slice-sheet` |
204
+ | `summer_api_docs` | `summer docs engine-api` |
205
+ | `summer_docs_read` | `summer docs read` |
206
+ | `summer_add_node` | `summer engine add-node` |
207
+ | `summer_batch` | `summer engine batch` |
208
+ | `summer_connect_signal` | `summer engine connect-signal` |
209
+ | `summer_get_project_context` | `summer engine get-project-context` |
210
+ | `summer_get_runtime_tree` | `summer engine get-runtime-tree` |
211
+ | `summer_get_script_errors` | `summer engine get-script-errors` |
212
+ | `summer_input_map_bind` | `summer engine input-map-bind` |
213
+ | `summer_instantiate_scene` | `summer engine instantiate-scene` |
214
+ | `summer_play` | `summer engine play` |
215
+ | `summer_project_setting` | `summer engine project-setting` |
216
+ | `summer_run_editor_script` | `summer engine run-editor-script` |
217
+ | `summer_run_script` | `summer engine run-script` |
218
+ | `summer_screenshot` | `summer engine screenshot` |
219
+ | `summer_set_prop` | `summer engine set-prop` |
220
+ | `summer_snapshot_diff` | `summer engine snapshot-diff` |
221
+ | `summer_stop` | `summer engine stop` |
222
+ | `summer_world_snapshot` | `summer engine world-snapshot` |
223
+ | `summer_write_file` | `summer engine write-file` |
224
+ <!-- /shell-commands -->
@@ -125,3 +125,25 @@ Expect about 30 minutes for the asset packs (in parallel) and another 15 for sce
125
125
  - **Auto-tiling terrain.** The pipeline node exists in the decision tree but the leaf skill that implements it is not built.
126
126
  - **Animation orchestration.** Per-character `sprite-sheet` is invoked manually; no auto-pairing of characters with their animation pipelines yet.
127
127
  - **Gameplay code.** Player movement, interactions, win conditions — those are level-design + gameplay-mechanics skills, not this one.
128
+
129
+ <!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
130
+ ## From a shell
131
+
132
+ No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
133
+
134
+ | In this skill | Command |
135
+ |---|---|
136
+ | `summer_assets_search` | `summer assets search` |
137
+ | `summer_add_node` | `summer engine add-node` |
138
+ | `summer_create_scene` | `summer engine create-scene` |
139
+ | `summer_get_diagnostics` | `summer engine get-diagnostics` |
140
+ | `summer_get_scene_tree` | `summer engine get-scene-tree` |
141
+ | `summer_get_script_errors` | `summer engine get-script-errors` |
142
+ | `summer_import_from_url` | `summer engine import-from-url` |
143
+ | `summer_inspect_node` | `summer engine inspect-node` |
144
+ | `summer_open_scene` | `summer engine open-scene` |
145
+ | `summer_play` | `summer engine play` |
146
+ | `summer_save_scene` | `summer engine save-scene` |
147
+ | `summer_set_prop` | `summer engine set-prop` |
148
+ | `summer_set_resource_property` | `summer engine set-resource-property` |
149
+ <!-- /shell-commands -->
@@ -84,3 +84,13 @@ This skill is **read-only**. It never writes. No "May I" needed.
84
84
  - the template registry: `library/templates/<id>/resource.yaml` (see `library/templates/README.md`)
85
85
  - `tests/runner.md`
86
86
  - `evals/skills/specs/` — per-skill behavioral specs
87
+
88
+ <!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
89
+ ## From a shell
90
+
91
+ No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
92
+
93
+ | In this skill | Command |
94
+ |---|---|
95
+ | `summer_docs_read` | `summer docs read` |
96
+ <!-- /shell-commands -->
@@ -205,3 +205,23 @@ After the sky is wired:
205
205
  - `scene-composition` — WorldEnvironment placement and configuration.
206
206
  - `asset-strategy` — meta-router.
207
207
  - `summer_docs_read` id `reference/mcp-tools-reference` — how to call `assets.generate_image`.
208
+
209
+ <!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
210
+ ## From a shell
211
+
212
+ No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
213
+
214
+ | In this skill | Command |
215
+ |---|---|
216
+ | `assets.generate_image`, `summer_assets_generate_image` | `summer assets generate-image` |
217
+ | `summer_assets_search` | `summer assets search` |
218
+ | `summer_docs_read` | `summer docs read` |
219
+ | `summer_add_node` | `summer engine add-node` |
220
+ | `summer_import_from_url` | `summer engine import-from-url` |
221
+ | `summer_inspect_node` | `summer engine inspect-node` |
222
+ | `summer_play` | `summer engine play` |
223
+ | `summer_save_scene` | `summer engine save-scene` |
224
+ | `summer_set_prop` | `summer engine set-prop` |
225
+ | `summer_set_resource_property` | `summer engine set-resource-property` |
226
+ | `summer_write_file` | `summer engine write-file` |
227
+ <!-- /shell-commands -->
@@ -176,3 +176,26 @@ Print the prompt, the length and the target path (`res://audio/sfx/<name>.wav`),
176
176
  - `music-track` — music
177
177
  - `voice-line` — speech
178
178
  - `summer_docs_read` id `reference/mcp-tools-reference`
179
+
180
+ <!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
181
+ ## From a shell
182
+
183
+ No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
184
+
185
+ | In this skill | Command |
186
+ |---|---|
187
+ | `assets.choices`, `summer_assets_choices` | `summer assets choices` |
188
+ | `assets.generate_audio`, `summer_assets_generate_audio` | `summer assets generate-audio` |
189
+ | `assets.generate_sfx_choices`, `summer_assets_generate_sfx_choices` | `summer assets generate-sfx-choices` |
190
+ | `assets.get` | `summer assets get` |
191
+ | `assets.search`, `summer_assets_search` | `summer assets search` |
192
+ | `summer_docs_read` | `summer docs read` |
193
+ | `summer_add_node` | `summer engine add-node` |
194
+ | `summer_get_scene_tree` | `summer engine get-scene-tree` |
195
+ | `summer_import_asset_by_id` | `summer engine import-asset-by-id` |
196
+ | `summer_import_from_url` | `summer engine import-from-url` |
197
+ | `summer_inspect_node` | `summer engine inspect-node` |
198
+ | `summer_instantiate_scene` | `summer engine instantiate-scene` |
199
+ | `summer_run_script` | `summer engine run-script` |
200
+ | `summer_set_prop` | `summer engine set-prop` |
201
+ <!-- /shell-commands -->
@@ -208,3 +208,33 @@ anchors, pass their names instead.
208
208
  - A piece seated flush against a single-sided wall can read `open` in the
209
209
  wall's direction while `contacts` lists the wall: Starcast's one ray per
210
210
  direction starts at the touching face. Read `contacts` too.
211
+
212
+ <!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
213
+ ## From a shell
214
+
215
+ No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
216
+
217
+ | In this skill | Command |
218
+ |---|---|
219
+ | `summer_align_distribute_3d` | `summer engine align-distribute-3d` |
220
+ | `summer_attach_to_surface` | `summer engine attach-to-surface` |
221
+ | `summer_batch` | `summer engine batch` |
222
+ | `summer_connect_ports` | `summer engine connect-ports` |
223
+ | `summer_get_scene_tree` | `summer engine get-scene-tree` |
224
+ | `summer_inspect_asset` | `summer engine inspect-asset` |
225
+ | `summer_inspect_node` | `summer engine inspect-node` |
226
+ | `summer_instantiate_scene` | `summer engine instantiate-scene` |
227
+ | `summer_measure` | `summer engine measure` |
228
+ | `summer_open_scene` | `summer engine open-scene` |
229
+ | `summer_place_adjacent` | `summer engine place-adjacent` |
230
+ | `summer_raycast` | `summer engine raycast` |
231
+ | `summer_repeat_along` | `summer engine repeat-along` |
232
+ | `summer_run_script` | `summer engine run-script` |
233
+ | `summer_screenshot` | `summer engine screenshot` |
234
+ | `summer_set_prop` | `summer engine set-prop` |
235
+ | `summer_snap_to_surface` | `summer engine snap-to-surface` |
236
+ | `summer_snapshot_diff` | `summer engine snapshot-diff` |
237
+ | `summer_starcast` | `summer engine starcast` |
238
+ | `summer_test_placement` | `summer engine test-placement` |
239
+ | `summer_world_snapshot` | `summer engine world-snapshot` |
240
+ <!-- /shell-commands -->
@@ -247,3 +247,26 @@ After the animation is wired:
247
247
  - `generate-motion` — 3D-skeletal counterpart.
248
248
  - `sound-effect` — frame-synced SFX.
249
249
  - `summer_docs_read` id `reference/mcp-tools-reference` — how to call `assets.generate_image`.
250
+
251
+ <!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
252
+ ## From a shell
253
+
254
+ No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
255
+
256
+ | In this skill | Command |
257
+ |---|---|
258
+ | `assets.generate_image`, `summer_assets_generate_image` | `summer assets generate-image` |
259
+ | `assets.get` | `summer assets get` |
260
+ | `summer_assets_search` | `summer assets search` |
261
+ | `assets.slice_sheet`, `summer_assets_slice_sheet` | `summer assets slice-sheet` |
262
+ | `summer_docs_read` | `summer docs read` |
263
+ | `docs.workflows` | `summer docs workflows` |
264
+ | `summer_add_node` | `summer engine add-node` |
265
+ | `summer_import_asset_by_id` | `summer engine import-asset-by-id` |
266
+ | `summer_import_from_url` | `summer engine import-from-url` |
267
+ | `summer_import_from_url_batch` | `summer engine import-from-url-batch` |
268
+ | `summer_save_scene` | `summer engine save-scene` |
269
+ | `summer_set_prop` | `summer engine set-prop` |
270
+ | `summer_set_resource_property` | `summer engine set-resource-property` |
271
+ | `summer_write_file` | `summer engine write-file` |
272
+ <!-- /shell-commands -->
@@ -21,3 +21,14 @@ Its current text lives on the hosted Summer Engine MCP, the same text the Studio
21
21
  Screenshots: `summer_capture_gameplay` takes them offscreen. Get past the title screen with the game's own flags in `args` or with `steps`, e.g. `{"args":["--autostart"],"steps":[{"wait":3000},{"shot":true},{"key":"Space"},{"wait":800},{"shot":true}]}`.
22
22
 
23
23
  The one rule to keep even before you load it: Key art, covers and icons carry no text: the stores draw the title over them. Screenshots are real play.
24
+
25
+ <!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
26
+ ## From a shell
27
+
28
+ No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
29
+
30
+ | In this skill | Command |
31
+ |---|---|
32
+ | `summer_docs_read` | `summer docs read` |
33
+ | `summer_capture_gameplay` | `summer engine capture-gameplay` |
34
+ <!-- /shell-commands -->
@@ -19,3 +19,13 @@ Its current text lives on the hosted Summer Engine MCP, the same text the Studio
19
19
  3. Without a store sign-in: https://docs.summerengine.com/llms.txt lists every docs page; fetch any page as .md.
20
20
 
21
21
  The one rule to keep even before you load it: Never invent features, modes, player counts, awards or prices.
22
+
23
+ <!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
24
+ ## From a shell
25
+
26
+ No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
27
+
28
+ | In this skill | Command |
29
+ |---|---|
30
+ | `summer_docs_read` | `summer docs read` |
31
+ <!-- /shell-commands -->
@@ -147,3 +147,18 @@ Every failure is final: none of them asks you to capture again.
147
147
  - `multiplayer` — where the client and the authority run
148
148
  - `multiplayer-state` — the authority's Command handlers, where most events happen
149
149
  - `summer-match-results` — results and ratings, which Summer records itself
150
+
151
+ <!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
152
+ ## From a shell
153
+
154
+ No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
155
+
156
+ | In this skill | Command |
157
+ |---|---|
158
+ | `analytics.summary` | `summer analytics summary` |
159
+ | `summer_get_diagnostics` | `summer engine get-diagnostics` |
160
+ | `summer_get_script_errors` | `summer engine get-script-errors` |
161
+ | `summer_play` | `summer engine play` |
162
+ | `summer_stop` | `summer engine stop` |
163
+ | `studio.open` | `summer studio open` |
164
+ <!-- /shell-commands -->
@@ -166,3 +166,32 @@ critical are the person's to press.
166
166
  The app is published; `apps.screenshot` shows it with real data in light, dark and at
167
167
  390 px with no errors; its states (loading, empty, error) work; and the person knows what it
168
168
  does and where its data goes.
169
+
170
+ <!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
171
+ ## From a shell
172
+
173
+ No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
174
+
175
+ | In this skill | Command |
176
+ |---|---|
177
+ | `apps.call`, `summer_apps_call` | `summer apps call` |
178
+ | `apps.create`, `summer_apps_create` | `summer apps create` |
179
+ | `apps.dock` | `summer apps dock` |
180
+ | `apps.events`, `summer_apps_events` | `summer apps events` |
181
+ | `apps.get`, `summer_apps_get` | `summer apps get` |
182
+ | `apps.guide`, `summer_apps_guide` | `summer apps guide` |
183
+ | `summer_apps_list` | `summer apps list` |
184
+ | `apps.page`, `summer_apps_page` | `summer apps page` |
185
+ | `apps.publish`, `summer_apps_publish` | `summer apps publish` |
186
+ | `apps.read_data`, `summer_apps_read_data` | `summer apps read-data` |
187
+ | `apps.report_gap`, `summer_apps_report_gap` | `summer apps report-gap` |
188
+ | `apps.screenshot`, `summer_apps_screenshot` | `summer apps screenshot` |
189
+ | `apps.tools`, `summer_apps_tools` | `summer apps tools` |
190
+ | `apps.update`, `summer_apps_update` | `summer apps update` |
191
+ | `apps.use_page`, `summer_apps_use_page` | `summer apps use-page` |
192
+ | `apps.write_data`, `summer_apps_write_data` | `summer apps write-data` |
193
+ | `assets.generate_sfx_choices` | `summer assets generate-sfx-choices` |
194
+ | `docs.feedback` | `summer docs feedback` |
195
+ | `jobs.wait` | `summer jobs wait` |
196
+ | `summer_search` | `summer ops search "<what you want>"` |
197
+ <!-- /shell-commands -->
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: summer-assets
3
- description: "Make game assets with Summer without Summer Engine: find, generate and download 3D models, images, audio and video for any engine or web app."
3
+ description: "Make game assets with Summer, no Summer Engine: find, generate and download 3D models, images, audio and video for any engine or app."
4
4
  license: MIT
5
5
  compatibility: [Cursor, Claude Code, Codex, Windsurf, Gemini, OpenCode, Factory, Copilot]
6
6
  category: _meta
@@ -54,3 +54,33 @@ Each asset is a normal file in the person's Summer library: GLB for 3D models, P
54
54
  | Generating the same asset again to get the file | `assets.get` with `out` on the asset you already have |
55
55
  | Telling the person the asset looks right without a preview | Say what you received, or that no preview came back |
56
56
  | The person wants a whole game, not assets | Say that this needs Summer Engine and the full setup: `npx -y summer-engine@latest setup <agent> --yes` |
57
+
58
+ <!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
59
+ ## From a shell
60
+
61
+ No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
62
+
63
+ | In this skill | Command |
64
+ |---|---|
65
+ | `assets.choices` | `summer assets choices` |
66
+ | `assets.generate_3d` | `summer assets generate-3d` |
67
+ | `assets.generate_audio` | `summer assets generate-audio` |
68
+ | `assets.generate_image` | `summer assets generate-image` |
69
+ | `assets.generate_motion` | `summer assets generate-motion` |
70
+ | `assets.generate_sfx_choices` | `summer assets generate-sfx-choices` |
71
+ | `assets.generate_video` | `summer assets generate-video` |
72
+ | `assets.get` | `summer assets get` |
73
+ | `assets.search` | `summer assets search` |
74
+ | `assets.slice_sheet` | `summer assets slice-sheet` |
75
+ | `summer_docs_read` | `summer docs read` |
76
+ | `summer_docs_search` | `summer docs search` |
77
+ | `summer_add_node` | `summer engine add-node` |
78
+ | `summer_get_project_context` | `summer engine get-project-context` |
79
+ | `summer_import_asset_by_id` | `summer engine import-asset-by-id` |
80
+ | `summer_play` | `summer engine play` |
81
+ | `summer_screenshot` | `summer engine screenshot` |
82
+ | `jobs.wait` | `summer jobs wait` |
83
+ | `makers.npc_voice` | `summer makers npc-voice` |
84
+ | `makers.trailer_forge` | `summer makers trailer-forge` |
85
+ | `summer_search` | `summer ops search "<what you want>"` |
86
+ <!-- /shell-commands -->
@@ -1,7 +1,7 @@
1
1
  id: skill/summer-assets
2
2
  kind: skill
3
- version: 1.0.0
4
- summary: "Make game assets with Summer without Summer Engine: find, generate and download 3D models, images, audio and video for any engine or web app."
3
+ version: 1.0.1
4
+ summary: "Make game assets with Summer, no Summer Engine: find, generate and download 3D models, images, audio and video for any engine or app."
5
5
  use_when:
6
6
  - starting a session that has the Summer assets profile (generation tools, no engine tools)
7
7
  - the person wants assets for their own engine or web app, not a game built in Summer Engine
@@ -0,0 +1,133 @@
1
+ ---
2
+ name: summer-cli
3
+ description: "Summer as shell commands, no MCP: sign in, find and run operations, follow jobs, save files, drive the engine."
4
+ license: MIT
5
+ compatibility: [Cursor, Claude Code, Codex, Windsurf, Gemini, OpenCode, Factory, Copilot]
6
+ category: _meta
7
+ allowed-tools: Bash Read
8
+ ---
9
+
10
+ # Summer from the shell
11
+
12
+ Use this skill when the session has no `summer_*` MCP tools (Summer was set up with `summer setup <agent> --cli`), or when a script or CI job runs Summer. Every Summer capability is an operation named `area.action`, and every operation is one command: `summer <area> <action>`. The commands run the same code as the MCP tools and give the same answers.
13
+
14
+ First run `summer --version`. If the shell does not find `summer`, or the version is below 4.0 (an old global install, which has no `summer <area> <action>` commands), put `npx -y summer-engine@latest` in place of `summer`, with the same arguments. In Windows PowerShell, write `npx.cmd`.
15
+
16
+ ## The five commands in a game project
17
+
18
+ <!-- project-commands: the AGENTS.md that summer create and summer setup write copies this list -->
19
+ 1. `summer run .` opens the project in Summer Engine. An agent's run stays in the background.
20
+ 2. `summer engine get-project-context` (MCP: `summer_get_project_context`) reads the project, its main scene and the engine version. Run it first.
21
+ 3. `summer engine play`, then `summer engine get-diagnostics` (MCP: `summer_play`, `summer_get_diagnostics`), runs the game and reads its errors. `summer engine stop` (`summer_stop`) ends it.
22
+ 4. `summer engine screenshot` (MCP: `summer_screenshot`) saves an image of the editor or the running game. Open its `localPath` to look.
23
+ 5. `summer ops search "<what you want>"` (MCP: `summer_search`) finds any other operation. Run it as `summer <area> <action>` (MCP: `summer_call`), with `--dry-run` first for a change.
24
+ <!-- /project-commands -->
25
+
26
+ ## 1. Sign in once
27
+
28
+ ```bash
29
+ summer login # opens the browser: the Summer account, then the store and cloud operations
30
+ summer whoami # who is signed in, and their credits
31
+ ```
32
+
33
+ Cloud operations (generation, the asset library, the store, publishing, analytics) need the sign-in. Engine commands do not. Run `summer login` in the foreground, once. Tell the person that their browser opens, and wait for them.
34
+
35
+ ## 2. Find the operation
36
+
37
+ ```bash
38
+ summer ops search "make a sound effect" # the best matches: name, effect, title
39
+ summer ops describe assets.generate_audio # the exact input: fields, types, which are required
40
+ ```
41
+
42
+ Describe the job in plain words. `--area assets` keeps one area. Without a sign-in, search and describe still find every operation: a cloud one shows `(needs sign-in)` and runs after `summer login`.
43
+
44
+ For a guide instead of an operation, search the library: `summer docs search --query "<the task>"`, then `summer docs read --id <id>`. Both work offline. Then follow the skill it names.
45
+
46
+ Each Summer skill ends with a **From a shell** table: the command for each MCP tool and operation the skill names. A skill that says `summer_play` or `assets.generate_image` means `summer engine play` or `summer assets generate-image`.
47
+
48
+ ## 3. Run it
49
+
50
+ ```bash
51
+ summer assets generate-image --dry-run --prompt "a cozy pixel-art tavern" --aspect-ratio 16:9
52
+ summer engine set-prop --scene-path res://main.tscn --path Player --key position --value "Vector3(0, 1, 0)"
53
+ summer store status --game-id <id> --json
54
+ ```
55
+
56
+ - Actions and fields are kebab-case: `aspectRatio` is `--aspect-ratio`, `look_at` is `--look-at`.
57
+ - `--<field>` alone sets a boolean field to true; `--no-<field>` sets it to false. Repeat a flag to give a list.
58
+ - Objects, and anything hard to quote, go in `--input '<json>'`. A flag wins over the same key in `--input`.
59
+ - `--dry-run` checks the input and changes nothing. For a spend it shows the estimate in credits. Put it right after the action: after `summer setup <agent> --cli --allow-rules --yes` (run that only when the person asks for it), Claude Code and Codex run it without asking (and the reads). Before each generation or other spend: dry-run it, tell the person what you will make, and wait for a yes.
60
+ - `--idempotency-key <key>` makes a retry safe: Summer runs a change once per key.
61
+ - `--json` prints only the answer: `{"ok":true,"status":"done","result":{...}}`. The exit code is 0 for every `ok` answer and 1 for an error.
62
+
63
+ ## 4. Long jobs
64
+
65
+ 3D, video, animation, builds and uploads answer `Started: job <id>` with the command that follows the job.
66
+
67
+ ```bash
68
+ summer assets generate-3d --prompt "a wooden barrel" --wait # runs, then follows the job to the end
69
+ summer jobs wait --job-id <id> --timeout-seconds 50 # run it again until finished is true
70
+ ```
71
+
72
+ Do not run the same change again to get its result. Wait on the job.
73
+
74
+ ## 5. Approvals
75
+
76
+ A publish or another live change can answer `Needs approval` with a link. Give the person that link: nothing changes until they approve. Follow it with `summer jobs wait --job-id <id>` (or `--wait` on the call) until it ends: `done`, `declined`, `expired` or `stale`. Never approve for the person.
77
+
78
+ ## 6. Files
79
+
80
+ - `--out <folder or file>` on a generate command, on `summer jobs wait` or on `summer assets get` saves the file there. In a Godot project, `res://` paths work. The answer adds `localPath`.
81
+ - Without `--out`, a generation run inside a game project saves into its asset folder: Godot `assets/`, Unity `Assets/Summer`, Unreal `Content/Summer`, three.js `public/assets`. Outside a project, give `--out`.
82
+ - `summer assets get --asset-id <id>` saves only with `--out`.
83
+ - A save never overwrites a file. Tell the person the `localPath`.
84
+
85
+ ## 7. The engine
86
+
87
+ Engine commands (`summer engine …`) drive the Summer Engine app on this machine. The app must run with the project open.
88
+
89
+ ```bash
90
+ summer status # is the engine up, and the sign-in
91
+ summer run ./my-game # opens the project; for an agent, in the background
92
+ summer engine get-project-context # first call: project, main scene, engine version
93
+ summer engine get-scene-tree --scene-path res://main.tscn --depth 2
94
+ summer engine screenshot # the answer's localPath is an image: open it to look
95
+ ```
96
+
97
+ - Values are engine value strings, not JSON: `"Vector3(0, 10, 0)"`, `"Color(1, 0.5, 0, 1)"`. A resource is its class name: `"BoxMesh"`.
98
+ - Name the scene in every change: `--scene-path res://<scene>.tscn`.
99
+ - 3 or more scene edits are one script, not a chain of commands. Write a `func run(ctx):` that ends with `ctx.save_scene()` to a file, then run `summer engine run-script --scene-path res://main.tscn --source "$(cat build.gd)"`. The `scene-scripting` skill has the script API.
100
+ - With more than one editor open, set `SUMMER_ENGINE_PROJECT` to the project folder so the command picks the right one.
101
+ - `summer tool <slug> --args '<json>'` runs an engine tool by its 3.x name too. `summer tool --list` lists them.
102
+
103
+ ## Without Summer Engine
104
+
105
+ Everything except section 7 works without the app: the sign-in, the library, generation, assets and files, the store and analytics. Skip the `summer engine …` commands; there they answer `engine_not_running`. For assets for another engine or a web app, follow the `summer-assets` skill and stop at the file.
106
+
107
+ ## 8. Errors
108
+
109
+ An error prints `Error (<code>): <message>` and one `Next:` step, and exits 1. Do the next step. Retry only when the table says so.
110
+
111
+ | Code | Do this |
112
+ |---|---|
113
+ | `not_signed_in` | Run the command in `Next` (`summer login`), then the same command again. |
114
+ | `engine_not_running` | Open the project in Summer Engine, or `summer run <project-path>`. Then run it again. |
115
+ | `engine_lacks_op` | This engine build is too old for the command. Use the fallback the message names, or ask the person to update Summer Engine. |
116
+ | `invalid_input` | `summer ops describe <op>`, fix the flags, run it again. |
117
+ | `no_credits` | Give the person the link in `Next`. Do not run it again until they say they added credits. |
118
+ | `forbidden` | Summer refused this account. The person checks it in Summer Studio. |
119
+ | `not_found` | Check the id (the area's `list` command), or find the right operation with `summer ops search`. |
120
+ | `rate_limited`, `unavailable` | Nothing ran. Wait a minute and run it again. If it repeats, tell the person the message. |
121
+ | `outcome_unknown` | The change may have run. Run it again only with the same `--idempotency-key`, or check first. |
122
+ | `in_progress` | The same change is still running. Wait, then follow its job or run it again with the same `--idempotency-key`. |
123
+ | `idempotency_conflict` | That key was used for a different input. A new change needs a new key. |
124
+ | `conflict` | The state changed, or a job or approval ended without running (declined, expired, stale or cancelled). Check the current state; start again only if the person wants it. |
125
+ | `over_limit` | A plan limit or cap was reached. Give the person the message and the link in `Next`. Do not retry. |
126
+ | `unsupported` | Summer cannot do this yet, or not here. Tell the person the message. Do not retry. |
127
+ | `internal` | Summer failed on its side. Run it once more; if it fails again, tell the person the message. |
128
+
129
+ ## Done means
130
+
131
+ - You ran each command and read its answer. Do not report an answer you did not get.
132
+ - Every spend had a dry run and a yes from the person first.
133
+ - Every file you made is saved, and you told the person its `localPath`.
@@ -0,0 +1,31 @@
1
+ id: skill/summer-cli
2
+ kind: skill
3
+ version: 1.0.1
4
+ summary: "Summer as shell commands, no MCP: sign in, find and run operations, follow jobs, save files, drive the engine."
5
+ use_when:
6
+ - the session has no summer_* MCP tools, or Summer was set up with summer setup <agent> --cli
7
+ - running a Summer operation, a generation or an engine change from a shell, a script or CI
8
+ - a skill names an MCP tool or an operation and you need the summer command that runs it
9
+ do_not_use_when:
10
+ - the session lists Summer's MCP tools; call them directly (the using-summer skill)
11
+ facets:
12
+ lifecycle:
13
+ - build
14
+ domains:
15
+ - agent-workflow
16
+ - assets
17
+ - tools
18
+ modalities:
19
+ - docs
20
+ related:
21
+ tools:
22
+ - tool/search-library
23
+ - tool/read-library
24
+ skills:
25
+ - skill/using-summer
26
+ - skill/summer-assets
27
+ - skill/scene-scripting
28
+ source: official
29
+ license: MIT
30
+ status: preview
31
+ recommended: true
@@ -224,3 +224,17 @@ and revoke access in the Summer app, and watch `access_changed`.
224
224
  - `summer-world-chat`: chat inside a match
225
225
  - `multiplayer-publish`: `summer.build.json` and publishing a Build
226
226
  - `multiplayer-testing`: what Local Play can and can't test
227
+
228
+ <!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
229
+ ## From a shell
230
+
231
+ No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
232
+
233
+ | In this skill | Command |
234
+ |---|---|
235
+ | `summer_get_diagnostics` | `summer engine get-diagnostics` |
236
+ | `summer_get_script_errors` | `summer engine get-script-errors` |
237
+ | `summer_play` | `summer engine play` |
238
+ | `summer_project_setting` | `summer engine project-setting` |
239
+ | `summer_stop` | `summer engine stop` |
240
+ <!-- /shell-commands -->
@@ -229,3 +229,19 @@ on them.
229
229
  - `summer-match-results` — concluding matches, which moves ratings
230
230
  - `summer-matchmaking` — declaring rated queues and teams
231
231
  - `summer-player-data` — saving per-player progress that isn't a ranking
232
+
233
+ <!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
234
+ ## From a shell
235
+
236
+ No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
237
+
238
+ | In this skill | Command |
239
+ |---|---|
240
+ | `summer_get_diagnostics` | `summer engine get-diagnostics` |
241
+ | `summer_get_script_errors` | `summer engine get-script-errors` |
242
+ | `summer_play` | `summer engine play` |
243
+ | `summer_read_file` | `summer engine read-file` |
244
+ | `summer_replace_text` | `summer engine replace-text` |
245
+ | `summer_stop` | `summer engine stop` |
246
+ | `summer_write_file` | `summer engine write-file` |
247
+ <!-- /shell-commands -->
@@ -284,3 +284,20 @@ clients stay connected until they leave.
284
284
  - `summer-leaderboards` — ratings and `authority_v1` rating moves
285
285
  - `summer-world-saves` — persistent Worlds that outlive a match
286
286
  - `multiplayer-testing` — running bots through a whole match
287
+
288
+ <!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
289
+ ## From a shell
290
+
291
+ No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
292
+
293
+ | In this skill | Command |
294
+ |---|---|
295
+ | `summer_get_diagnostics` | `summer engine get-diagnostics` |
296
+ | `summer_get_script_errors` | `summer engine get-script-errors` |
297
+ | `summer_play` | `summer engine play` |
298
+ | `summer_project_setting` | `summer engine project-setting` |
299
+ | `summer_read_file` | `summer engine read-file` |
300
+ | `summer_replace_text` | `summer engine replace-text` |
301
+ | `summer_stop` | `summer engine stop` |
302
+ | `summer_write_file` | `summer engine write-file` |
303
+ <!-- /shell-commands -->