summer-engine 3.8.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 (527) hide show
  1. package/.claude-plugin/marketplace.json +2 -13
  2. package/.claude-plugin/plugin.json +24 -22
  3. package/.codex-plugin/plugin.json +18 -22
  4. package/.cursor-plugin/plugin.json +8 -14
  5. package/.factory-plugin/plugin.json +6 -13
  6. package/AGENTS.md +19 -12
  7. package/CHANGELOG.md +133 -0
  8. package/GEMINI.md +3 -3
  9. package/README.md +118 -37
  10. package/assets/icon.png +0 -0
  11. package/commands/start.md +71 -0
  12. package/commands/summer.md +3 -2
  13. package/dist/cli/banner.js +3 -0
  14. package/dist/cli/commands/config.js +3 -2
  15. package/dist/cli/commands/create.js +12 -3
  16. package/dist/cli/commands/list.d.ts +5 -0
  17. package/dist/cli/commands/list.js +30 -13
  18. package/dist/cli/commands/login.d.ts +27 -0
  19. package/dist/cli/commands/login.js +58 -12
  20. package/dist/cli/commands/memory.js +6 -2
  21. package/dist/cli/commands/ops.d.ts +64 -0
  22. package/dist/cli/commands/ops.js +329 -0
  23. package/dist/cli/commands/setup.d.ts +4 -0
  24. package/dist/cli/commands/setup.js +254 -26
  25. package/dist/cli/commands/skills.js +28 -11
  26. package/dist/cli/commands/status.d.ts +26 -0
  27. package/dist/cli/commands/status.js +36 -21
  28. package/dist/cli/index.js +7 -0
  29. package/dist/core/agent-host.d.ts +65 -0
  30. package/dist/core/agent-host.js +193 -0
  31. package/dist/core/capabilities/agent-playbook.d.ts +3 -0
  32. package/dist/core/capabilities/agent-playbook.js +54 -2
  33. package/dist/core/capabilities/apps.d.ts +33 -10
  34. package/dist/core/capabilities/apps.js +25 -12
  35. package/dist/core/capabilities/audit/args.d.ts +6 -6
  36. package/dist/core/capabilities/doctor.d.ts +3 -0
  37. package/dist/core/capabilities/doctor.js +20 -15
  38. package/dist/core/capabilities/fabricate-mesh.d.ts +4 -4
  39. package/dist/core/capabilities/game-task-plan.d.ts +12 -6
  40. package/dist/core/capabilities/game-task-plan.js +80 -5
  41. package/dist/core/capabilities/hdri-import.d.ts +2 -2
  42. package/dist/core/capabilities/motion-generation.d.ts +2 -2
  43. package/dist/core/capabilities/motion-generation.js +2 -2
  44. package/dist/core/capabilities/navigation/open.d.ts +6 -2
  45. package/dist/core/capabilities/navigation/open.js +3 -0
  46. package/dist/core/capabilities/placement.d.ts +23 -23
  47. package/dist/core/capabilities/publish-build.js +2 -0
  48. package/dist/core/capabilities/runtime-control.d.ts +42 -42
  49. package/dist/core/capabilities/scene-script-target.d.ts +17 -0
  50. package/dist/core/capabilities/scene-script-target.js +70 -0
  51. package/dist/core/capabilities/seeing/args.d.ts +16 -16
  52. package/dist/core/capabilities/sfx-choices.d.ts +4 -0
  53. package/dist/core/capabilities/sfx-choices.js +13 -6
  54. package/dist/core/capabilities/tool-dispatch.d.ts +12 -3
  55. package/dist/core/capabilities/tool-dispatch.js +81 -46
  56. package/dist/core/capabilities/ui-control.d.ts +2 -2
  57. package/dist/core/capabilities/world-snapshot.d.ts +4 -4
  58. package/dist/core/embeddings.d.ts +2 -0
  59. package/dist/core/embeddings.js +1 -1
  60. package/dist/core/error-codes.d.ts +62 -0
  61. package/dist/core/error-codes.js +97 -0
  62. package/dist/core/format.d.ts +2 -0
  63. package/dist/core/format.js +2 -1
  64. package/dist/core/hosted-mcp.d.ts +22 -0
  65. package/dist/core/hosted-mcp.js +56 -1
  66. package/dist/core/library-read.js +5 -0
  67. package/dist/core/library-search.d.ts +2 -2
  68. package/dist/core/library-search.js +2 -1
  69. package/dist/core/oauth.js +4 -0
  70. package/dist/core/ops/areas.d.ts +11 -0
  71. package/dist/core/ops/areas.js +24 -0
  72. package/dist/core/ops/catalog.d.ts +45 -0
  73. package/dist/core/ops/catalog.js +157 -0
  74. package/dist/core/ops/cloud.d.ts +64 -0
  75. package/dist/core/ops/cloud.js +198 -0
  76. package/dist/core/ops/contract.d.ts +120 -0
  77. package/dist/core/ops/contract.js +134 -0
  78. package/dist/core/ops/engine-answer.d.ts +25 -0
  79. package/dist/core/ops/engine-answer.js +117 -0
  80. package/dist/core/ops/engine.d.ts +55 -0
  81. package/dist/core/ops/engine.js +649 -0
  82. package/dist/core/ops/public-catalog.d.ts +48 -0
  83. package/dist/core/ops/public-catalog.js +56 -0
  84. package/dist/core/ops/save-files.d.ts +78 -0
  85. package/dist/core/ops/save-files.js +419 -0
  86. package/dist/core/ops/search.d.ts +8 -0
  87. package/dist/core/ops/search.js +187 -0
  88. package/dist/core/skills-registry.d.ts +16 -1
  89. package/dist/core/skills-registry.js +35 -2
  90. package/dist/core/telemetry.d.ts +32 -0
  91. package/dist/core/telemetry.js +38 -10
  92. package/dist/core/tool-profiles.d.ts +25 -0
  93. package/dist/core/tool-profiles.js +41 -0
  94. package/dist/installer/agent-config.d.ts +17 -4
  95. package/dist/installer/agent-config.js +27 -6
  96. package/dist/installer/agent-table.d.ts +12 -0
  97. package/dist/installer/agent-table.js +33 -9
  98. package/dist/installer/cli-permissions.d.ts +65 -0
  99. package/dist/installer/cli-permissions.js +182 -0
  100. package/dist/installer/setup.d.ts +4 -0
  101. package/dist/installer/setup.js +12 -4
  102. package/dist/installer/skills-refresh.d.ts +29 -0
  103. package/dist/installer/skills-refresh.js +261 -0
  104. package/dist/installer/version-check.d.ts +51 -11
  105. package/dist/installer/version-check.js +147 -37
  106. package/dist/mcp/command.js +7 -0
  107. package/dist/mcp/hosted-mount.d.ts +27 -2
  108. package/dist/mcp/hosted-mount.js +53 -23
  109. package/dist/mcp/legacy-toolset.d.ts +27 -0
  110. package/dist/mcp/legacy-toolset.js +43 -0
  111. package/dist/mcp/ops-surface.d.ts +59 -0
  112. package/dist/mcp/ops-surface.js +453 -0
  113. package/dist/mcp/server.d.ts +45 -11
  114. package/dist/mcp/server.js +263 -89
  115. package/dist/mcp/tool-results.d.ts +26 -0
  116. package/dist/mcp/tool-results.js +81 -0
  117. package/dist/mcp/tool-surface.d.ts +65 -0
  118. package/dist/mcp/tool-surface.js +317 -0
  119. package/dist/mcp/tools/app-tools.js +9 -2
  120. package/dist/mcp/tools/asset-tools.js +55 -53
  121. package/dist/mcp/tools/audit-tools.js +21 -21
  122. package/dist/mcp/tools/debug-tools.js +6 -6
  123. package/dist/mcp/tools/fabricate-tools.js +6 -6
  124. package/dist/mcp/tools/generate-tools.js +76 -70
  125. package/dist/mcp/tools/project-tools.d.ts +9 -4
  126. package/dist/mcp/tools/project-tools.js +16 -10
  127. package/dist/mcp/tools/scene-tools.js +12 -23
  128. package/dist/mcp/tools/script-tools.js +9 -5
  129. package/dist/mcp/tools/with-engine.d.ts +6 -0
  130. package/dist/mcp/tools/with-engine.js +19 -0
  131. package/dist/project-memory/agent-instructions.d.ts +47 -0
  132. package/dist/project-memory/agent-instructions.js +226 -0
  133. package/gemini-extension.json +6 -13
  134. package/hooks/pre-commit-doctor.sh +5 -4
  135. package/hooks/session-start.sh +24 -28
  136. package/integrations/README.md +1 -1
  137. package/integrations/claude/README.md +6 -0
  138. package/integrations/claude/manifest-target.json +4 -0
  139. package/integrations/claude-desktop/README.md +1 -1
  140. package/integrations/copilot-jetbrains/README.md +1 -1
  141. package/integrations/gemini/README.md +11 -0
  142. package/integrations/junie/README.md +1 -1
  143. package/integrations/lm-studio/README.md +1 -1
  144. package/integrations/trae/README.md +1 -1
  145. package/integrations/visual-studio/README.md +1 -1
  146. package/integrations/windsurf/README.md +1 -1
  147. package/library/references/mcp-tools-reference/mcp-tools-reference.md +79 -51
  148. package/library/references/mcp-tools-reference/resource.yaml +1 -1
  149. package/library/references/product-map/resource.yaml +2 -2
  150. package/library/skills/3d-lighting/SKILL.md +69 -28
  151. package/library/skills/3d-lighting/resource.yaml +1 -1
  152. package/library/skills/README.md +121 -118
  153. package/library/skills/adaptive-music/SKILL.md +40 -23
  154. package/library/skills/adaptive-music/resource.yaml +1 -1
  155. package/library/skills/agent-playtesting/SKILL.md +23 -1
  156. package/library/skills/agent-playtesting/resource.yaml +1 -1
  157. package/library/skills/ai-characters-in-games/SKILL.md +16 -1
  158. package/library/skills/ai-characters-in-games/resource.yaml +1 -1
  159. package/library/skills/ambient-bed/SKILL.md +38 -13
  160. package/library/skills/ambient-bed/resource.yaml +1 -1
  161. package/library/skills/animated-loop/SKILL.md +60 -32
  162. package/library/skills/animated-loop/resource.yaml +1 -1
  163. package/library/skills/animation-tree/SKILL.md +27 -1
  164. package/library/skills/animation-tree/resource.yaml +1 -1
  165. package/library/skills/art-direction/SKILL.md +17 -3
  166. package/library/skills/art-direction/resource.yaml +1 -1
  167. package/library/skills/asset-strategy/SKILL.md +51 -4
  168. package/library/skills/asset-strategy/resource.yaml +2 -1
  169. package/library/skills/audio-direction/SKILL.md +26 -10
  170. package/library/skills/audio-direction/resource.yaml +1 -1
  171. package/library/skills/auto-fire-targeting/SKILL.md +15 -1
  172. package/library/skills/auto-fire-targeting/resource.yaml +1 -1
  173. package/library/skills/bounded-engine-runs/SKILL.md +1 -1
  174. package/library/skills/bounded-engine-runs/resource.yaml +1 -1
  175. package/library/skills/brainstorm-game/SKILL.md +14 -1
  176. package/library/skills/brainstorm-game/resource.yaml +1 -1
  177. package/library/skills/brainstorming/SKILL.md +1 -1
  178. package/library/skills/brainstorming/resource.yaml +1 -1
  179. package/library/skills/browse-templates/SKILL.md +11 -1
  180. package/library/skills/browse-templates/resource.yaml +1 -1
  181. package/library/skills/camera-rigs/SKILL.md +22 -2
  182. package/library/skills/camera-rigs/resource.yaml +1 -1
  183. package/library/skills/celeste-momentum-platforming/resource.yaml +1 -0
  184. package/library/skills/character-animation-wiring/SKILL.md +28 -4
  185. package/library/skills/character-animation-wiring/resource.yaml +1 -1
  186. package/library/skills/character-model/SKILL.md +83 -47
  187. package/library/skills/character-model/resource.yaml +1 -1
  188. package/library/skills/character-movement/SKILL.md +27 -3
  189. package/library/skills/character-movement/resource.yaml +1 -1
  190. package/library/skills/character-portrait/SKILL.md +39 -19
  191. package/library/skills/character-portrait/resource.yaml +1 -1
  192. package/library/skills/cinematic-cutscene/SKILL.md +79 -46
  193. package/library/skills/cinematic-cutscene/resource.yaml +1 -1
  194. package/library/skills/combat-basics/SKILL.md +20 -1
  195. package/library/skills/combat-basics/resource.yaml +1 -1
  196. package/library/skills/compatibility-renderer-traps/SKILL.md +12 -1
  197. package/library/skills/compatibility-renderer-traps/resource.yaml +1 -1
  198. package/library/skills/concept-art/SKILL.md +29 -12
  199. package/library/skills/concept-art/resource.yaml +1 -1
  200. package/library/skills/concept-to-level/SKILL.md +258 -0
  201. package/library/skills/concept-to-level/references/technical-rules.md +150 -0
  202. package/library/skills/concept-to-level/resource.yaml +44 -0
  203. package/library/skills/create-asset-sheet/SKILL.md +37 -13
  204. package/library/skills/create-asset-sheet/resource.yaml +1 -1
  205. package/library/skills/debug/SKILL.md +34 -2
  206. package/library/skills/debug/resource.yaml +1 -1
  207. package/library/skills/debugging-game-feel/SKILL.md +13 -1
  208. package/library/skills/debugging-game-feel/resource.yaml +1 -1
  209. package/library/skills/design-level/SKILL.md +40 -35
  210. package/library/skills/design-level/resource.yaml +1 -1
  211. package/library/skills/design-mechanic/SKILL.md +18 -1
  212. package/library/skills/design-mechanic/resource.yaml +1 -1
  213. package/library/skills/design-npc/SKILL.md +43 -24
  214. package/library/skills/design-npc/resource.yaml +1 -1
  215. package/library/skills/diagnosing-perf-regressions/SKILL.md +13 -1
  216. package/library/skills/diagnosing-perf-regressions/resource.yaml +1 -1
  217. package/library/skills/driving-the-editor-ui/SKILL.md +24 -1
  218. package/library/skills/driving-the-editor-ui/resource.yaml +1 -1
  219. package/library/skills/environment-kit/SKILL.md +43 -16
  220. package/library/skills/environment-kit/resource.yaml +1 -1
  221. package/library/skills/export-and-ship/SKILL.md +29 -6
  222. package/library/skills/export-and-ship/resource.yaml +1 -1
  223. package/library/skills/fabricating-assets/SKILL.md +30 -7
  224. package/library/skills/fabricating-assets/resource.yaml +3 -3
  225. package/library/skills/facial-and-lipsync/SKILL.md +36 -15
  226. package/library/skills/facial-and-lipsync/resource.yaml +1 -1
  227. package/library/skills/fps-controller/SKILL.md +50 -41
  228. package/library/skills/fps-controller/resource.yaml +1 -1
  229. package/library/skills/game-feel/SKILL.md +34 -8
  230. package/library/skills/game-feel/resource.yaml +1 -1
  231. package/library/skills/gameskill/SKILL.md +15 -4
  232. package/library/skills/gameskill/resource.yaml +1 -1
  233. package/library/skills/gdscript-patterns/SKILL.md +16 -1
  234. package/library/skills/gdscript-patterns/resource.yaml +1 -1
  235. package/library/skills/generate-motion/SKILL.md +51 -21
  236. package/library/skills/generate-motion/resource.yaml +1 -1
  237. package/library/skills/godogen-visual-proof-game-generation/SKILL.md +18 -1
  238. package/library/skills/godogen-visual-proof-game-generation/resource.yaml +1 -0
  239. package/library/skills/grow-analytics/SKILL.md +13 -3
  240. package/library/skills/grow-analytics/resource.yaml +1 -1
  241. package/library/skills/headless-scripting/SKILL.md +14 -1
  242. package/library/skills/headless-scripting/resource.yaml +1 -1
  243. package/library/skills/in-game-purchases/SKILL.md +12 -1
  244. package/library/skills/in-game-purchases/resource.yaml +1 -1
  245. package/library/skills/instantiate-asset-pack/SKILL.md +19 -2
  246. package/library/skills/instantiate-asset-pack/resource.yaml +1 -1
  247. package/library/skills/lumera-single-image-scene-reconstruction/resource.yaml +1 -0
  248. package/library/skills/make-game/SKILL.md +33 -4
  249. package/library/skills/make-game/references/2d-platformer.md +1 -1
  250. package/library/skills/make-game/references/3d-fps.md +1 -1
  251. package/library/skills/make-game/references/3d-horror.md +1 -1
  252. package/library/skills/make-game/references/3d-third-person.md +2 -2
  253. package/library/skills/make-game/resource.yaml +1 -1
  254. package/library/skills/multiplayer/SKILL.md +13 -1
  255. package/library/skills/multiplayer/resource.yaml +1 -1
  256. package/library/skills/multiplayer-movement/SKILL.md +19 -1
  257. package/library/skills/multiplayer-movement/resource.yaml +1 -1
  258. package/library/skills/multiplayer-project/SKILL.md +18 -1
  259. package/library/skills/multiplayer-project/resource.yaml +1 -1
  260. package/library/skills/multiplayer-publish/SKILL.md +25 -7
  261. package/library/skills/multiplayer-publish/resource.yaml +3 -3
  262. package/library/skills/multiplayer-state/SKILL.md +17 -1
  263. package/library/skills/multiplayer-state/resource.yaml +1 -1
  264. package/library/skills/multiplayer-testing/SKILL.md +16 -1
  265. package/library/skills/multiplayer-testing/resource.yaml +1 -1
  266. package/library/skills/music-track/SKILL.md +38 -13
  267. package/library/skills/music-track/resource.yaml +1 -1
  268. package/library/skills/navigate-summer/SKILL.md +26 -9
  269. package/library/skills/navigate-summer/resource.yaml +1 -1
  270. package/library/skills/new-project/SKILL.md +12 -1
  271. package/library/skills/new-project/resource.yaml +1 -1
  272. package/library/skills/organic-model/SKILL.md +48 -18
  273. package/library/skills/organic-model/resource.yaml +1 -1
  274. package/library/skills/pixel-art/SKILL.md +42 -23
  275. package/library/skills/pixel-art/resource.yaml +1 -1
  276. package/library/skills/play/SKILL.md +19 -1
  277. package/library/skills/play/resource.yaml +1 -1
  278. package/library/skills/playtesting-a-feature/SKILL.md +24 -1
  279. package/library/skills/playtesting-a-feature/resource.yaml +1 -1
  280. package/library/skills/procedural-animation/SKILL.md +38 -16
  281. package/library/skills/procedural-animation/resource.yaml +1 -1
  282. package/library/skills/prop-model/SKILL.md +48 -19
  283. package/library/skills/prop-model/resource.yaml +1 -1
  284. package/library/skills/psx-retro-rendering/resource.yaml +1 -0
  285. package/library/skills/publish-your-game/SKILL.md +43 -6
  286. package/library/skills/publish-your-game/resource.yaml +3 -3
  287. package/library/skills/realtime-wet-surfaces/resource.yaml +1 -0
  288. package/library/skills/release-readiness/SKILL.md +13 -1
  289. package/library/skills/release-readiness/resource.yaml +1 -1
  290. package/library/skills/remote-deploy/SKILL.md +15 -1
  291. package/library/skills/remote-deploy/resource.yaml +1 -1
  292. package/library/skills/retarget/SKILL.md +43 -20
  293. package/library/skills/retarget/resource.yaml +1 -1
  294. package/library/skills/running-in-the-cloud/SKILL.md +11 -1
  295. package/library/skills/running-in-the-cloud/resource.yaml +1 -1
  296. package/library/skills/save-load/SKILL.md +16 -1
  297. package/library/skills/save-load/resource.yaml +1 -1
  298. package/library/skills/scene-composition/SKILL.md +18 -1
  299. package/library/skills/scene-composition/resource.yaml +1 -1
  300. package/library/skills/scene-hierarchy-design/SKILL.md +26 -2
  301. package/library/skills/scene-hierarchy-design/resource.yaml +1 -1
  302. package/library/skills/scene-scripting/SKILL.md +96 -636
  303. package/library/skills/scene-scripting/references/ctx-api.md +184 -0
  304. package/library/skills/scene-scripting/references/recipes-2d-ui.md +193 -0
  305. package/library/skills/scene-scripting/references/recipes-3d.md +280 -0
  306. package/library/skills/scene-scripting/resource.yaml +4 -4
  307. package/library/skills/scene-to-level/SKILL.md +24 -2
  308. package/library/skills/scene-to-level/resource.yaml +1 -1
  309. package/library/skills/skill-create/resource.yaml +1 -0
  310. package/library/skills/skill-improve/resource.yaml +1 -0
  311. package/library/skills/skill-test/SKILL.md +12 -2
  312. package/library/skills/skill-test/resource.yaml +1 -0
  313. package/library/skills/skintokens-auto-rigging/resource.yaml +1 -0
  314. package/library/skills/skybox-panorama/SKILL.md +47 -21
  315. package/library/skills/skybox-panorama/resource.yaml +1 -1
  316. package/library/skills/sound-effect/SKILL.md +52 -20
  317. package/library/skills/sound-effect/resource.yaml +1 -1
  318. package/library/skills/spatial-placement/SKILL.md +44 -9
  319. package/library/skills/spatial-placement/resource.yaml +1 -1
  320. package/library/skills/sprite-sheet/SKILL.md +55 -27
  321. package/library/skills/sprite-sheet/resource.yaml +1 -1
  322. package/library/skills/store-art/SKILL.md +14 -3
  323. package/library/skills/store-art/resource.yaml +2 -2
  324. package/library/skills/store-listing/SKILL.md +13 -3
  325. package/library/skills/store-listing/resource.yaml +2 -2
  326. package/library/skills/summer-analytics/SKILL.md +22 -5
  327. package/library/skills/summer-analytics/resource.yaml +2 -2
  328. package/library/skills/summer-apps/SKILL.md +77 -32
  329. package/library/skills/summer-apps/manifest.md +1 -1
  330. package/library/skills/summer-apps/minimal-app.md +7 -7
  331. package/library/skills/summer-apps/resource.yaml +1 -1
  332. package/library/skills/summer-apps/sdk-reference.md +5 -5
  333. package/library/skills/summer-apps-design/SKILL.md +1 -1
  334. package/library/skills/summer-apps-design/resource.yaml +1 -1
  335. package/library/skills/summer-assets/SKILL.md +86 -0
  336. package/library/skills/summer-assets/resource.yaml +34 -0
  337. package/library/skills/summer-cli/SKILL.md +133 -0
  338. package/library/skills/summer-cli/resource.yaml +31 -0
  339. package/library/skills/summer-friends/SKILL.md +14 -0
  340. package/library/skills/summer-leaderboards/SKILL.md +16 -0
  341. package/library/skills/summer-match-results/SKILL.md +17 -0
  342. package/library/skills/summer-matchmaking/SKILL.md +17 -0
  343. package/library/skills/summer-parties/SKILL.md +14 -0
  344. package/library/skills/summer-player-data/SKILL.md +14 -0
  345. package/library/skills/summer-store/SKILL.md +16 -1
  346. package/library/skills/summer-world-chat/SKILL.md +14 -0
  347. package/library/skills/summer-world-saves/SKILL.md +14 -0
  348. package/library/skills/text-to-motion/SKILL.md +45 -23
  349. package/library/skills/text-to-motion/prompts-and-controls.md +5 -5
  350. package/library/skills/text-to-motion/resource.yaml +1 -1
  351. package/library/skills/text-to-motion/rigging-for-text-motion.md +2 -2
  352. package/library/skills/tileable-texture/SKILL.md +37 -15
  353. package/library/skills/tileable-texture/resource.yaml +1 -1
  354. package/library/skills/trailer-shot/SKILL.md +46 -24
  355. package/library/skills/trailer-shot/resource.yaml +1 -1
  356. package/library/skills/tune-performance/SKILL.md +32 -6
  357. package/library/skills/tune-performance/resource.yaml +1 -1
  358. package/library/skills/ui-basics/SKILL.md +55 -36
  359. package/library/skills/ui-basics/resource.yaml +1 -1
  360. package/library/skills/ui-graphics/SKILL.md +64 -38
  361. package/library/skills/ui-graphics/resource.yaml +1 -1
  362. package/library/skills/use-widget-asset/SKILL.md +15 -1
  363. package/library/skills/use-widget-asset/resource.yaml +1 -1
  364. package/library/skills/using-summer/SKILL.md +32 -5
  365. package/library/skills/using-summer/resource.yaml +3 -2
  366. package/library/skills/vehicle-model/SKILL.md +92 -57
  367. package/library/skills/vehicle-model/resource.yaml +1 -1
  368. package/library/skills/verification-before-completion/SKILL.md +1 -1
  369. package/library/skills/verification-before-completion/resource.yaml +1 -1
  370. package/library/skills/verifying-scenes/SKILL.md +31 -2
  371. package/library/skills/verifying-scenes/resource.yaml +1 -1
  372. package/library/skills/vfx-dissolve/SKILL.md +21 -2
  373. package/library/skills/vfx-dissolve/resource.yaml +1 -1
  374. package/library/skills/vfx-fire/SKILL.md +41 -41
  375. package/library/skills/vfx-fire/resource.yaml +1 -1
  376. package/library/skills/vfx-hit-spark/SKILL.md +24 -1
  377. package/library/skills/vfx-hit-spark/resource.yaml +1 -1
  378. package/library/skills/vfx-lightning/SKILL.md +30 -16
  379. package/library/skills/vfx-lightning/resource.yaml +1 -1
  380. package/library/skills/vfx-magic-glow/SKILL.md +46 -32
  381. package/library/skills/vfx-magic-glow/resource.yaml +1 -1
  382. package/library/skills/vfx-muzzle-flash/SKILL.md +43 -35
  383. package/library/skills/vfx-muzzle-flash/resource.yaml +1 -1
  384. package/library/skills/vfx-smoke/SKILL.md +39 -31
  385. package/library/skills/vfx-smoke/resource.yaml +1 -1
  386. package/library/skills/vfx-water-ripple/SKILL.md +35 -31
  387. package/library/skills/vfx-water-ripple/resource.yaml +1 -1
  388. package/library/skills/voice-line/SKILL.md +87 -40
  389. package/library/skills/voice-line/resource.yaml +1 -1
  390. package/library/skills/web-and-touch-input/SKILL.md +20 -1
  391. package/library/skills/web-and-touch-input/resource.yaml +1 -1
  392. package/library/skills/web-compatibility-look/SKILL.md +21 -1
  393. package/library/skills/web-compatibility-look/resource.yaml +1 -1
  394. package/library/skills/world-building-3d/SKILL.md +29 -1
  395. package/library/skills/world-building-3d/resource.yaml +1 -1
  396. package/library/skills/writing-skills/resource.yaml +1 -0
  397. package/library/tools/add-node/GUIDE.md +14 -0
  398. package/library/tools/align-distribute-3d/GUIDE.md +7 -0
  399. package/library/tools/app-call/resource.yaml +1 -1
  400. package/library/tools/app-guide/resource.yaml +2 -2
  401. package/library/tools/app-page/resource.yaml +1 -1
  402. package/library/tools/app-screenshot/resource.yaml +19 -1
  403. package/library/tools/app-tools/resource.yaml +1 -1
  404. package/library/tools/attach-to-surface/GUIDE.md +15 -0
  405. package/library/tools/batch/GUIDE.md +27 -0
  406. package/library/tools/camera-bookmark/GUIDE.md +12 -0
  407. package/library/tools/capture-gameplay/GUIDE.md +3 -0
  408. package/library/tools/capture-gameplay/resource.yaml +3 -3
  409. package/library/tools/check-job/resource.yaml +1 -1
  410. package/library/tools/clear-console/GUIDE.md +3 -0
  411. package/library/tools/connect-ports/GUIDE.md +9 -0
  412. package/library/tools/connect-signal/GUIDE.md +14 -0
  413. package/library/tools/create-debug-report/GUIDE.md +10 -0
  414. package/library/tools/create-scene/GUIDE.md +10 -0
  415. package/library/tools/debug-views/GUIDE.md +7 -0
  416. package/library/tools/enable-plugin/GUIDE.md +3 -0
  417. package/library/tools/export-game/GUIDE.md +3 -0
  418. package/library/tools/export-game/resource.yaml +3 -3
  419. package/library/tools/export-templates/GUIDE.md +3 -0
  420. package/library/tools/fabricate-3d/GUIDE.md +19 -0
  421. package/library/tools/frame-nodes/GUIDE.md +9 -0
  422. package/library/tools/frame-shot/GUIDE.md +9 -0
  423. package/library/tools/game-control/GUIDE.md +9 -0
  424. package/library/tools/game-input/GUIDE.md +9 -0
  425. package/library/tools/game-probe/GUIDE.md +9 -0
  426. package/library/tools/generate-3d/resource.yaml +3 -3
  427. package/library/tools/generate-motion/resource.yaml +2 -2
  428. package/library/tools/get-console/GUIDE.md +9 -0
  429. package/library/tools/get-console/resource.yaml +5 -0
  430. package/library/tools/get-debugger-errors/GUIDE.md +7 -0
  431. package/library/tools/get-debugger-errors/resource.yaml +5 -0
  432. package/library/tools/get-debugger-warnings/GUIDE.md +7 -0
  433. package/library/tools/get-debugger-warnings/resource.yaml +5 -0
  434. package/library/tools/get-diagnostics/GUIDE.md +13 -0
  435. package/library/tools/get-project-context/GUIDE.md +25 -0
  436. package/library/tools/get-runtime-tree/GUIDE.md +7 -0
  437. package/library/tools/get-runtime-tree/resource.yaml +5 -0
  438. package/library/tools/get-scene-tree/GUIDE.md +11 -0
  439. package/library/tools/get-scene-tree/resource.yaml +5 -0
  440. package/library/tools/get-script-errors/GUIDE.md +5 -0
  441. package/library/tools/grep/GUIDE.md +11 -0
  442. package/library/tools/import-asset/GUIDE.md +8 -0
  443. package/library/tools/import-asset-by-id/GUIDE.md +12 -0
  444. package/library/tools/import-from-url/GUIDE.md +10 -0
  445. package/library/tools/import-from-url-batch/GUIDE.md +3 -0
  446. package/library/tools/import-hdri/GUIDE.md +16 -0
  447. package/library/tools/input-map-bind/GUIDE.md +11 -0
  448. package/library/tools/inspect-asset/GUIDE.md +14 -0
  449. package/library/tools/inspect-asset/resource.yaml +5 -0
  450. package/library/tools/inspect-node/GUIDE.md +11 -0
  451. package/library/tools/inspect-node/resource.yaml +5 -0
  452. package/library/tools/inspect-resource/GUIDE.md +7 -0
  453. package/library/tools/inspect-resource/resource.yaml +5 -0
  454. package/library/tools/inspect-runtime-node/GUIDE.md +7 -0
  455. package/library/tools/inspect-runtime-node/resource.yaml +5 -0
  456. package/library/tools/instantiate-scene/GUIDE.md +12 -0
  457. package/library/tools/is-running/GUIDE.md +3 -0
  458. package/library/tools/measure/GUIDE.md +8 -0
  459. package/library/tools/navigation-probe/GUIDE.md +9 -0
  460. package/library/tools/open/resource.yaml +2 -2
  461. package/library/tools/open-main-scene/GUIDE.md +6 -0
  462. package/library/tools/open-scene/GUIDE.md +8 -0
  463. package/library/tools/place-adjacent/GUIDE.md +7 -0
  464. package/library/tools/play/GUIDE.md +13 -0
  465. package/library/tools/project-setting/GUIDE.md +9 -0
  466. package/library/tools/publish-build/resource.yaml +6 -6
  467. package/library/tools/raycast/GUIDE.md +7 -0
  468. package/library/tools/read-file/GUIDE.md +10 -0
  469. package/library/tools/read-library/resource.yaml +5 -0
  470. package/library/tools/recent-events/GUIDE.md +7 -0
  471. package/library/tools/remove-node/GUIDE.md +3 -0
  472. package/library/tools/repeat-along/GUIDE.md +5 -0
  473. package/library/tools/replace-node/GUIDE.md +9 -0
  474. package/library/tools/replace-text/GUIDE.md +5 -0
  475. package/library/tools/run-editor-script/GUIDE.md +16 -0
  476. package/library/tools/run-script/GUIDE.md +30 -0
  477. package/library/tools/run-script/resource.yaml +6 -3
  478. package/library/tools/runtime-animate/GUIDE.md +7 -0
  479. package/library/tools/runtime-call/GUIDE.md +7 -0
  480. package/library/tools/runtime-set/GUIDE.md +9 -0
  481. package/library/tools/runtime-spawn/GUIDE.md +9 -0
  482. package/library/tools/save-scene/GUIDE.md +3 -0
  483. package/library/tools/scene-audit/GUIDE.md +29 -0
  484. package/library/tools/screenshot/GUIDE.md +17 -0
  485. package/library/tools/select-node/GUIDE.md +3 -0
  486. package/library/tools/set-prop/GUIDE.md +23 -0
  487. package/library/tools/set-resource-property/GUIDE.md +8 -0
  488. package/library/tools/shot-sheet/GUIDE.md +7 -0
  489. package/library/tools/snap-to-surface/GUIDE.md +17 -0
  490. package/library/tools/snapshot-diff/GUIDE.md +7 -0
  491. package/library/tools/starcast/GUIDE.md +12 -0
  492. package/library/tools/stop/GUIDE.md +3 -0
  493. package/library/tools/test-placement/GUIDE.md +7 -0
  494. package/library/tools/ui-actions/GUIDE.md +12 -0
  495. package/library/tools/ui-activate/GUIDE.md +11 -0
  496. package/library/tools/ui-screenshot/GUIDE.md +9 -0
  497. package/library/tools/ui-tree/GUIDE.md +10 -0
  498. package/library/tools/wait-for-event/GUIDE.md +11 -0
  499. package/library/tools/world-snapshot/GUIDE.md +9 -0
  500. package/library/tools/write-file/GUIDE.md +5 -0
  501. package/library/tools/zoom/GUIDE.md +5 -0
  502. package/package.json +8 -5
  503. package/registry/generated/counts.json +2 -2
  504. package/registry/generated/gemini-extension.json +6 -13
  505. package/registry/generated/index.json +482 -349
  506. package/registry/generated/marketplace.claude.json +2 -13
  507. package/registry/generated/plugin.claude-directory.json +168 -0
  508. package/registry/generated/plugin.claude.json +24 -22
  509. package/registry/generated/plugin.codex.json +18 -22
  510. package/registry/generated/plugin.cursor.json +8 -14
  511. package/registry/generated/plugin.factory.json +6 -13
  512. package/registry/generated/server.json +43 -0
  513. package/registry/generated/skills-index.md +121 -118
  514. package/registry/generated/skills-registry.json +167 -115
  515. package/registry/operations/fixtures/invalid-deprecated-without-replacement.json +60 -0
  516. package/registry/operations/fixtures/invalid-name.json +60 -0
  517. package/registry/operations/fixtures/invalid-publish-without-owner.json +82 -0
  518. package/registry/operations/fixtures/invalid-spend-without-estimate.json +42 -0
  519. package/registry/operations/fixtures/invalid-unknown-field.json +61 -0
  520. package/registry/operations/fixtures/valid-player-facing.json +82 -0
  521. package/registry/operations/fixtures/valid-read.json +60 -0
  522. package/registry/operations/fixtures/valid-spend.json +43 -0
  523. package/registry/operations/legacy-names.json +1241 -0
  524. package/registry/operations/public-catalog.json +33160 -0
  525. package/registry/schemas/operation.schema.json +318 -0
  526. package/registry/schemas/skill.schema.json +4 -0
  527. package/CLAUDE.md +0 -7
@@ -1,11 +1,11 @@
1
1
  ---
2
2
  name: generate-motion
3
- description: "Attach an animation clip to a rigged character from the curated Meshy motion library — idle, walk, run, attack — wired via AnimationPlayer."
3
+ description: "Attach a library animation clip (idle, walk, run, attack) to a rigged character via AnimationPlayer."
4
4
  license: MIT
5
5
  compatibility: [Cursor, Claude Code, Windsurf, Codex]
6
6
  category: animation
7
7
  user-invocable: false
8
- allowed-tools: Read Grep summer_search_assets summer_list_my_assets summer_get_asset summer_get_asset_download_url summer_generate_motion summer_inspect_resource summer_get_scene_tree summer_add_node summer_set_prop summer_set_resource_property summer_save_scene
8
+ allowed-tools: Read Grep summer_assets_search summer_assets_get summer_assets_generate_motion summer_inspect_resource summer_get_scene_tree summer_add_node summer_set_prop summer_set_resource_property summer_save_scene summer_jobs_wait summer_call
9
9
  paths: ["**/*.tscn", "**/*.tres", "**/*.gd"]
10
10
  ---
11
11
 
@@ -13,7 +13,7 @@ paths: ["**/*.tscn", "**/*.tres", "**/*.gd"]
13
13
 
14
14
  Picks a clip from a **curated mocap library** by name and wires it onto a Meshy-rigged humanoid. Fast (~30s), and it looks good because it is real mocap. The five short aliases that always work are `idle`, `walk`, `run`, `jump`, `attack`; anything else must be an exact library name — see the Reference card before you invent one.
15
15
 
16
- The target must be a **Meshy-rigged humanoid** — a `rigAssetId` from a prior `summer_generate_3d({ kind: "image-to-3d", imageUrl: "...", options: { rig: true } })` call. The result job includes `rigAssetId`. If the user points at a non-rigged mesh, stop and route to `asset-strategy` (or directly call `summer_generate_3d` with `options.rig: true`) before generating motion.
16
+ The target must be a **Meshy-rigged humanoid** — a `rigAssetId` from a prior `assets.generate_3d({ kind: "image-to-3d", imageUrl: "...", rig: true })` call. The finished job's `result` includes `rigAssetId`. If the user points at a non-rigged mesh, stop and route to `asset-strategy` (or directly call `assets.generate_3d` with `rig: true`) before generating motion.
17
17
 
18
18
  > **Custom or non-humanoid motion** (e.g. "drops to one knee, draws bow", a
19
19
  > nodding flower, a creature) goes to the `text-to-motion` skill
@@ -32,7 +32,7 @@ The target must be a **Meshy-rigged humanoid** — a `rigAssetId` from a prior `
32
32
  - The user wants to apply an *existing* animation to a *new* model — use `retarget` instead. Don't regenerate.
33
33
  - The user wants state-machine wiring (idle → walk → run blend) — generate the clips here, then hand off to `animation-tree`.
34
34
  - The user wants facial / lipsync animation — that's `facial-and-lipsync`.
35
- - The mesh isn't rigged. Rig first; never call `summer_generate_motion` on a static `.glb`.
35
+ - The mesh isn't rigged. Rig first; never call `assets.generate_motion` on a static `.glb`.
36
36
  - The user wants procedural look-at, IK, foot placement — that's `procedural-animation`.
37
37
  - The user described a **custom signature move** that isn't on the curated list — use `text-to-motion`; if the server answers `backend_unavailable`, use the manual-authoring fallback below.
38
38
 
@@ -41,31 +41,36 @@ The target must be a **Meshy-rigged humanoid** — a `rigAssetId` from a prior `
41
41
  ### 1. Verify the target is a rigged humanoid
42
42
 
43
43
  ```
44
- summer_search_assets(query="<character name>", assetType="3d_model", source="my_assets")
44
+ assets.search({ query: "<character name>", assetType: "3d_model", scope: "mine" })
45
45
  ```
46
46
 
47
- The result must include `rigAssetId: <id>` on a Meshy rig. If it shows `rigAssetId: null`, the model isn't rigged — stop, propose `summer_generate_3d({ kind: "image-to-3d", imageUrl: "...", options: { rig: true } })` first (the result includes `rigAssetId`), or route to `asset-strategy`.
47
+ The rigged model's `assetId` is its `rigAssetId` (the id the rig job's result named `rigAssetId`). Search results do not say whether a model is rigged: the dry run in step 2 checks it, and a model that is not rigged is refused there with `invalid_input` on `rigAssetId`. Then stop, propose `assets.generate_3d({ kind: "image-to-3d", imageUrl: "...", rig: true })` first (the finished job's result includes `rigAssetId`), or route to `asset-strategy`.
48
48
 
49
49
  ### 2. Confirm with the user before spending
50
50
 
51
51
  > I'm about to generate a "run" animation on `goblin_rigged` via meshy-library — about 30s, and it uses credits. OK?
52
52
 
53
- ### 3. Call the tool
53
+ `dryRun: true` on the call below returns the credits (`estimate`) and checks the rig is the person's and rigged; clips the rig already has cost nothing, so the estimate is the most it can cost.
54
+
55
+ ### 3. Call the operation
54
56
 
55
57
  ```
56
- summer_generate_motion(
58
+ assets.generate_motion({
57
59
  rigAssetId: "<id>",
58
60
  backend: "meshy-library", // curated library (default)
59
- motionName: "run" // exact name from the curated list — see Reference card
60
- )
61
+ motionNames: ["run"] // exact names from the curated list — see Reference card
62
+ })
63
+ jobs.wait({ jobId: "<job.id>", timeoutSeconds: 50 }) // again until finished
61
64
  ```
62
65
 
63
- With the default `wait: true` the tool polls to completion and returns the job
64
- result with `animationAssetId` in it. Don't assume any other field is present —
65
- resolve the asset to get stable file/download metadata:
66
+ `assets.generate_motion` answers at once with a job; `jobs.wait` follows it until
67
+ `finished` is true, and the finished job's `result` has `animationAssetId` in it.
68
+ When the rig already has every clip asked for, the answer is `done` at once with
69
+ `reused` (nothing new was made or charged). Don't assume any other field is
70
+ present — resolve the asset to get stable file/download metadata:
66
71
 
67
72
  ```
68
- summer_get_asset(assetId="<animationAssetId>")
73
+ assets.get({ assetId: "<animationAssetId>" })
69
74
  ```
70
75
 
71
76
  ### 4. Attach to the character's AnimationPlayer
@@ -97,7 +102,7 @@ If the character will use multiple clips, leave the AnimationPlayer in place —
97
102
 
98
103
  ## Reference card
99
104
 
100
- ### Curated motion library — what `motionName` actually accepts
105
+ ### Curated motion library — what `motionNames` actually accepts
101
106
 
102
107
  There are **five** short canonical aliases, and only five:
103
108
 
@@ -113,7 +118,7 @@ nothing like a tidy snake_case scheme — real names look like `Walking_Woman`,
113
118
  Plausible-looking names that do **not** resolve, verified against the resolver:
114
119
  `attack_sword`, `hit_react`, `death`, `sprint`, `block`, `dodge_left`,
115
120
  `crouch_idle`, `walk_back`, `run_strafe_left`, `jump_land`, `idle_combat`,
116
- `wave`, `dance`, `sit_idle`. They return `null` and the call errors. For a sword
121
+ `wave`, `dance`, `sit_idle`. They resolve to nothing and the call errors. For a sword
117
122
  attack, use `attack`.
118
123
 
119
124
  So: if the user asks for something outside the five aliases, do not guess a
@@ -122,17 +127,17 @@ have actually seen, or route to the manual-authoring fallback.
122
127
 
123
128
  ### Pitfalls
124
129
 
125
- - **Invented `motionName` strings fail.** `"run_fast"`, `"attack_sword"`, `"death"` all resolve to nothing and the call errors. Name resolution is exact — five aliases, or a real library name / display name / numeric id. Do not extrapolate a naming scheme.
130
+ - **Invented `motionNames` entries fail.** `"run_fast"`, `"attack_sword"`, `"death"` all resolve to nothing and the call errors. Name resolution is exact — five aliases, or a real library name / display name / numeric id. Do not extrapolate a naming scheme.
126
131
  - **Locomotion clips have a forward bias.** Meshy's `run` translates the root forward by ~5m. Either the code drives movement (then the baked root translation causes a lunge-and-snap every loop — strip it) or the clip does via `root_motion_track` + `get_root_motion_position()` — never both. The full root-motion setup and its playtest verification live in `character-animation-wiring`.
127
132
  - **Rig pose mismatch.** If your rig was rigged with a non-T-pose reference image, the limbs may bend wrong. Re-rig from a T-pose mannequin (see `asset-strategy`) before re-generating.
128
- - **Rig still preparing.** New rigs need ~3 minutes after the rig job completes before the animation library is ready. The MCP route returns 425 "animations_preparing" if you call too early. Wait and retry.
133
+ - **Rig still preparing.** New rigs need ~3 minutes after the rig job completes before the animation library is ready. Called too early, `assets.generate_motion` answers `in_progress` with `retry: "after"` and `details.retryAfterSeconds` (about 180). Wait and retry.
129
134
 
130
135
  ## Anti-patterns
131
136
 
132
- - Calling `summer_generate_motion` on a `.glb` that wasn't rigged — wastes a generation; the API errors but only after 30s.
133
- - Generating the same clip twice because you forgot to save the `animationAssetId` from the first call. Search the asset library first: `summer_search_assets(query: "goblin run", assetType: "animation", source: "my_assets")`.
137
+ - Calling `assets.generate_motion` on a `.glb` that wasn't rigged — the call is refused; a dry run says so first.
138
+ - Generating the same clip twice because you forgot to save the `animationAssetId` from the first call. Search the asset library first: `assets.search({ query: "goblin run", assetType: "animation", scope: "mine" })`.
134
139
  - Wiring clips into an AnimationTree inside this skill. That's the next skill's job. Generate, attach, hand off.
135
- - Asking the model to invent a `motionName` that isn't on the list. Quote from the list verbatim, or fall back to manual authoring.
140
+ - Asking the model to invent a motion name that isn't on the list. Quote from the list verbatim, or fall back to manual authoring.
136
141
 
137
142
  ## Edge cases
138
143
 
@@ -145,6 +150,10 @@ have actually seen, or route to the manual-authoring fallback.
145
150
  - **Character is < 1m tall (child / dwarf).** Library clips assume a ~1.8m humanoid. Apply the clip; the proportions retarget but stride length looks long. Either accept it or tune `playback_speed` on the AnimationPlayer track.
146
151
  - **Character has wings / tail.** The library ignores the extra bones — they sag. Hand-author additive overlays for the extra bones, or accept the visual hit.
147
152
 
153
+ ## Without Summer Engine
154
+
155
+ In a session without Summer Engine tools (the assets profile; the `summer-assets` skill has the whole loop), do steps 1-3 and skip step 4 (the `AnimationPlayer`). Save the clip where the person asked with `out` on `jobs.wait` (the `summer-assets` skill says how), and tell them the path and format.
156
+
148
157
  ## Fallback (no MCP)
149
158
 
150
159
  The user can upload to Meshy directly at meshy.ai, generate through the
@@ -163,3 +172,24 @@ Engine.
163
172
  - `asset-strategy` — how to get a Meshy-rigged character in the first place.
164
173
  - `animation-tree` — wire the generated clips into a state machine.
165
174
  - `retarget` — re-use one library across many characters without regenerating.
175
+
176
+ <!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
177
+ ## From a shell
178
+
179
+ 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.
180
+
181
+ | In this skill | Command |
182
+ |---|---|
183
+ | `assets.generate_3d` | `summer assets generate-3d` |
184
+ | `assets.generate_motion`, `summer_assets_generate_motion` | `summer assets generate-motion` |
185
+ | `summer_assets_get` | `summer assets get` |
186
+ | `assets.search`, `summer_assets_search` | `summer assets search` |
187
+ | `summer_add_node` | `summer engine add-node` |
188
+ | `summer_get_scene_tree` | `summer engine get-scene-tree` |
189
+ | `summer_inspect_node` | `summer engine inspect-node` |
190
+ | `summer_inspect_resource` | `summer engine inspect-resource` |
191
+ | `summer_save_scene` | `summer engine save-scene` |
192
+ | `summer_set_prop` | `summer engine set-prop` |
193
+ | `summer_set_resource_property` | `summer engine set-resource-property` |
194
+ | `jobs.wait`, `summer_jobs_wait` | `summer jobs wait` |
195
+ <!-- /shell-commands -->
@@ -1,7 +1,7 @@
1
1
  id: skill/generate-motion
2
2
  kind: skill
3
3
  version: 1.0.4
4
- summary: Attach an animation clip to a rigged character from the curated Meshy motion library — idle, walk, run, attack — wired via AnimationPlayer.
4
+ summary: "Attach a library animation clip (idle, walk, run, attack) to a rigged character via AnimationPlayer."
5
5
  use_when:
6
6
  - the user needs an animation clip on a rigged character — idle/walk/run/attack from the curated Meshy library
7
7
  - a rigged character has no idle, walk, run, or attack animation yet
@@ -157,7 +157,7 @@ Rules that make it work:
157
157
 
158
158
  ## Asset Generation
159
159
 
160
- Godogen calls external image, video and image-to-3D providers with their own API keys, then cuts animated sprites from generated video (frame extraction, loop detection, background removal, imagemagick for resize and crop). In Summer, route asset work through `asset-strategy` and the Summer generation tools (`summer_generate_image`, `summer_generate_3d`, `summer_generate_video`) instead of wiring provider keys into the project.
160
+ Godogen calls external image, video and image-to-3D providers with their own API keys, then cuts animated sprites from generated video (frame extraction, loop detection, background removal, imagemagick for resize and crop). In Summer, route asset work through `asset-strategy` and the Summer generation operations (`assets.generate_image`, `assets.generate_3d`, `assets.generate_video`) instead of wiring provider keys into the project.
161
161
 
162
162
  ## Implementation Steps
163
163
 
@@ -203,3 +203,20 @@ Not yet verified in Summer Engine. To validate an implementation:
203
203
  ## Confidence
204
204
 
205
205
  `extracted`. The architecture (thin runtime, manifest, engine guide, asset-gen), proof over claims, self-verification from captured frames, the dropped verifier model, the C# rationale, the capture tooling and the two involvement modes come from Godogen's public README, CHANGELOG and setup notes. The `ProofCapture` script, the QC-loop JSON protocol and the Summer mapping are adaptations; Godogen's internal prompt and guide files are not public.
206
+
207
+ <!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
208
+ ## From a shell
209
+
210
+ 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.
211
+
212
+ | In this skill | Command |
213
+ |---|---|
214
+ | `assets.generate_3d` | `summer assets generate-3d` |
215
+ | `assets.generate_image` | `summer assets generate-image` |
216
+ | `assets.generate_video` | `summer assets generate-video` |
217
+ | `summer_game_probe` | `summer engine game-probe` |
218
+ | `summer_get_diagnostics` | `summer engine get-diagnostics` |
219
+ | `summer_get_script_errors` | `summer engine get-script-errors` |
220
+ | `summer_play` | `summer engine play` |
221
+ | `summer_screenshot` | `summer engine screenshot` |
222
+ <!-- /shell-commands -->
@@ -30,3 +30,4 @@ source: official
30
30
  license: MIT
31
31
  status: preview
32
32
  recommended: false
33
+ bundled: false
@@ -1,11 +1,11 @@
1
1
  ---
2
2
  name: grow-analytics
3
- description: "Read and analyse a creator's Summer Grow numbers: store page views, launches, play sessions, play time; compare windows, flag drops."
3
+ description: "Read a creator's Summer Grow numbers (page views, launches, sessions, play time), compare windows."
4
4
  license: MIT
5
5
  compatibility: [Cursor, Claude Code, Windsurf, Codex]
6
6
  category: deployment
7
7
  user-invocable: true
8
- allowed-tools: summer_read_library
8
+ allowed-tools: summer_docs_read
9
9
  ---
10
10
 
11
11
  # /grow-analytics — grow analytics
@@ -14,8 +14,18 @@ This skill covers how to read a creator's Summer Grow numbers (store page views,
14
14
 
15
15
  Its current text lives on the hosted Summer Engine MCP, the same text the Studio agent reads, so it changes with the store and is never stale here. Load it before you act:
16
16
 
17
- 1. `summer_read_library` with id `skill/grow-analytics` returns the current text when this machine has a store sign-in (`summer login --store`).
17
+ 1. `summer_docs_read` with id `skill/grow-analytics` returns the current text when this machine is signed in (`summer login`).
18
18
  2. A host that shows MCP prompts or resources has it as the `grow-analytics` prompt and the resource `summer://skills/grow-analytics`.
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: Report what the numbers show; do not guess causes the data cannot support.
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 -->
@@ -1,7 +1,7 @@
1
1
  id: skill/grow-analytics
2
2
  kind: skill
3
3
  version: 1.0.0
4
- summary: "Read and analyse a creator's Summer Grow numbers: store page views, launches, play sessions, play time; compare windows, flag drops."
4
+ summary: "Read a creator's Summer Grow numbers (page views, launches, sessions, play time), compare windows."
5
5
  use_when:
6
6
  - "the user asks how their game is doing on Summer Games: views, launches, players, play time"
7
7
  - "reading summer_grow_overview or summer_grow_analytics and turning the numbers into one next step"
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: headless-scripting
3
- description: "Run a GDScript file against Summer Engine from the shell for operations no MCP tool exposes — navmesh baking, collision shapes, TileSets, re-imports."
3
+ description: "Run a GDScript file against Summer Engine from the shell for what no MCP tool does: navmesh, TileSets."
4
4
  ---
5
5
 
6
6
  # Headless Scripting
@@ -412,3 +412,16 @@ Keep scripts in the project (`res://` is required for `-s`), but name them so th
412
412
  - `playtesting-a-feature` — the verify instance, probes, and proving gameplay behaviour.
413
413
  - `export-and-ship` — the full release pipeline this skill's export example is one step of.
414
414
  - `verification-before-completion` — checking the artifact before claiming done.
415
+
416
+ <!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
417
+ ## From a shell
418
+
419
+ 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.
420
+
421
+ | In this skill | Command |
422
+ |---|---|
423
+ | `summer_get_project_context` | `summer engine get-project-context` |
424
+ | `summer_import_from_url` | `summer engine import-from-url` |
425
+ | `summer_run_script` | `summer engine run-script` |
426
+ | `summer_write_file` | `summer engine write-file` |
427
+ <!-- /shell-commands -->
@@ -1,7 +1,7 @@
1
1
  id: skill/headless-scripting
2
2
  kind: skill
3
3
  version: 1.1.3
4
- summary: Run a GDScript file against Summer Engine from the shell for operations no MCP tool exposes — navmesh baking, collision shapes, TileSets, re-imports.
4
+ summary: "Run a GDScript file against Summer Engine from the shell for what no MCP tool does: navmesh, TileSets."
5
5
  use_when:
6
6
  - a Summer project needs an operation no MCP tool exposes — baking a navmesh, generating collision shapes, authoring an Animation, building a TileSet, re-importing assets
7
7
  - a plan involves 'run it headless and screenshot it' (which does not work — this skill explains why)
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: in-game-purchases
3
- description: "Sell items for Sparks in a game shop via the Summer purchase sheet: checkout, results, not enough Sparks, inventory unlocks, authority grants, store policy."
3
+ description: "Sell items for Sparks via the Summer purchase sheet: checkout, not enough Sparks, unlocks, grants."
4
4
  license: MIT
5
5
  compatibility: [Cursor, Claude Code, Windsurf, Codex]
6
6
  category: gameplay
@@ -257,3 +257,14 @@ Sparks in the Summer app.
257
257
 
258
258
  - multiplayer-state
259
259
  - ui-basics
260
+
261
+ <!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
262
+ ## From a shell
263
+
264
+ 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.
265
+
266
+ | In this skill | Command |
267
+ |---|---|
268
+ | `summer_get_scene_tree` | `summer engine get-scene-tree` |
269
+ | `summer_get_script_errors` | `summer engine get-script-errors` |
270
+ <!-- /shell-commands -->
@@ -1,7 +1,7 @@
1
1
  id: skill/in-game-purchases
2
2
  kind: skill
3
3
  version: 1.0.0
4
- summary: "Sell items for Sparks in a game shop via the Summer purchase sheet: checkout, results, not enough Sparks, inventory unlocks, authority grants, store policy."
4
+ summary: "Sell items for Sparks via the Summer purchase sheet: checkout, not enough Sparks, unlocks, grants."
5
5
  use_when:
6
6
  - "adding a shop, buy button or paid item to a Summer game and wiring request_checkout"
7
7
  - "the player does not have enough Sparks (checkout rejected with insufficient_funds) and the game should tell them how to buy more Sparks"
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: instantiate-asset-pack
3
- description: "Import a whole create-asset-sheet pack into the scene: groups composites, sorts paint order, emits Sprite2D/Node2D/NinePatchRect ops to lay it out."
3
+ description: "Lay out a whole create-asset-sheet pack in the scene: composites, paint order, Sprite2D and NinePatch."
4
4
  license: MIT
5
5
  compatibility: [Cursor, Claude Code, Windsurf, Codex]
6
6
  category: 2d-assets
@@ -228,7 +228,7 @@ Pack has a composite parent `settings_panel` (filtered out) plus three children:
228
228
 
229
229
  After this, hand `panel_bg` and `apply_button` to `use-widget-asset` to set `patch_margin_*` from their `widget.frameMargins`.
230
230
 
231
- Note the ops format: `position` is the **engine variant string** `"Vector2(0, 0)"`, not a JSON object. `z_index` is a bare integer. This is the format Summer Engine expects — see `../../references/mcp-tools-reference/mcp-tools-reference.md`.
231
+ Note the ops format: `position` is the **engine variant string** `"Vector2(0, 0)"`, not a JSON object. `z_index` is a bare integer. This is the format Summer Engine expects — see `summer_docs_read` id `reference/mcp-tools-reference`.
232
232
 
233
233
  ## Failure modes
234
234
 
@@ -245,3 +245,20 @@ Note the ops format: `position` is the **engine variant string** `"Vector2(0, 0)
245
245
  - `create-asset-sheet` — production side; how the pack was made.
246
246
  - `use-widget-asset` — wiring an individual widget slice (NinePatchRect, TextureProgressBar geometry).
247
247
  - `asset-strategy` — broader find-or-generate -> import -> apply flow.
248
+
249
+ <!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
250
+ ## From a shell
251
+
252
+ 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.
253
+
254
+ | In this skill | Command |
255
+ |---|---|
256
+ | `summer_docs_read` | `summer docs read` |
257
+ | `summer_add_node` | `summer engine add-node` |
258
+ | `summer_batch` | `summer engine batch` |
259
+ | `summer_get_scene_tree` | `summer engine get-scene-tree` |
260
+ | `summer_import_from_url` | `summer engine import-from-url` |
261
+ | `summer_inspect_node` | `summer engine inspect-node` |
262
+ | `summer_set_prop` | `summer engine set-prop` |
263
+ | `summer_set_resource_property` | `summer engine set-resource-property` |
264
+ <!-- /shell-commands -->
@@ -1,7 +1,7 @@
1
1
  id: skill/instantiate-asset-pack
2
2
  kind: skill
3
3
  version: 1.0.3
4
- summary: "Import a whole create-asset-sheet pack into the scene: groups composites, sorts paint order, emits Sprite2D/Node2D/NinePatchRect ops to lay it out."
4
+ summary: "Lay out a whole create-asset-sheet pack in the scene: composites, paint order, Sprite2D and NinePatch."
5
5
  use_when:
6
6
  - importing or spawning an entire asset pack (multi-slice ArtAsset from create-asset-sheet) into the current scene
7
7
  - laying out a generated tile sheet, UI kit, or biome pack as placed Sprite2D and NinePatchRect nodes in one pass
@@ -32,3 +32,4 @@ source: official
32
32
  license: MIT
33
33
  status: preview
34
34
  recommended: false
35
+ bundled: false
@@ -1,11 +1,11 @@
1
1
  ---
2
2
  name: make-game
3
- description: "Orchestration spine for 'make me a game': brainstorm, plan, scaffold, mechanics, art, audio, polish, verify, ship — delegates to specialist skills."
3
+ description: "Orchestrate 'make me a game': brainstorm, plan, scaffold, mechanics, art, audio, polish, verify, ship."
4
4
  license: MIT
5
5
  compatibility: [Cursor, Claude Code, Codex, Windsurf, Gemini, OpenCode]
6
6
  category: scene-and-project
7
7
  user-invocable: true
8
- allowed-tools: Read Edit Write Bash Skill summer_get_project_context summer_get_scene_tree summer_create_scene summer_add_node summer_set_prop summer_save_scene summer_play summer_stop summer_get_diagnostics summer_get_script_errors
8
+ allowed-tools: Read Edit Write Bash Skill summer_get_project_context summer_get_scene_tree summer_create_scene summer_run_script summer_add_node summer_set_prop summer_save_scene summer_play summer_stop summer_get_diagnostics summer_get_script_errors
9
9
  paths: [".summer/**", "project.godot", "**/*.gd", "**/*.tscn"]
10
10
  ---
11
11
 
@@ -162,7 +162,7 @@ World (Node3D)
162
162
  └── GameManager (Node) # autoload-style, holds win/lose state
163
163
  ```
164
164
 
165
- Save the scene. Run `summer_play` once to verify the empty scaffold opens cleanly. If it crashes, run `debug` immediately — do NOT continue building on a broken base.
165
+ Build that hierarchy in one `summer_run_script` with the scene's `scenePath` (see `scene-scripting`), not node by node, and end the script with `ctx.save_scene()`. Run `summer_play` once to verify the empty scaffold opens cleanly. If it crashes, run `debug` immediately — do NOT continue building on a broken base.
166
166
 
167
167
  **Checkpoint before continuing:**
168
168
 
@@ -181,7 +181,7 @@ For each mechanic in the plan, **in order**:
181
181
  Outputs the mechanic spec: input, response, feedback, failure modes, depth, tunables, GDScript stub.
182
182
 
183
183
  2. **Implement**:
184
- - Add the nodes via `summer_add_node` / `summer_set_prop`. Use `scene-composition` if the structure is non-trivial.
184
+ - Add the nodes: 3 or more scene edits are one `summer_run_script` with `scenePath` (snapshot, script, diff, screenshot); a single tweak is one `summer_set_prop`. Use `scene-composition` if the structure is non-trivial.
185
185
  - For movement-class mechanics, prefer the matching pre-built skill: `character-movement`, `fps-controller`, `multiplayer-movement`, etc. Follow the genre playbook's build order when one applies.
186
186
  - Write GDScript with `gdscript-patterns` open.
187
187
 
@@ -303,3 +303,32 @@ When all phases are done:
303
303
  > "<Game name> is in. <N> mechanics, <playable from main scene to win condition>. <Brief summary of the build>. Want me to package a build (`export-and-ship`) or iterate?"
304
304
 
305
305
  That's the handoff back to the user.
306
+
307
+ <!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
308
+ ## From a shell
309
+
310
+ 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.
311
+
312
+ | In this skill | Command |
313
+ |---|---|
314
+ | `assets.search` | `summer assets search` |
315
+ | `summer_docs_read` | `summer docs read` |
316
+ | `summer_add_node` | `summer engine add-node` |
317
+ | `summer_batch` | `summer engine batch` |
318
+ | `summer_create_scene` | `summer engine create-scene` |
319
+ | `summer_export_game` | `summer engine export-game` |
320
+ | `summer_get_diagnostics` | `summer engine get-diagnostics` |
321
+ | `summer_get_project_context` | `summer engine get-project-context` |
322
+ | `summer_get_scene_tree` | `summer engine get-scene-tree` |
323
+ | `summer_get_script_errors` | `summer engine get-script-errors` |
324
+ | `summer_import_asset` | `summer engine import-asset` |
325
+ | `summer_import_asset_by_id` | `summer engine import-asset-by-id` |
326
+ | `summer_play` | `summer engine play` |
327
+ | `summer_replace_text` | `summer engine replace-text` |
328
+ | `summer_run_script` | `summer engine run-script` |
329
+ | `summer_save_scene` | `summer engine save-scene` |
330
+ | `summer_set_prop` | `summer engine set-prop` |
331
+ | `summer_set_resource_property` | `summer engine set-resource-property` |
332
+ | `summer_stop` | `summer engine stop` |
333
+ | `summer_write_file` | `summer engine write-file` |
334
+ <!-- /shell-commands -->
@@ -2,7 +2,7 @@
2
2
 
3
3
  Side-scrolling platformer blueprint: architecture, the level, and the core loop.
4
4
  Movement itself lives in the `character-movement` skill (base controller) and its
5
- `../../character-movement/references/platformer-feel.md` (coyote time, jump buffer, variable height) - do
5
+ platformer-feel reference (`summer_docs_read` id `skill/character-movement/references/platformer-feel.md`: coyote time, jump buffer, variable height) - do
6
6
  not rewrite it here; wire it in. For Celeste-grade precision movement (dash, wall
7
7
  jump, climb) use `celeste-momentum-platforming` instead.
8
8
 
@@ -135,7 +135,7 @@ for free.
135
135
  ## Level scene
136
136
 
137
137
  The real level comes from real assets, not primitives: route the need through
138
- the `asset-strategy` skill (`summer_search_assets`, then `summer_import_asset` /
138
+ the `asset-strategy` skill (`assets.search`, then `summer_import_asset` /
139
139
  `summer_import_asset_by_id`), import a ready location or kit that fits, and build
140
140
  gameplay inside it; weapons and props should share its style. A PlaneMesh ground
141
141
  is only the walk-test blockout and for pieces no asset covers — never the
@@ -116,7 +116,7 @@ resist cranking them.
116
116
  ## Level building (library first, primitives last)
117
117
 
118
118
  The level comes from real assets: route it through the `asset-strategy` skill
119
- (`summer_search_assets`, then `summer_import_asset` / `summer_import_asset_by_id`)
119
+ (`assets.search`, then `summer_import_asset` / `summer_import_asset_by_id`)
120
120
  and look for a ready horror location (an abandoned house, a haunted forest, a
121
121
  modular horror-house kit) plus period props, keeping one coherent style. Import
122
122
  the location that fits and build gameplay inside it. Do NOT grey-box a level a
@@ -128,7 +128,7 @@ global transform and zeroes `rotation.z`.
128
128
  If the visual is a Summer humanoid package, do not use the generic setup below.
129
129
  Instantiate its `character.tscn` under `CharacterRotationRoot`, preserve the package's
130
130
  normalized `-Z` forward axis, then install the `character-movement` skill's
131
- `../../character-movement/references/default-third-person-controller.gd` unchanged for the standard
131
+ default third-person controller (`summer_docs_read` id `skill/character-movement/references/default-third-person-controller.gd`) unchanged for the standard
132
132
  playable controller (that skill has the byte-exact install steps and the
133
133
  verification probe). Do not hand-write an equivalent controller. Never rebuild package clips
134
134
  into a second AnimationTree.
@@ -163,7 +163,7 @@ and set `loop_mode = Animation.LOOP_LINEAR` on those at runtime.
163
163
 
164
164
  ## Level assembly
165
165
 
166
- Check for real assets first (`asset-strategy`: `summer_search_assets`, then
166
+ Check for real assets first (`asset-strategy`: `assets.search`, then
167
167
  `summer_import_asset`): a ready location or kit beats CSG. Keep CSG for the
168
168
  first-motion blockout, invisible glue (death planes, triggers) and pieces no
169
169
  asset covers — do not ship a grey-box level when a real one is available.
@@ -1,7 +1,7 @@
1
1
  id: skill/make-game
2
2
  kind: skill
3
3
  version: 1.1.0
4
- summary: "Orchestration spine for 'make me a game': brainstorm, plan, scaffold, mechanics, art, audio, polish, verify, ship — delegates to specialist skills."
4
+ summary: "Orchestrate 'make me a game': brainstorm, plan, scaffold, mechanics, art, audio, polish, verify, ship."
5
5
  use_when:
6
6
  - the user says 'make me a game', 'build me a game', 'I want to make a [genre] game', or 'let's build something' — running the full game-dev pipeline
7
7
  - the user wants a complete playable game end to end, from brainstorm through shipping
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: multiplayer
3
- description: "Start here for Summer multiplayer: how the authority, clients, Worlds and Sessions fit, and which skill comes next."
3
+ description: "Start here for Summer multiplayer: how authority, clients, Worlds and Sessions fit, and what comes next."
4
4
  license: MIT
5
5
  compatibility: [Cursor, Claude Code, Windsurf, Codex]
6
6
  category: multiplayer-and-networking
@@ -150,3 +150,15 @@ Check what exists: `summer.build.json`, `world.json`, `network/`,
150
150
  - **The game already uses `@rpc` or `MultiplayerSynchronizer`:** tell the user
151
151
  it needs moving to Summer's networking. Then follow `multiplayer-project`
152
152
  and port one system at a time: movement first, then state.
153
+
154
+ <!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
155
+ ## From a shell
156
+
157
+ 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.
158
+
159
+ | In this skill | Command |
160
+ |---|---|
161
+ | `summer_get_scene_tree` | `summer engine get-scene-tree` |
162
+ | `summer_get_script_errors` | `summer engine get-script-errors` |
163
+ | `summer_project_setting` | `summer engine project-setting` |
164
+ <!-- /shell-commands -->
@@ -1,7 +1,7 @@
1
1
  id: skill/multiplayer
2
2
  kind: skill
3
3
  version: 1.0.0
4
- summary: "Start here for Summer multiplayer: how the authority, clients, Worlds and Sessions fit, and which skill comes next."
4
+ summary: "Start here for Summer multiplayer: how authority, clients, Worlds and Sessions fit, and what comes next."
5
5
  use_when:
6
6
  - "the user wants multiplayer, co-op, PvP, online play over the internet, or to play with friends in a Summer game"
7
7
  - "the user asks for peer-to-peer, a player-hosted server, host migration, join-by-IP or a lobby"
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: multiplayer-movement
3
- description: "Client-side movement in Summer multiplayer: owners move instantly, others glide, the authority checks each pose."
3
+ description: "Movement in Summer multiplayer: owners move instantly, others glide, the authority checks each pose."
4
4
  license: MIT
5
5
  compatibility: [Cursor, Claude Code, Windsurf, Codex]
6
6
  category: multiplayer-and-networking
@@ -508,3 +508,21 @@ client never sees the jump.
508
508
 
509
509
  `multiplayer-state`: scores, doors, private inventories, and actions the
510
510
  authority checks against these poses.
511
+
512
+ <!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
513
+ ## From a shell
514
+
515
+ 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.
516
+
517
+ | In this skill | Command |
518
+ |---|---|
519
+ | `summer_get_diagnostics` | `summer engine get-diagnostics` |
520
+ | `summer_get_scene_tree` | `summer engine get-scene-tree` |
521
+ | `summer_get_script_errors` | `summer engine get-script-errors` |
522
+ | `summer_inspect_node` | `summer engine inspect-node` |
523
+ | `summer_play` | `summer engine play` |
524
+ | `summer_project_setting` | `summer engine project-setting` |
525
+ | `summer_read_file` | `summer engine read-file` |
526
+ | `summer_stop` | `summer engine stop` |
527
+ | `summer_write_file` | `summer engine write-file` |
528
+ <!-- /shell-commands -->
@@ -1,7 +1,7 @@
1
1
  id: skill/multiplayer-movement
2
2
  kind: skill
3
3
  version: 1.0.0
4
- summary: "Client-side movement in Summer multiplayer: owners move instantly, others glide, the authority checks each pose."
4
+ summary: "Movement in Summer multiplayer: owners move instantly, others glide, the authority checks each pose."
5
5
  use_when:
6
6
  - "moving players in a Summer multiplayer game: each player's own character, other players drawn smoothly"
7
7
  - "remote players stutter, jitter, teleport or rubberband in a Summer multiplayer game"
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: multiplayer-project
3
- description: "Set up a Summer multiplayer project: both entry scenes, World and queue files, joining, and a first Local Play run."
3
+ description: "Set up a Summer multiplayer project: entry scenes, World and queue files, joining, a first Local Play."
4
4
  license: MIT
5
5
  compatibility: [Cursor, Claude Code, Windsurf, Codex]
6
6
  category: multiplayer-and-networking
@@ -535,3 +535,20 @@ warning yourself.
535
535
 
536
536
  `multiplayer-movement`: each player moves their own character, and everyone
537
537
  else sees it move smoothly.
538
+
539
+ <!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
540
+ ## From a shell
541
+
542
+ 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.
543
+
544
+ | In this skill | Command |
545
+ |---|---|
546
+ | `summer_get_diagnostics` | `summer engine get-diagnostics` |
547
+ | `summer_get_scene_tree` | `summer engine get-scene-tree` |
548
+ | `summer_get_script_errors` | `summer engine get-script-errors` |
549
+ | `summer_play` | `summer engine play` |
550
+ | `summer_project_setting` | `summer engine project-setting` |
551
+ | `summer_read_file` | `summer engine read-file` |
552
+ | `summer_stop` | `summer engine stop` |
553
+ | `summer_write_file` | `summer engine write-file` |
554
+ <!-- /shell-commands -->
@@ -1,7 +1,7 @@
1
1
  id: skill/multiplayer-project
2
2
  kind: skill
3
3
  version: 1.0.0
4
- summary: "Set up a Summer multiplayer project: both entry scenes, World and queue files, joining, and a first Local Play run."
4
+ summary: "Set up a Summer multiplayer project: entry scenes, World and queue files, joining, a first Local Play."
5
5
  use_when:
6
6
  - "making a Summer game playable online or co-op: the first multiplayer setup"
7
7
  - "adding multiplayer to a Summer game: the client and authority scenes, summer.build.json, world.json and joining a queue"