summer-engine 2.8.1 → 3.0.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 (742) hide show
  1. package/.claude-plugin/marketplace.json +27 -7
  2. package/.claude-plugin/plugin.json +99 -83
  3. package/.codex-plugin/plugin.json +112 -82
  4. package/.cursor-plugin/plugin.json +119 -83
  5. package/.factory-plugin/plugin.json +100 -3
  6. package/.mcp.json +6 -1
  7. package/.opencode/INSTALL.md +7 -4
  8. package/.opencode/plugins/summer.js +31 -18
  9. package/AGENTS.md +107 -34
  10. package/CHANGELOG.md +134 -41
  11. package/CLAUDE.md +4 -2
  12. package/GEMINI.md +7 -53
  13. package/NOTICE +31 -0
  14. package/README.md +159 -391
  15. package/assets/api-docs.json.gz +0 -0
  16. package/assets/autopilot/README.md +20 -6
  17. package/assets/autopilot/autopilot.gd +80 -26
  18. package/assets/autopilot/run.sh +132 -7
  19. package/assets/navigation/web-routes.json +719 -0
  20. package/commands/gameskill.md +10 -108
  21. package/commands/summer.md +72 -4
  22. package/dist/bin/summer.js +6 -87
  23. package/dist/cli/banner.d.ts +1 -0
  24. package/dist/cli/banner.js +33 -0
  25. package/dist/{commands → cli/commands}/config.js +1 -1
  26. package/dist/cli/commands/create.d.ts +30 -0
  27. package/dist/cli/commands/create.js +212 -0
  28. package/dist/{commands → cli/commands}/debug.js +2 -2
  29. package/dist/cli/commands/doctor.d.ts +2 -0
  30. package/dist/cli/commands/doctor.js +18 -0
  31. package/dist/cli/commands/events.d.ts +57 -0
  32. package/dist/cli/commands/events.js +158 -0
  33. package/dist/cli/commands/install.d.ts +50 -0
  34. package/dist/cli/commands/install.js +447 -0
  35. package/dist/cli/commands/list.js +72 -0
  36. package/dist/{commands → cli/commands}/login.js +33 -17
  37. package/dist/{commands → cli/commands}/logout.d.ts +1 -0
  38. package/dist/cli/commands/logout.js +19 -0
  39. package/dist/{commands → cli/commands}/memory.d.ts +1 -8
  40. package/dist/{commands → cli/commands}/memory.js +20 -11
  41. package/dist/cli/commands/open.d.ts +45 -0
  42. package/dist/cli/commands/open.js +216 -0
  43. package/dist/{commands → cli/commands}/plan.js +2 -2
  44. package/dist/{commands → cli/commands}/publish.js +1 -1
  45. package/dist/{commands → cli/commands}/releases.js +1 -1
  46. package/dist/cli/commands/run.d.ts +19 -0
  47. package/dist/cli/commands/run.js +255 -0
  48. package/dist/{commands → cli/commands}/setup.js +43 -89
  49. package/dist/{commands → cli/commands}/skills.js +85 -222
  50. package/dist/{commands → cli/commands}/status.d.ts +1 -0
  51. package/dist/cli/commands/status.js +62 -0
  52. package/dist/cli/commands/tool.d.ts +11 -0
  53. package/dist/cli/commands/tool.js +121 -0
  54. package/dist/cli/index.d.ts +6 -0
  55. package/dist/cli/index.js +89 -0
  56. package/dist/cli/root-action.d.ts +7 -0
  57. package/dist/cli/root-action.js +15 -0
  58. package/dist/{lib → core}/api-client.d.ts +106 -15
  59. package/dist/{lib → core}/api-client.js +267 -75
  60. package/dist/{lib → core}/async-op-lifecycle.d.ts +3 -4
  61. package/dist/{lib → core}/async-op-lifecycle.js +3 -4
  62. package/dist/{lib → core}/auth.d.ts +14 -6
  63. package/dist/{lib → core}/auth.js +56 -40
  64. package/dist/core/capabilities/agent-playbook.d.ts +20 -0
  65. package/dist/core/capabilities/agent-playbook.js +218 -0
  66. package/dist/core/capabilities/api-docs.d.ts +36 -0
  67. package/dist/core/capabilities/api-docs.js +118 -0
  68. package/dist/core/capabilities/asset-import.d.ts +49 -0
  69. package/dist/core/capabilities/asset-import.js +134 -0
  70. package/dist/core/capabilities/camera-view.d.ts +98 -0
  71. package/dist/core/capabilities/camera-view.js +222 -0
  72. package/dist/core/capabilities/capture.d.ts +63 -0
  73. package/dist/core/capabilities/capture.js +67 -0
  74. package/dist/core/capabilities/console-read.d.ts +17 -0
  75. package/dist/core/capabilities/console-read.js +21 -0
  76. package/dist/{lib → core/capabilities}/creator.d.ts +1 -29
  77. package/dist/{lib → core/capabilities}/creator.js +14 -33
  78. package/dist/{lib → core/capabilities}/debug-report.d.ts +1 -1
  79. package/dist/{lib → core/capabilities}/debug-report.js +12 -31
  80. package/dist/{commands → core/capabilities}/doctor.d.ts +7 -2
  81. package/dist/{commands → core/capabilities}/doctor.js +47 -73
  82. package/dist/core/capabilities/engine-fallbacks.d.ts +26 -0
  83. package/dist/core/capabilities/engine-fallbacks.js +36 -0
  84. package/dist/core/capabilities/engine-ops.d.ts +33 -0
  85. package/dist/core/capabilities/engine-ops.js +145 -0
  86. package/dist/core/capabilities/engine-receipt.d.ts +53 -0
  87. package/dist/core/capabilities/engine-receipt.js +134 -0
  88. package/dist/core/capabilities/events.d.ts +200 -0
  89. package/dist/core/capabilities/events.js +383 -0
  90. package/dist/core/capabilities/fabricate-mesh.d.ts +111 -0
  91. package/dist/core/capabilities/fabricate-mesh.js +165 -0
  92. package/dist/core/capabilities/frame-quality.d.ts +71 -0
  93. package/dist/core/capabilities/frame-quality.js +449 -0
  94. package/dist/core/capabilities/game-task-plan.d.ts +66 -0
  95. package/dist/{lib → core/capabilities}/game-task-plan.js +59 -8
  96. package/dist/core/capabilities/hdri-import.d.ts +90 -0
  97. package/dist/core/capabilities/hdri-import.js +250 -0
  98. package/dist/core/capabilities/image-generation.d.ts +24 -0
  99. package/dist/core/capabilities/image-generation.js +22 -0
  100. package/dist/core/capabilities/navigation/open.d.ts +156 -0
  101. package/dist/core/capabilities/navigation/open.js +567 -0
  102. package/dist/core/capabilities/navigation/render-product-map.d.ts +1 -0
  103. package/dist/core/capabilities/navigation/render-product-map.js +84 -0
  104. package/dist/core/capabilities/navigation/targets.d.ts +87 -0
  105. package/dist/core/capabilities/navigation/targets.js +250 -0
  106. package/dist/core/capabilities/play-determinism.d.ts +35 -0
  107. package/dist/core/capabilities/play-determinism.js +86 -0
  108. package/dist/core/capabilities/project-context.d.ts +114 -0
  109. package/dist/core/capabilities/project-context.js +249 -0
  110. package/dist/core/capabilities/runtime-control.d.ts +540 -0
  111. package/dist/core/capabilities/runtime-control.js +1011 -0
  112. package/dist/core/capabilities/scene-kind.d.ts +19 -0
  113. package/dist/core/capabilities/scene-kind.js +137 -0
  114. package/dist/core/capabilities/scene-script.d.ts +38 -0
  115. package/dist/core/capabilities/scene-script.js +45 -0
  116. package/dist/core/capabilities/tool-dispatch.d.ts +42 -0
  117. package/dist/core/capabilities/tool-dispatch.js +1490 -0
  118. package/dist/core/capabilities/ui-control.d.ts +179 -0
  119. package/dist/core/capabilities/ui-control.js +423 -0
  120. package/dist/core/capabilities/variant-types.d.ts +22 -0
  121. package/dist/core/capabilities/variant-types.js +101 -0
  122. package/dist/core/capability-skew.d.ts +205 -0
  123. package/dist/core/capability-skew.js +386 -0
  124. package/dist/{lib → core}/config.d.ts +11 -1
  125. package/dist/{lib → core}/config.js +13 -2
  126. package/dist/core/embeddings.d.ts +78 -0
  127. package/dist/core/embeddings.js +166 -0
  128. package/dist/core/engine-install.d.ts +105 -0
  129. package/dist/core/engine-install.js +190 -0
  130. package/dist/core/engine.d.ts +94 -0
  131. package/dist/{lib → core}/engine.js +74 -28
  132. package/dist/core/feedback/client.d.ts +88 -0
  133. package/dist/core/feedback/client.js +182 -0
  134. package/dist/{lib → core}/format.d.ts +0 -1
  135. package/dist/{lib → core}/format.js +1 -1
  136. package/dist/core/headless/connection.d.ts +86 -0
  137. package/dist/core/headless/connection.js +97 -0
  138. package/dist/core/headless/editor-connection.d.ts +26 -0
  139. package/dist/core/headless/editor-connection.js +81 -0
  140. package/dist/core/headless/mcp-routing.d.ts +38 -0
  141. package/dist/core/headless/mcp-routing.js +83 -0
  142. package/dist/core/headless/registry.d.ts +91 -0
  143. package/dist/core/headless/registry.js +226 -0
  144. package/dist/core/headless/resolve.d.ts +46 -0
  145. package/dist/core/headless/resolve.js +75 -0
  146. package/dist/core/headless/spawn.d.ts +46 -0
  147. package/dist/core/headless/spawn.js +205 -0
  148. package/dist/core/headless/worker-connection.d.ts +96 -0
  149. package/dist/core/headless/worker-connection.js +353 -0
  150. package/dist/core/headless/worker-engine-client.d.ts +58 -0
  151. package/dist/core/headless/worker-engine-client.js +246 -0
  152. package/dist/core/launch-posture.d.ts +170 -0
  153. package/dist/core/launch-posture.js +317 -0
  154. package/dist/core/library-read.d.ts +73 -0
  155. package/dist/core/library-read.js +279 -0
  156. package/dist/core/library-search.d.ts +143 -0
  157. package/dist/core/library-search.js +301 -0
  158. package/dist/{lib → core}/log-filters.js +4 -2
  159. package/dist/{lib → core}/mcp-log.js +2 -17
  160. package/dist/core/package-root.d.ts +9 -0
  161. package/dist/core/package-root.js +11 -0
  162. package/dist/core/redact.d.ts +20 -0
  163. package/dist/core/redact.js +64 -0
  164. package/dist/core/registry-search.d.ts +167 -0
  165. package/dist/core/registry-search.js +358 -0
  166. package/dist/core/skills-registry.d.ts +47 -0
  167. package/dist/core/skills-registry.js +83 -0
  168. package/dist/{lib → core}/store.js +11 -7
  169. package/dist/{lib → core}/summer-compatibility.js +3 -3
  170. package/dist/{lib → core}/telemetry.js +5 -2
  171. package/dist/core/templates.d.ts +98 -0
  172. package/dist/core/templates.js +241 -0
  173. package/dist/core/tool-errors.d.ts +30 -0
  174. package/dist/core/tool-errors.js +40 -0
  175. package/dist/core/trajectory.d.ts +80 -0
  176. package/dist/core/trajectory.js +307 -0
  177. package/dist/core/util/http.d.ts +13 -0
  178. package/dist/core/util/http.js +28 -0
  179. package/dist/core/util/json.d.ts +12 -0
  180. package/dist/core/util/json.js +21 -0
  181. package/dist/core/util/process.d.ts +3 -0
  182. package/dist/core/util/process.js +13 -0
  183. package/dist/core/util/sleep.d.ts +1 -0
  184. package/dist/core/util/sleep.js +3 -0
  185. package/dist/core/version.d.ts +3 -0
  186. package/dist/core/version.js +5 -0
  187. package/dist/{lib → installer}/agent-config.d.ts +20 -1
  188. package/dist/{lib → installer}/agent-config.js +148 -23
  189. package/dist/installer/legacy-skills.d.ts +26 -0
  190. package/dist/installer/legacy-skills.js +53 -0
  191. package/dist/installer/setup.d.ts +76 -0
  192. package/dist/installer/setup.js +146 -0
  193. package/dist/installer/skill-locations.d.ts +45 -0
  194. package/dist/installer/skill-locations.js +170 -0
  195. package/dist/installer/version-check.d.ts +174 -0
  196. package/dist/{lib → installer}/version-check.js +173 -42
  197. package/dist/{lib/mcp-boot-notice.d.ts → mcp/boot-notice.d.ts} +1 -1
  198. package/dist/{commands/mcp.js → mcp/command.js} +18 -6
  199. package/dist/mcp/server.d.ts +23 -3
  200. package/dist/mcp/server.js +122 -28
  201. package/dist/mcp/tools/asset-tools.js +62 -142
  202. package/dist/mcp/tools/creator-tools.js +5 -23
  203. package/dist/mcp/tools/debug-tools.js +61 -18
  204. package/dist/mcp/tools/event-tools.d.ts +14 -0
  205. package/dist/mcp/tools/event-tools.js +41 -0
  206. package/dist/mcp/tools/fabricate-tools.d.ts +2 -0
  207. package/dist/mcp/tools/fabricate-tools.js +28 -0
  208. package/dist/mcp/tools/feedback-tools.d.ts +77 -0
  209. package/dist/mcp/tools/feedback-tools.js +88 -0
  210. package/dist/mcp/tools/file-tools.js +6 -53
  211. package/dist/mcp/tools/generate-tools.js +37 -63
  212. package/dist/mcp/tools/library-tools.d.ts +11 -0
  213. package/dist/mcp/tools/library-tools.js +42 -0
  214. package/dist/mcp/tools/navigation-tools.d.ts +7 -0
  215. package/dist/mcp/tools/navigation-tools.js +37 -0
  216. package/dist/mcp/tools/perception-tools.d.ts +20 -0
  217. package/dist/mcp/tools/perception-tools.js +146 -0
  218. package/dist/mcp/tools/project-tools.d.ts +14 -0
  219. package/dist/mcp/tools/project-tools.js +72 -281
  220. package/dist/mcp/tools/runtime-tools.d.ts +2 -0
  221. package/dist/mcp/tools/runtime-tools.js +92 -0
  222. package/dist/mcp/tools/scene-tools.d.ts +3 -0
  223. package/dist/mcp/tools/scene-tools.js +68 -119
  224. package/dist/mcp/tools/script-tools.d.ts +3 -0
  225. package/dist/mcp/tools/script-tools.js +118 -0
  226. package/dist/mcp/tools/spatial-tools.d.ts +2 -0
  227. package/dist/mcp/tools/spatial-tools.js +485 -0
  228. package/dist/mcp/tools/text-json.d.ts +8 -0
  229. package/dist/mcp/tools/text-json.js +12 -0
  230. package/dist/mcp/tools/{cloud-tools.d.ts → ui-tools.d.ts} +1 -1
  231. package/dist/mcp/tools/ui-tools.js +82 -0
  232. package/dist/mcp/tools/visual-tools.d.ts +2 -7
  233. package/dist/mcp/tools/visual-tools.js +383 -101
  234. package/dist/mcp/tools/with-engine.d.ts +9 -15
  235. package/dist/mcp/tools/with-engine.js +60 -96
  236. package/dist/project-memory/project-manifest.d.ts +36 -0
  237. package/dist/project-memory/project-manifest.js +50 -0
  238. package/dist/project-memory/project-memory.d.ts +57 -0
  239. package/dist/{lib → project-memory}/project-memory.js +46 -0
  240. package/gemini-extension.json +103 -2
  241. package/hooks/hooks-cursor.json +2 -2
  242. package/hooks/hooks.json +2 -1
  243. package/hooks/pre-commit-doctor.sh +45 -39
  244. package/hooks/run-hook.cmd +30 -23
  245. package/hooks/run-hook.sh +20 -0
  246. package/hooks/session-start.sh +18 -7
  247. package/integrations/README.md +70 -0
  248. package/integrations/claude/README.md +19 -0
  249. package/integrations/claude/manifest-target.json +16 -0
  250. package/integrations/cline/README.md +13 -0
  251. package/integrations/cline/manifest-target.json +3 -0
  252. package/integrations/codex/README.md +15 -0
  253. package/integrations/codex/manifest-target.json +5 -0
  254. package/integrations/cursor/README.md +16 -0
  255. package/integrations/cursor/manifest-target.json +5 -0
  256. package/integrations/factory/README.md +26 -0
  257. package/integrations/factory/manifest-target.json +5 -0
  258. package/integrations/gemini/README.md +26 -0
  259. package/integrations/gemini/manifest-target.json +5 -0
  260. package/integrations/github-copilot/README.md +12 -0
  261. package/integrations/github-copilot/manifest-target.json +3 -0
  262. package/integrations/kilo-code/README.md +16 -0
  263. package/integrations/kilo-code/manifest-target.json +3 -0
  264. package/integrations/lm-studio/README.md +12 -0
  265. package/integrations/lm-studio/manifest-target.json +3 -0
  266. package/integrations/opencode/README.md +15 -0
  267. package/integrations/opencode/manifest-target.json +3 -0
  268. package/integrations/roo-code/README.md +13 -0
  269. package/integrations/roo-code/manifest-target.json +3 -0
  270. package/integrations/vscode-copilot/README.md +12 -0
  271. package/integrations/vscode-copilot/manifest-target.json +3 -0
  272. package/integrations/windsurf/README.md +13 -0
  273. package/integrations/windsurf/manifest-target.json +3 -0
  274. package/library/references/collaborative-protocol/resource.yaml +24 -0
  275. package/library/references/gd-style/resource.yaml +24 -0
  276. package/{references → library/references/godot-version}/godot-version.md +6 -6
  277. package/library/references/godot-version/resource.yaml +22 -0
  278. package/library/references/headless-routing/headless-routing.md +46 -0
  279. package/library/references/headless-routing/resource.yaml +24 -0
  280. package/library/references/mcp-fresh-chat-playbook/mcp-fresh-chat-playbook.md +49 -0
  281. package/library/references/mcp-fresh-chat-playbook/resource.yaml +23 -0
  282. package/library/references/mcp-tools-reference/mcp-tools-reference.md +271 -0
  283. package/library/references/mcp-tools-reference/resource.yaml +17 -0
  284. package/library/references/product-map/product-map.md +103 -0
  285. package/library/references/product-map/resource.yaml +33 -0
  286. package/{references → library/references/public-surface-language}/public-surface-language.md +5 -7
  287. package/library/references/public-surface-language/resource.yaml +17 -0
  288. package/library/references/summer-folder/resource.yaml +20 -0
  289. package/{references → library/references/summer-folder}/summer-folder.md +22 -21
  290. package/{skills/rendering-and-lighting → library/skills}/3d-lighting/SKILL.md +15 -11
  291. package/library/skills/3d-lighting/resource.yaml +27 -0
  292. package/{skills/audio → library/skills}/adaptive-music/SKILL.md +1 -1
  293. package/library/skills/adaptive-music/resource.yaml +28 -0
  294. package/library/skills/agent-playtesting/SKILL.md +148 -0
  295. package/library/skills/agent-playtesting/resource.yaml +52 -0
  296. package/library/skills/ambient-bed/resource.yaml +24 -0
  297. package/{skills/video → library/skills}/animated-loop/SKILL.md +1 -1
  298. package/library/skills/animated-loop/resource.yaml +27 -0
  299. package/{skills/animation → library/skills}/animation-tree/SKILL.md +29 -14
  300. package/library/skills/animation-tree/resource.yaml +33 -0
  301. package/{skills/rendering-and-lighting → library/skills}/art-direction/SKILL.md +3 -3
  302. package/library/skills/art-direction/resource.yaml +29 -0
  303. package/{skills/asset-pipeline → library/skills}/asset-strategy/SKILL.md +44 -44
  304. package/library/skills/asset-strategy/resource.yaml +63 -0
  305. package/{skills/audio → library/skills}/audio-direction/SKILL.md +7 -7
  306. package/library/skills/audio-direction/resource.yaml +32 -0
  307. package/library/skills/auto-fire-targeting/resource.yaml +22 -0
  308. package/{skills/scene-and-project → library/skills}/brainstorm-game/SKILL.md +8 -8
  309. package/library/skills/brainstorm-game/resource.yaml +30 -0
  310. package/{skills/workflow → library/skills}/brainstorming/SKILL.md +2 -22
  311. package/library/skills/brainstorming/resource.yaml +23 -0
  312. package/{skills/workflow → library/skills}/brainstorming/spec-document-reviewer-prompt.md +1 -1
  313. package/{skills/scene-and-project → library/skills}/browse-templates/SKILL.md +18 -18
  314. package/library/skills/browse-templates/resource.yaml +23 -0
  315. package/library/skills/celeste-momentum-platforming/SKILL.md +366 -0
  316. package/library/skills/celeste-momentum-platforming/resource.yaml +33 -0
  317. package/library/skills/character-animation-wiring/SKILL.md +249 -0
  318. package/library/skills/character-animation-wiring/resource.yaml +39 -0
  319. package/{skills/3d-assets → library/skills}/character-model/SKILL.md +25 -25
  320. package/library/skills/character-model/resource.yaml +36 -0
  321. package/{skills/2d-assets → library/skills}/character-portrait/SKILL.md +14 -14
  322. package/library/skills/character-portrait/resource.yaml +30 -0
  323. package/{skills/video → library/skills}/cinematic-cutscene/SKILL.md +2 -2
  324. package/library/skills/cinematic-cutscene/resource.yaml +29 -0
  325. package/{skills/2d-assets → library/skills}/concept-art/SKILL.md +15 -15
  326. package/library/skills/concept-art/resource.yaml +34 -0
  327. package/{skills/2d-assets → library/skills}/create-asset-sheet/SKILL.md +8 -8
  328. package/library/skills/create-asset-sheet/resource.yaml +33 -0
  329. package/{skills/debugging → library/skills}/debug/SKILL.md +3 -3
  330. package/library/skills/debug/resource.yaml +31 -0
  331. package/{skills/workflow → library/skills}/debugging-game-feel/SKILL.md +11 -11
  332. package/library/skills/debugging-game-feel/resource.yaml +25 -0
  333. package/{skills/level-design → library/skills}/design-level/SKILL.md +6 -6
  334. package/library/skills/design-level/resource.yaml +31 -0
  335. package/{skills/gameplay-mechanics → library/skills}/design-mechanic/SKILL.md +3 -3
  336. package/library/skills/design-mechanic/resource.yaml +31 -0
  337. package/{skills/ai-and-npcs → library/skills}/design-npc/SKILL.md +7 -3
  338. package/library/skills/design-npc/resource.yaml +29 -0
  339. package/{skills/workflow → library/skills}/diagnosing-perf-regressions/SKILL.md +10 -10
  340. package/library/skills/diagnosing-perf-regressions/resource.yaml +25 -0
  341. package/{skills/workflow → library/skills}/dispatching-parallel-agents/SKILL.md +8 -8
  342. package/library/skills/dispatching-parallel-agents/resource.yaml +23 -0
  343. package/library/skills/driving-the-editor-ui/SKILL.md +85 -0
  344. package/library/skills/driving-the-editor-ui/resource.yaml +46 -0
  345. package/{skills/3d-assets → library/skills}/environment-kit/SKILL.md +11 -11
  346. package/library/skills/environment-kit/resource.yaml +29 -0
  347. package/{skills/deployment → library/skills}/export-and-ship/SKILL.md +5 -5
  348. package/library/skills/export-and-ship/resource.yaml +32 -0
  349. package/library/skills/fabricating-assets/SKILL.md +195 -0
  350. package/library/skills/fabricating-assets/resource.yaml +52 -0
  351. package/{skills/animation → library/skills}/facial-and-lipsync/SKILL.md +23 -11
  352. package/library/skills/facial-and-lipsync/resource.yaml +36 -0
  353. package/{skills/character-controllers → library/skills}/fps-controller/SKILL.md +8 -4
  354. package/library/skills/fps-controller/resource.yaml +29 -0
  355. package/{skills/visual-effects → library/skills}/game-feel/SKILL.md +7 -7
  356. package/library/skills/game-feel/resource.yaml +27 -0
  357. package/library/skills/gameskill/SKILL.md +64 -0
  358. package/library/skills/gameskill/resource.yaml +22 -0
  359. package/library/skills/gdscript-patterns/resource.yaml +23 -0
  360. package/{skills/animation → library/skills}/generate-motion/SKILL.md +16 -16
  361. package/library/skills/generate-motion/resource.yaml +34 -0
  362. package/library/skills/godogen-visual-proof-game-generation/SKILL.md +223 -0
  363. package/library/skills/godogen-visual-proof-game-generation/resource.yaml +33 -0
  364. package/{skills/workflow → library/skills}/headless-scripting/SKILL.md +14 -7
  365. package/library/skills/headless-scripting/resource.yaml +26 -0
  366. package/{skills/multiplayer-and-networking → library/skills}/host-authoritative-state/SKILL.md +1 -1
  367. package/library/skills/host-authoritative-state/resource.yaml +28 -0
  368. package/{skills/2d-assets → library/skills}/instantiate-asset-pack/SKILL.md +10 -12
  369. package/library/skills/instantiate-asset-pack/resource.yaml +29 -0
  370. package/{skills/workflow → library/skills}/investigating-bugs/SKILL.md +4 -4
  371. package/{skills/workflow → library/skills}/investigating-bugs/condition-based-waiting.md +8 -8
  372. package/library/skills/investigating-bugs/resource.yaml +24 -0
  373. package/{skills/workflow → library/skills}/investigating-bugs/root-cause-tracing.md +1 -7
  374. package/library/skills/lumera-single-image-scene-reconstruction/SKILL.md +164 -0
  375. package/library/skills/lumera-single-image-scene-reconstruction/resource.yaml +35 -0
  376. package/{skills/scene-and-project → library/skills}/make-game/SKILL.md +23 -23
  377. package/library/skills/make-game/resource.yaml +35 -0
  378. package/library/skills/music-track/resource.yaml +28 -0
  379. package/library/skills/navigate-summer/SKILL.md +61 -0
  380. package/library/skills/navigate-summer/resource.yaml +35 -0
  381. package/{skills/scene-and-project → library/skills}/new-project/SKILL.md +10 -10
  382. package/library/skills/new-project/resource.yaml +28 -0
  383. package/{skills/3d-assets → library/skills}/organic-model/SKILL.md +16 -16
  384. package/library/skills/organic-model/resource.yaml +32 -0
  385. package/{skills/multiplayer-and-networking → library/skills}/peer-to-peer-multiplayer/SKILL.md +2 -2
  386. package/library/skills/peer-to-peer-multiplayer/resource.yaml +28 -0
  387. package/{skills/2d-assets → library/skills}/pixel-art/SKILL.md +13 -13
  388. package/library/skills/pixel-art/resource.yaml +31 -0
  389. package/library/skills/play/resource.yaml +26 -0
  390. package/{skills/workflow → library/skills}/playtesting-a-feature/SKILL.md +41 -22
  391. package/library/skills/playtesting-a-feature/resource.yaml +31 -0
  392. package/{skills/animation → library/skills}/procedural-animation/SKILL.md +25 -10
  393. package/library/skills/procedural-animation/resource.yaml +33 -0
  394. package/{skills/3d-assets → library/skills}/prop-model/SKILL.md +13 -13
  395. package/library/skills/prop-model/resource.yaml +33 -0
  396. package/library/skills/psx-retro-rendering/SKILL.md +416 -0
  397. package/library/skills/psx-retro-rendering/resource.yaml +36 -0
  398. package/library/skills/realtime-wet-surfaces/SKILL.md +189 -0
  399. package/library/skills/realtime-wet-surfaces/resource.yaml +31 -0
  400. package/{skills/deployment → library/skills}/remote-deploy/SKILL.md +3 -3
  401. package/library/skills/remote-deploy/resource.yaml +23 -0
  402. package/{skills/animation → library/skills}/retarget/SKILL.md +15 -14
  403. package/library/skills/retarget/resource.yaml +33 -0
  404. package/library/skills/running-in-the-cloud/SKILL.md +103 -0
  405. package/library/skills/running-in-the-cloud/resource.yaml +33 -0
  406. package/{skills/scene-and-project → library/skills}/scene-composition/SKILL.md +9 -1
  407. package/library/skills/scene-composition/resource.yaml +27 -0
  408. package/library/skills/scene-hierarchy-design/SKILL.md +102 -0
  409. package/library/skills/scene-hierarchy-design/resource.yaml +31 -0
  410. package/library/skills/scene-scripting/SKILL.md +764 -0
  411. package/library/skills/scene-scripting/resource.yaml +58 -0
  412. package/{skills/level-design → library/skills}/scene-to-level/SKILL.md +16 -17
  413. package/library/skills/scene-to-level/resource.yaml +33 -0
  414. package/{skills/multiplayer-and-networking → library/skills}/setup-multiplayer/SKILL.md +1 -1
  415. package/library/skills/setup-multiplayer/resource.yaml +28 -0
  416. package/library/skills/skill-create/SKILL.md +138 -0
  417. package/library/skills/skill-create/resource.yaml +25 -0
  418. package/{skills/workflow → library/skills}/skill-improve/SKILL.md +2 -2
  419. package/library/skills/skill-improve/resource.yaml +25 -0
  420. package/{skills/workflow → library/skills}/skill-test/SKILL.md +4 -4
  421. package/library/skills/skill-test/resource.yaml +26 -0
  422. package/library/skills/skintokens-auto-rigging/SKILL.md +200 -0
  423. package/library/skills/skintokens-auto-rigging/resource.yaml +38 -0
  424. package/{skills/2d-assets → library/skills}/skybox-panorama/SKILL.md +8 -8
  425. package/library/skills/skybox-panorama/resource.yaml +28 -0
  426. package/{skills/audio → library/skills}/sound-effect/SKILL.md +2 -2
  427. package/library/skills/sound-effect/resource.yaml +27 -0
  428. package/library/skills/spatial-placement/SKILL.md +74 -0
  429. package/library/skills/spatial-placement/resource.yaml +42 -0
  430. package/library/skills/spatial-placement/tests/spec.md +65 -0
  431. package/{skills/2d-assets → library/skills}/sprite-sheet/SKILL.md +12 -12
  432. package/library/skills/sprite-sheet/resource.yaml +32 -0
  433. package/{skills/2d-assets → library/skills}/tileable-texture/SKILL.md +9 -9
  434. package/library/skills/tileable-texture/resource.yaml +31 -0
  435. package/{skills/video → library/skills}/trailer-shot/SKILL.md +1 -1
  436. package/library/skills/trailer-shot/resource.yaml +27 -0
  437. package/{skills/performance → library/skills}/tune-performance/SKILL.md +6 -6
  438. package/library/skills/tune-performance/resource.yaml +31 -0
  439. package/{skills/ui-and-ux → library/skills}/ui-basics/SKILL.md +1 -1
  440. package/library/skills/ui-basics/resource.yaml +25 -0
  441. package/{skills/2d-assets → library/skills}/ui-graphics/SKILL.md +11 -11
  442. package/library/skills/ui-graphics/resource.yaml +29 -0
  443. package/{skills/2d-assets → library/skills}/use-widget-asset/SKILL.md +4 -4
  444. package/library/skills/use-widget-asset/resource.yaml +29 -0
  445. package/{skills/workflow → library/skills}/using-summer/SKILL.md +12 -9
  446. package/library/skills/using-summer/resource.yaml +41 -0
  447. package/{skills/3d-assets → library/skills}/vehicle-model/SKILL.md +18 -18
  448. package/library/skills/vehicle-model/resource.yaml +34 -0
  449. package/{skills/workflow → library/skills}/verification-before-completion/SKILL.md +10 -10
  450. package/library/skills/verification-before-completion/resource.yaml +23 -0
  451. package/library/skills/verifying-scenes/SKILL.md +98 -0
  452. package/library/skills/verifying-scenes/resource.yaml +42 -0
  453. package/{skills/visual-effects/recipes/dissolve → library/skills/vfx-dissolve}/SKILL.md +31 -11
  454. package/library/skills/vfx-dissolve/resource.yaml +33 -0
  455. package/{skills/visual-effects/recipes/fire → library/skills/vfx-fire}/SKILL.md +43 -12
  456. package/library/skills/vfx-fire/_building-blocks/noise-3d-fbm.gdshaderinc +45 -0
  457. package/library/skills/vfx-fire/resource.yaml +35 -0
  458. package/{skills/visual-effects/recipes/hit-spark → library/skills/vfx-hit-spark}/SKILL.md +16 -10
  459. package/library/skills/vfx-hit-spark/_building-blocks/additive-billboard-particles.md +37 -0
  460. package/library/skills/vfx-hit-spark/resource.yaml +34 -0
  461. package/{skills/visual-effects/recipes/lightning → library/skills/vfx-lightning}/SKILL.md +24 -11
  462. package/library/skills/vfx-lightning/_building-blocks/additive-billboard-particles.md +37 -0
  463. package/library/skills/vfx-lightning/resource.yaml +33 -0
  464. package/{skills/visual-effects/recipes/magic-glow → library/skills/vfx-magic-glow}/SKILL.md +31 -11
  465. package/library/skills/vfx-magic-glow/_building-blocks/additive-billboard-particles.md +37 -0
  466. package/library/skills/vfx-magic-glow/resource.yaml +34 -0
  467. package/{skills/visual-effects/recipes/muzzle-flash → library/skills/vfx-muzzle-flash}/SKILL.md +29 -9
  468. package/library/skills/vfx-muzzle-flash/_building-blocks/additive-billboard-particles.md +37 -0
  469. package/library/skills/vfx-muzzle-flash/_building-blocks/trauma-shake-snippet.md +53 -0
  470. package/library/skills/vfx-muzzle-flash/resource.yaml +35 -0
  471. package/{skills/visual-effects/recipes/smoke → library/skills/vfx-smoke}/SKILL.md +35 -9
  472. package/library/skills/vfx-smoke/_building-blocks/noise-3d-fbm.gdshaderinc +45 -0
  473. package/library/skills/vfx-smoke/resource.yaml +32 -0
  474. package/{skills/visual-effects/recipes/water-ripple → library/skills/vfx-water-ripple}/SKILL.md +31 -9
  475. package/library/skills/vfx-water-ripple/_building-blocks/additive-billboard-particles.md +37 -0
  476. package/library/skills/vfx-water-ripple/resource.yaml +31 -0
  477. package/library/skills/voice-line/resource.yaml +27 -0
  478. package/library/skills/world-building-3d/SKILL.md +105 -0
  479. package/library/skills/world-building-3d/references/spatial-tools.md +50 -0
  480. package/library/skills/world-building-3d/resource.yaml +44 -0
  481. package/library/skills/world-building-3d/tests/spec.md +48 -0
  482. package/{skills/workflow → library/skills}/writing-plans/SKILL.md +19 -14
  483. package/library/skills/writing-plans/resource.yaml +23 -0
  484. package/{skills/workflow → library/skills}/writing-skills/SKILL.md +38 -44
  485. package/library/skills/writing-skills/resource.yaml +29 -0
  486. package/{skills/workflow → library/skills}/writing-skills/testing-skills-with-subagents.md +13 -14
  487. package/library/templates/2d-brario-platformer/resource.yaml +21 -0
  488. package/library/templates/2d-dungeon-roguelike/resource.yaml +23 -0
  489. package/library/templates/2d-grid-puzzle/resource.yaml +21 -0
  490. package/library/templates/2d-plants-and-zombies-tower-defense/resource.yaml +21 -0
  491. package/library/templates/2d-platformer/resource.yaml +24 -0
  492. package/library/templates/2d-rpg/resource.yaml +21 -0
  493. package/library/templates/2d-vampire-survivor-roguelike/resource.yaml +21 -0
  494. package/library/templates/3d-basic/resource.yaml +16 -0
  495. package/library/templates/3d-city-kit/resource.yaml +24 -0
  496. package/library/templates/3d-fps-old-school/resource.yaml +21 -0
  497. package/library/templates/3d-fps-simple-animated-npc/resource.yaml +21 -0
  498. package/library/templates/3d-lan-multiplayer-starter/resource.yaml +22 -0
  499. package/library/templates/3d-open-world-explore-tps/resource.yaml +21 -0
  500. package/library/templates/3d-procedural-road-world/resource.yaml +21 -0
  501. package/library/templates/3d-racing-game/resource.yaml +21 -0
  502. package/library/templates/3d-royale-clash-type/resource.yaml +21 -0
  503. package/library/templates/3d-third-person-controller/resource.yaml +21 -0
  504. package/library/templates/3d-voxel-sandbox/resource.yaml +24 -0
  505. package/library/templates/README.md +94 -0
  506. package/library/templates/empty/resource.yaml +16 -0
  507. package/library/tools/add-node/resource.yaml +60 -0
  508. package/library/tools/align-distribute-3d/resource.yaml +87 -0
  509. package/library/tools/api-docs/resource.yaml +57 -0
  510. package/library/tools/batch/resource.yaml +52 -0
  511. package/library/tools/camera-bookmark/resource.yaml +73 -0
  512. package/library/tools/check-job/resource.yaml +45 -0
  513. package/library/tools/clear-console/resource.yaml +40 -0
  514. package/library/tools/connect-signal/resource.yaml +63 -0
  515. package/library/tools/create-debug-report/resource.yaml +67 -0
  516. package/library/tools/create-scene/resource.yaml +59 -0
  517. package/library/tools/creator-config/resource.yaml +63 -0
  518. package/library/tools/creator-publish/resource.yaml +73 -0
  519. package/library/tools/creator-releases/resource.yaml +53 -0
  520. package/library/tools/fabricate-3d/resource.yaml +108 -0
  521. package/library/tools/game-control/resource.yaml +84 -0
  522. package/library/tools/game-input/resource.yaml +159 -0
  523. package/library/tools/game-probe/resource.yaml +90 -0
  524. package/library/tools/generate-3d/resource.yaml +112 -0
  525. package/library/tools/generate-audio/resource.yaml +80 -0
  526. package/library/tools/generate-image/resource.yaml +62 -0
  527. package/library/tools/generate-motion/resource.yaml +66 -0
  528. package/library/tools/generate-video/resource.yaml +66 -0
  529. package/library/tools/get-agent-playbook/resource.yaml +40 -0
  530. package/library/tools/get-asset/resource.yaml +42 -0
  531. package/library/tools/get-asset-download-url/resource.yaml +52 -0
  532. package/library/tools/get-console/resource.yaml +69 -0
  533. package/library/tools/get-debugger-errors/resource.yaml +56 -0
  534. package/library/tools/get-debugger-warnings/resource.yaml +52 -0
  535. package/library/tools/get-diagnostics/resource.yaml +42 -0
  536. package/library/tools/get-project-context/resource.yaml +45 -0
  537. package/library/tools/get-runtime-tree/resource.yaml +62 -0
  538. package/library/tools/get-scene-tree/resource.yaml +52 -0
  539. package/library/tools/get-script-errors/resource.yaml +45 -0
  540. package/library/tools/get-studio-workflow/resource.yaml +43 -0
  541. package/library/tools/import-asset/resource.yaml +73 -0
  542. package/library/tools/import-asset-by-id/resource.yaml +56 -0
  543. package/library/tools/import-from-url/resource.yaml +51 -0
  544. package/library/tools/import-from-url-batch/resource.yaml +60 -0
  545. package/library/tools/import-hdri/resource.yaml +69 -0
  546. package/library/tools/input-map-bind/resource.yaml +52 -0
  547. package/library/tools/inspect-node/resource.yaml +46 -0
  548. package/library/tools/inspect-resource/resource.yaml +45 -0
  549. package/library/tools/inspect-runtime-node/resource.yaml +54 -0
  550. package/library/tools/instantiate-scene/resource.yaml +62 -0
  551. package/library/tools/is-running/resource.yaml +40 -0
  552. package/library/tools/library-feedback/resource.yaml +89 -0
  553. package/library/tools/list-my-assets/resource.yaml +56 -0
  554. package/library/tools/navigation-probe/resource.yaml +85 -0
  555. package/library/tools/open/resource.yaml +80 -0
  556. package/library/tools/open-main-scene/resource.yaml +40 -0
  557. package/library/tools/open-scene/resource.yaml +46 -0
  558. package/library/tools/play/resource.yaml +91 -0
  559. package/library/tools/project-setting/resource.yaml +53 -0
  560. package/library/tools/read-file/resource.yaml +47 -0
  561. package/library/tools/read-library/resource.yaml +67 -0
  562. package/library/tools/recent-events/resource.yaml +71 -0
  563. package/library/tools/remove-node/resource.yaml +51 -0
  564. package/library/tools/replace-node/resource.yaml +57 -0
  565. package/library/tools/replace-text/resource.yaml +61 -0
  566. package/library/tools/run-editor-script/resource.yaml +61 -0
  567. package/library/tools/run-script/resource.yaml +73 -0
  568. package/library/tools/runtime-animate/resource.yaml +140 -0
  569. package/library/tools/runtime-call/resource.yaml +74 -0
  570. package/library/tools/runtime-set/resource.yaml +80 -0
  571. package/library/tools/runtime-spawn/resource.yaml +95 -0
  572. package/library/tools/save-scene/resource.yaml +50 -0
  573. package/library/tools/screenshot/resource.yaml +112 -0
  574. package/library/tools/search-assets/resource.yaml +67 -0
  575. package/library/tools/search-library/resource.yaml +81 -0
  576. package/library/tools/select-node/resource.yaml +48 -0
  577. package/library/tools/set-prop/resource.yaml +64 -0
  578. package/library/tools/set-resource-property/resource.yaml +66 -0
  579. package/library/tools/slice-asset-sheet/resource.yaml +47 -0
  580. package/library/tools/snap-to-surface/resource.yaml +90 -0
  581. package/library/tools/snapshot-diff/resource.yaml +58 -0
  582. package/library/tools/starcast/resource.yaml +120 -0
  583. package/library/tools/start-game-task/resource.yaml +91 -0
  584. package/library/tools/stop/resource.yaml +51 -0
  585. package/library/tools/test-placement/resource.yaml +109 -0
  586. package/library/tools/ui-actions/resource.yaml +77 -0
  587. package/library/tools/ui-activate/resource.yaml +88 -0
  588. package/library/tools/ui-screenshot/resource.yaml +63 -0
  589. package/library/tools/ui-tree/resource.yaml +69 -0
  590. package/library/tools/wait-for-event/resource.yaml +84 -0
  591. package/library/tools/world-snapshot/resource.yaml +60 -0
  592. package/library/tools/write-file/resource.yaml +54 -0
  593. package/package.json +22 -16
  594. package/registry/generated/aliases.json +207 -0
  595. package/registry/generated/counts.json +12 -0
  596. package/registry/generated/gemini-extension.json +122 -0
  597. package/registry/generated/index.json +7709 -0
  598. package/registry/generated/marketplace.claude.json +44 -0
  599. package/registry/generated/mcp.json +13 -0
  600. package/registry/generated/plugin.claude.json +135 -0
  601. package/registry/generated/plugin.codex.json +144 -0
  602. package/registry/generated/plugin.cursor.json +134 -0
  603. package/registry/generated/plugin.factory.json +117 -0
  604. package/registry/generated/skills-registry.json +851 -0
  605. package/registry/generated/templates-registry.json +455 -0
  606. package/registry/schemas/allowed-hosts.json +19 -0
  607. package/registry/schemas/collection.schema.json +68 -0
  608. package/registry/schemas/domains.json +96 -0
  609. package/registry/schemas/example.schema.json +11 -0
  610. package/registry/schemas/reference.schema.json +10 -0
  611. package/registry/schemas/resource.schema.json +154 -0
  612. package/registry/schemas/skill.schema.json +14 -0
  613. package/registry/schemas/template.schema.json +46 -0
  614. package/registry/schemas/tool.schema.json +61 -0
  615. package/_persona/summer/SKILL.md +0 -113
  616. package/dist/bin/postinstall.d.ts +0 -2
  617. package/dist/bin/postinstall.js +0 -3
  618. package/dist/commands/cloud.d.ts +0 -2
  619. package/dist/commands/cloud.js +0 -80
  620. package/dist/commands/create.d.ts +0 -3
  621. package/dist/commands/create.js +0 -171
  622. package/dist/commands/install.d.ts +0 -19
  623. package/dist/commands/install.js +0 -194
  624. package/dist/commands/list.js +0 -67
  625. package/dist/commands/logout.js +0 -13
  626. package/dist/commands/logs.d.ts +0 -2
  627. package/dist/commands/logs.js +0 -19
  628. package/dist/commands/open.d.ts +0 -2
  629. package/dist/commands/open.js +0 -32
  630. package/dist/commands/orchestrator.d.ts +0 -8
  631. package/dist/commands/orchestrator.js +0 -143
  632. package/dist/commands/run.d.ts +0 -2
  633. package/dist/commands/run.js +0 -167
  634. package/dist/commands/status.js +0 -46
  635. package/dist/lib/banner.d.ts +0 -4
  636. package/dist/lib/banner.js +0 -122
  637. package/dist/lib/cloud/api.d.ts +0 -79
  638. package/dist/lib/cloud/api.js +0 -107
  639. package/dist/lib/cloud/apply.d.ts +0 -32
  640. package/dist/lib/cloud/apply.js +0 -294
  641. package/dist/lib/cloud/checkpoint.d.ts +0 -26
  642. package/dist/lib/cloud/checkpoint.js +0 -142
  643. package/dist/lib/cloud/conflicts.d.ts +0 -55
  644. package/dist/lib/cloud/conflicts.js +0 -131
  645. package/dist/lib/cloud/containment.d.ts +0 -8
  646. package/dist/lib/cloud/containment.js +0 -52
  647. package/dist/lib/cloud/diff.d.ts +0 -39
  648. package/dist/lib/cloud/diff.js +0 -138
  649. package/dist/lib/cloud/engine-bridge.d.ts +0 -34
  650. package/dist/lib/cloud/engine-bridge.js +0 -139
  651. package/dist/lib/cloud/hash-cache.d.ts +0 -23
  652. package/dist/lib/cloud/hash-cache.js +0 -44
  653. package/dist/lib/cloud/hash.d.ts +0 -10
  654. package/dist/lib/cloud/hash.js +0 -111
  655. package/dist/lib/cloud/http.d.ts +0 -17
  656. package/dist/lib/cloud/http.js +0 -47
  657. package/dist/lib/cloud/lock-path.d.ts +0 -1
  658. package/dist/lib/cloud/lock-path.js +0 -5
  659. package/dist/lib/cloud/lock.d.ts +0 -14
  660. package/dist/lib/cloud/lock.js +0 -143
  661. package/dist/lib/cloud/manifest.d.ts +0 -6
  662. package/dist/lib/cloud/manifest.js +0 -41
  663. package/dist/lib/cloud/paths.d.ts +0 -20
  664. package/dist/lib/cloud/paths.js +0 -90
  665. package/dist/lib/cloud/project-godot-merge.d.ts +0 -32
  666. package/dist/lib/cloud/project-godot-merge.js +0 -185
  667. package/dist/lib/cloud/rules.d.ts +0 -39
  668. package/dist/lib/cloud/rules.js +0 -159
  669. package/dist/lib/cloud/sync.d.ts +0 -21
  670. package/dist/lib/cloud/sync.js +0 -518
  671. package/dist/lib/cloud/transfer.d.ts +0 -23
  672. package/dist/lib/cloud/transfer.js +0 -184
  673. package/dist/lib/cloud/types.d.ts +0 -62
  674. package/dist/lib/cloud/types.js +0 -1
  675. package/dist/lib/cloud/validate-path.d.ts +0 -23
  676. package/dist/lib/cloud/validate-path.js +0 -103
  677. package/dist/lib/engine.d.ts +0 -51
  678. package/dist/lib/game-task-plan.d.ts +0 -42
  679. package/dist/lib/project-memory.d.ts +0 -33
  680. package/dist/lib/public-surface-paths.d.ts +0 -13
  681. package/dist/lib/public-surface-paths.js +0 -42
  682. package/dist/lib/remote-templates.d.ts +0 -25
  683. package/dist/lib/remote-templates.js +0 -86
  684. package/dist/lib/skills-registry.d.ts +0 -572
  685. package/dist/lib/skills-registry.js +0 -1061
  686. package/dist/lib/version-check.d.ts +0 -106
  687. package/dist/mcp/tools/cloud-tools.js +0 -42
  688. package/references/mcp-tools-reference.md +0 -199
  689. package/references/template-registry.md +0 -73
  690. package/skills/README.md +0 -103
  691. package/skills/scene-and-project/summer-cloud/SKILL.md +0 -92
  692. package/skills/workflow/brainstorming/scripts/frame-template.html +0 -214
  693. package/skills/workflow/brainstorming/scripts/helper.js +0 -88
  694. package/skills/workflow/brainstorming/scripts/server.cjs +0 -354
  695. package/skills/workflow/brainstorming/scripts/start-server.sh +0 -148
  696. package/skills/workflow/brainstorming/scripts/stop-server.sh +0 -56
  697. package/skills/workflow/brainstorming/visual-companion.md +0 -287
  698. package/skills/workflow/gameskill/SKILL.md +0 -120
  699. package/skills/workflow/investigating-bugs/CREATION-LOG.md +0 -119
  700. package/skills/workflow/investigating-bugs/condition-based-waiting-example.ts +0 -158
  701. package/skills/workflow/investigating-bugs/find-polluter.sh +0 -63
  702. package/skills/workflow/investigating-bugs/test-academic.md +0 -14
  703. package/skills/workflow/investigating-bugs/test-pressure-1.md +0 -58
  704. package/skills/workflow/investigating-bugs/test-pressure-2.md +0 -68
  705. package/skills/workflow/investigating-bugs/test-pressure-3.md +0 -69
  706. package/skills/workflow/mcpupdate/SKILL.md +0 -134
  707. package/skills/workflow/skill-create/SKILL.md +0 -153
  708. package/skills/workflow/writing-skills/anthropic-best-practices.md +0 -1150
  709. package/skills/workflow/writing-skills/examples/CLAUDE_MD_TESTING.md +0 -189
  710. package/skills/workflow/writing-skills/graphviz-conventions.dot +0 -172
  711. package/skills/workflow/writing-skills/persuasion-principles.md +0 -187
  712. package/skills/workflow/writing-skills/render-graphs.js +0 -168
  713. /package/dist/{commands → cli/commands}/config.d.ts +0 -0
  714. /package/dist/{commands → cli/commands}/debug.d.ts +0 -0
  715. /package/dist/{commands → cli/commands}/list.d.ts +0 -0
  716. /package/dist/{commands → cli/commands}/login.d.ts +0 -0
  717. /package/dist/{commands → cli/commands}/plan.d.ts +0 -0
  718. /package/dist/{commands → cli/commands}/publish.d.ts +0 -0
  719. /package/dist/{commands → cli/commands}/releases.d.ts +0 -0
  720. /package/dist/{commands → cli/commands}/setup.d.ts +0 -0
  721. /package/dist/{commands → cli/commands}/skills.d.ts +0 -0
  722. /package/dist/{lib → core}/log-filters.d.ts +0 -0
  723. /package/dist/{lib → core}/mcp-log.d.ts +0 -0
  724. /package/dist/{lib → core}/store.d.ts +0 -0
  725. /package/dist/{lib → core}/summer-compatibility.d.ts +0 -0
  726. /package/dist/{lib → core}/telemetry.d.ts +0 -0
  727. /package/dist/{lib/mcp-boot-notice.js → mcp/boot-notice.js} +0 -0
  728. /package/dist/{commands/mcp.d.ts → mcp/command.d.ts} +0 -0
  729. /package/{references → library/references/collaborative-protocol}/collaborative-protocol.md +0 -0
  730. /package/{references → library/references/gd-style}/gd-style.md +0 -0
  731. /package/{skills/audio → library/skills}/ambient-bed/SKILL.md +0 -0
  732. /package/{skills/gameplay-mechanics → library/skills}/auto-fire-targeting/SKILL.md +0 -0
  733. /package/{skills/scripting-patterns → library/skills}/gdscript-patterns/SKILL.md +0 -0
  734. /package/{skills/scripting-patterns → library/skills}/gdscript-patterns/reference.md +0 -0
  735. /package/{skills/workflow → library/skills}/investigating-bugs/defense-in-depth.md +0 -0
  736. /package/{skills/audio → library/skills}/music-track/SKILL.md +0 -0
  737. /package/{skills/scene-and-project → library/skills}/play/SKILL.md +0 -0
  738. /package/{skills/visual-effects → library/skills/vfx-dissolve}/_building-blocks/noise-3d-fbm.gdshaderinc +0 -0
  739. /package/{skills/visual-effects → library/skills/vfx-fire}/_building-blocks/additive-billboard-particles.md +0 -0
  740. /package/{skills/visual-effects → library/skills/vfx-lightning}/_building-blocks/trauma-shake-snippet.md +0 -0
  741. /package/{skills/audio → library/skills}/voice-line/SKILL.md +0 -0
  742. /package/{skills/workflow → library/skills}/writing-plans/plan-document-reviewer-prompt.md +0 -0
@@ -0,0 +1,26 @@
1
+ id: skill/play
2
+ kind: skill
3
+ version: 1.0.2
4
+ summary: Run the project in Summer Engine, wait briefly, then report what's happening — clean run, errors, or warnings.
5
+ use_when:
6
+ - the user says 'play', 'run it', 'test it', 'let me see it', or 'start the game'
7
+ - checking that the project still starts and runs cleanly right after a change
8
+ facets:
9
+ lifecycle:
10
+ - build
11
+ domains:
12
+ - scenes
13
+ - project
14
+ modalities:
15
+ - project
16
+ compatibility:
17
+ engine: ">=4.6"
18
+ related:
19
+ skills:
20
+ - skill/debug
21
+ source: official
22
+ license: MIT
23
+ status: stable
24
+ recommended: true
25
+ aliases:
26
+ - skills/scene-and-project/play
@@ -13,9 +13,9 @@ A game feature is not done because it compiles. It is not done because the tests
13
13
 
14
14
  This skill governs the play-the-game layer of verification. It does not replace:
15
15
 
16
- - `summer:verification-before-completion` — type checks, build output, test runs. Run that for the code layer.
17
- - `summer:debug` — operational triage when a feature is actively broken or crashing.
18
- - `summer:investigating-bugs` — root-cause analysis once a specific bug is reproducible.
16
+ - `verification-before-completion` — type checks, build output, test runs. Run that for the code layer.
17
+ - `debug` — operational triage when a feature is actively broken or crashing.
18
+ - `investigating-bugs` — root-cause analysis once a specific bug is reproducible.
19
19
 
20
20
  Use those skills first if they apply. This skill runs **after** code-level verification, **before** telling the user the feature is done.
21
21
 
@@ -33,6 +33,8 @@ If you have not, in this session, driven the feature and read back what happened
33
33
 
34
34
  **You walk the feature. Not the user.** A `RunVerification` probe presses your game's real inputs, reads state back across frames, and saves real rendered frames. Handing the walkthrough to the user is a last resort for things a probe genuinely cannot judge — see [What only a human can answer](#what-only-a-human-can-answer) — not the default.
35
35
 
36
+ On an engine build with the runtime-control ops (`summer_game_probe`, `summer_game_input`, `summer_game_control`, `summer_runtime_*`), drive the LIVE game instead of a hidden probe: deterministic launch, frame-stamped probe before and after every action, exact frame steps. That doctrine is the `agent-playtesting` skill; this skill's probe loop below is the path when those tools answer `engine_lacks_op`.
37
+
36
38
  ## The Loop
37
39
 
38
40
  ```
@@ -96,9 +98,9 @@ Four rules the probe API will punish you for breaking:
96
98
  - **`press()` and `key()` are coroutines.** `await press("jump", 50)` — calling them bare starts the press and never releases it. You also cannot store one in a variable and await it later; it returns void.
97
99
  - **Assert on physics-frame-derived state.** `await get_tree().physics_frame` N times, then read positions. That is reproducible run to run.
98
100
  - **Assert inequalities, never exact values.** `press(hold_ms)` waits on the wall clock, so the number of physics frames a key is held drifts between runs — the same walk lands on x=245 one run and x=250 the next. `position.x > start.x + 50` is a real assertion; `position.x == 250.0` is a flaky test you wrote yourself.
99
- - **The global RNG is not seeded.** Anything downstream of `randf()` differs every run. Assert ranges, or seed it yourself in the probe.
101
+ - **The global RNG is not seeded by default.** Anything downstream of `randf()` differs every run. Assert ranges, seed it yourself in the probe, or pin the launch — see [Deterministic runs](#deterministic-runs).
100
102
 
101
- If the probe cannot express the check — no `SummerProbeBase` in this build, or a genuinely out-of-process feature — fall back to `summer_play` + console reads:
103
+ If the probe cannot express the check — no `SummerProbeBase` in this build, or a genuinely out-of-process feature — fall back to `summer_play` + diagnostics reads:
102
104
 
103
105
  ```
104
106
  summer_clear_console
@@ -108,25 +110,29 @@ If the probe cannot express the check — no `SummerProbeBase` in this build, or
108
110
 
109
111
  `summer_clear_console` first so the buffer is not polluted by a previous session's errors. If you skip this, you will chase ghost errors that have nothing to do with the current feature.
110
112
 
113
+ Boot time varies, so do not sleep a guessed delay after `summer_play`. On engines with the events channel: `summer_recent_events` (note `next_seq`) → `summer_play` → `summer_wait_for_event since:<next_seq> kinds:["play.started"]`, then wait on `script.error` during the walkthrough to catch runtime script errors the moment they fire. `engine_lacks_events` means the build predates the channel — confirm with `summer_is_running` and read the console as above. A `timed_out` wait is not proof the game failed to start; check, do not assume.
114
+
111
115
  ### 3. Read back what actually happened
112
116
 
113
- The probe's `results.json` is your primary evidence. Then check the editor's own view:
117
+ The probe's `results.json` is your primary evidence. Then read the editor's own view — in this order, because a played game's runtime errors are collected by the debugger and never reach the editor console:
114
118
 
115
119
  ```
116
- summer_get_console (look for unexpected prints, warnings)
117
- summer_get_debugger_errors (runtime errors caught mid-play)
118
- summer_get_diagnostics (overall counts)
120
+ summer_get_diagnostics (the verdict: console + debugger + script errors, complete counts)
121
+ summer_get_debugger_errors (the runtime errors themselves, with stacks)
122
+ summer_get_console (print() output and editor-side warnings — after the two above, never instead of them)
119
123
  ```
120
124
 
125
+ `summer_get_console` alone is never the verdict. Right after a play session that raised four runtime errors it honestly reports `errors 0`, because those errors live in the debugger; its result says so in `_scope`. A clean console proves only that nothing was printed to the editor log.
126
+
121
127
  A probe also collects engine errors itself — `results.json` carries `errors_seen`. Read it. An empty `reports` block with `finished: false` means the probe hit its `max_seconds` ceiling before calling `finish()`, which is a failure, not a pass.
122
128
 
123
- If anything is non-zero or unexpected, the feature is not done. Go to `summer:debug`.
129
+ If anything is non-zero or unexpected, the feature is not done. Go to `debug`.
124
130
 
125
131
  ### What only a human can answer
126
132
 
127
133
  A probe reports facts. It cannot hold an opinion. Ask the user only when the question is genuinely experiential:
128
134
 
129
- - **Does it feel right?** Floaty jumps, sluggish input, mushy hit feedback — see `summer:debugging-game-feel`.
135
+ - **Does it feel right?** Floaty jumps, sluggish input, mushy hit feedback — see `debugging-game-feel`.
130
136
  - **Does it look good?** Composition, colour, readability. A probe can prove a light exists and prove the frame is not black; it cannot tell you the scene is ugly.
131
137
  - **Is this fun?** Not a measurable property.
132
138
 
@@ -150,8 +156,9 @@ You do not need to probe every edge for every feature. Pick the 2-3 that are mos
150
156
  After the walkthrough and edge probes, capture one final snapshot:
151
157
 
152
158
  ```
153
- summer_get_diagnostics
154
- summer_get_console (if anything looked off)
159
+ summer_get_diagnostics (debugger.errors and console errors must both be 0)
160
+ summer_get_debugger_errors (if diagnostics shows any)
161
+ summer_get_console (if the printed output looked off)
155
162
  ```
156
163
 
157
164
  State the result in plain language:
@@ -160,7 +167,16 @@ State the result in plain language:
160
167
 
161
168
  Or:
162
169
 
163
- > "Played the chest-open feature: golden path works, but pressing E twice in 100ms duplicates the pickup. Not done — going to summer:debug."
170
+ > "Played the chest-open feature: golden path works, but pressing E twice in 100ms duplicates the pickup. Not done — going to debug."
171
+
172
+ ## Deterministic runs
173
+
174
+ When a bug only shows on some runs, or two runs must be compared, pin the launch (newer engines): `summer_play seed:42 fixed_fps:60` (optionally `time_scale`). The pins ride on THIS launch's command line only — nothing is persisted, and omitting them is exactly the plain launch.
175
+
176
+ - **`seed` pins the GLOBAL RNG only** — `randi`/`randf`/`randi_range`/`randf_range`/`randfn`, `Array.shuffle`, `Array.pick_random`, re-seeded after the scene tree initializes and before autoloads and the main scene. It does **not** pin `RandomNumberGenerator` instances (self-randomized on construction), scripts that call `randomize()` (re-randomizes the global RNG from the wall clock), `rand_from_seed` (caller-seeded), wall-clock reads, thread/IO timing, or audio-device timing. The result restates this as `determinism.seed_scope`; a feature that still diverges with a seed is using one of those.
177
+ - **`fixed_fps` decouples scene time from the wall clock** — the game runs as fast as it renders, and frame-count-derived state lands on the same frame run to run. Assertions can become exact where they were ranges.
178
+ - **Read `determinism.applied`.** `applied:false` carries a `reason`: `already_running` (stop first, the pins cannot reach a live process), `editor_run_args_override` (a user-configured run argument re-sets the same flag and wins — `conflicting_flag` names it), `launch_not_started`. A result with NO `determinism` block after you sent a pin means the engine predates the params — the tool says "not applied"; the run is NOT reproducible and you may not claim it is.
179
+ - A `RunVerification` probe pins the same two flags on its own instance; `summer_play` pins are for the embedded game you then read through `summer_get_runtime_tree` / `summer_inspect_runtime_node`.
164
180
 
165
181
  ## "Looks right" vs "is right"
166
182
 
@@ -170,7 +186,7 @@ A common failure mode: the feature visually looks correct on first try, you stop
170
186
 
171
187
  **Is right** means the rendered frame matches expectations AND the underlying state is consistent AND it survives repetition AND no errors are silently logged.
172
188
 
173
- The console catches "looks right but isn't right" cases — silent errors, deprecation warnings, signal misfires that don't crash but indicate a real bug. **Always read `summer_get_console` after a playthrough, even when the visuals looked fine.**
189
+ The debugger and the console catch "looks right but isn't right" cases — runtime errors that did not crash the game (debugger), deprecation warnings and signal misfires (console). **Always read `summer_get_diagnostics` after a playthrough, even when the visuals looked fine — and never let a clean `summer_get_console` stand in for it: the console does not receive a played game's runtime errors.**
174
190
 
175
191
  ## When to record video vs when console+diagnostics is enough
176
192
 
@@ -178,7 +194,7 @@ Your probe already produces the visual record: `save_frame()` writes a real rend
178
194
 
179
195
  Ask the user for a video or a live look only when:
180
196
 
181
- - The feature **feels wrong** — see `summer:debugging-game-feel`. Frame counts and console output cannot capture "the jump feels floaty."
197
+ - The feature **feels wrong** — see `debugging-game-feel`. Frame counts and console output cannot capture "the jump feels floaty."
182
198
  - The bug is **non-deterministic** and your probe cannot reproduce it after several attempts.
183
199
  - The judgement is aesthetic — see [What only a human can answer](#what-only-a-human-can-answer).
184
200
 
@@ -196,12 +212,15 @@ Don't ask reflexively. A saved frame sequence answers most "did it visually work
196
212
  | "I already played it in a previous session" | State changed. Verify in this session. |
197
213
  | "I'll let the user catch any issues" | That is the user's job description for a non-AI engineer. Yours is to ship working features. |
198
214
  | Skipping `summer_clear_console` before `summer_play` | You will chase last session's errors. |
215
+ | Sleeping a fixed delay after `summer_play` | Boot time varies. Wait for `play.started` with `summer_wait_for_event`, or confirm with `summer_is_running`. |
199
216
  | Skipping `summer_get_console` because diagnostics looked fine | Silent warnings and signal misfires hide there. |
217
+ | Calling `summer_get_console` alone as the post-play check | It never receives a played game's runtime errors; `errors 0` there proves nothing. Read `summer_get_diagnostics` / `summer_get_debugger_errors`. |
200
218
  | "The MCP can't simulate input, so the user has to test it" | False. `RunVerification` presses actions and keys. Write the probe. |
201
219
  | "I'll ask the user to press jump and tell me what happened" | You can press jump. They should not have to QA your work. |
202
220
  | Probe returned `finished: false`, you called it a pass | It hit `max_seconds` before `finish()`. That is a failure. |
203
221
  | Asserting `position.x == 250.0` in a probe | Hold time is wall-clock. Assert `> start.x + 50`. |
204
222
  | `press("jump", 50)` without `await` | It is a coroutine. The key is never released. |
223
+ | "I sent seed:42, so the run is reproducible" | Only if `determinism.applied` is true. An older engine ignores the pin and the tool says "not applied"; `seed` never pins `RandomNumberGenerator` instances or `randomize()` calls. |
205
224
 
206
225
  ## Rationalization Prevention
207
226
 
@@ -225,7 +244,7 @@ Don't ask reflexively. A saved frame sequence answers most "did it visually work
225
244
  --summer-verify-max 30
226
245
  ```
227
246
 
228
- Then read `<out-dir>/results.json` and the JPEGs beside it. The probe must extend the base class — copy `summer_probe_base.gd` into the project and `extends "res://summer_probe_base.gd"`, or use the project's `tests/autopilot/` scaffold if it has one. See `summer:headless-scripting` for the full pattern and its traps.
247
+ Then read `<out-dir>/results.json` and the JPEGs beside it. The probe must extend the base class — copy `summer_probe_base.gd` into the project and `extends "res://summer_probe_base.gd"`, or use the project's `tests/autopilot/` scaffold if it has one. See `headless-scripting` for the full pattern and its traps.
229
248
 
230
249
  So if `summer_play` returns "Summer Engine is not running":
231
250
 
@@ -237,10 +256,10 @@ So if `summer_play` returns "Summer Engine is not running":
237
256
 
238
257
  A game feature is a promise to the player. Verifying it means seeing the promise kept on screen, not seeing the code that would, in theory, keep it.
239
258
 
240
- Press play. Walk the path. Probe the edges. Read the console. Then claim done.
259
+ Press play. Walk the path. Probe the edges. Read the diagnostics. Then claim done.
241
260
 
242
261
  **Related skills:**
243
- - `summer:verification-before-completion` — the code-layer verification this skill builds on.
244
- - `summer:debug` — when the playtest surfaces a crash or error.
245
- - `summer:investigating-bugs` — when the playtest surfaces a reproducible logical bug.
246
- - `summer:debugging-game-feel` — when the feature works but feels wrong.
262
+ - `verification-before-completion` — the code-layer verification this skill builds on.
263
+ - `debug` — when the playtest surfaces a crash or error.
264
+ - `investigating-bugs` — when the playtest surfaces a reproducible logical bug.
265
+ - `debugging-game-feel` — when the feature works but feels wrong.
@@ -0,0 +1,31 @@
1
+ id: skill/playtesting-a-feature
2
+ kind: skill
3
+ version: 1.1.2
4
+ summary: "Before claiming a gameplay feature done: actually run the game and walk through the feature. Static diagnostics and type checks do not count."
5
+ use_when:
6
+ - about to claim a gameplay feature is done, shipped, or working — requires actually running the game and walking through the feature first
7
+ - a feature passes static diagnostics but nobody has actually run the game and exercised it yet
8
+ - a playtest must be reproducible run to run (pin the launch with seed / fixed_fps and read what the pin does and does not cover)
9
+ facets:
10
+ lifecycle:
11
+ - build
12
+ domains:
13
+ - agent-workflow
14
+ - verification
15
+ modalities:
16
+ - project
17
+ compatibility:
18
+ engine: ">=4.6"
19
+ related:
20
+ tools:
21
+ - tool/play
22
+ - tool/get-runtime-tree
23
+ - tool/inspect-runtime-node
24
+ skills:
25
+ - skill/agent-playtesting
26
+ source: official
27
+ license: MIT
28
+ status: stable
29
+ recommended: true
30
+ aliases:
31
+ - skills/workflow/playtesting-a-feature
@@ -5,7 +5,7 @@ license: MIT
5
5
  compatibility: [Cursor, Claude Code, Windsurf, Codex]
6
6
  category: animation
7
7
  user-invocable: false
8
- allowed-tools: Read Grep Edit Write summer_get_scene_tree summer_inspect_node summer_inspect_resource summer_add_node summer_set_prop summer_set_resource_property summer_save_scene summer_get_script_errors
8
+ allowed-tools: Read Grep Edit Write summer_get_scene_tree summer_inspect_node summer_inspect_resource summer_run_script summer_add_node summer_set_prop summer_set_resource_property summer_save_scene summer_get_script_errors
9
9
  paths: ["**/*.gd", "**/*.tscn", "**/*.tres"]
10
10
  ---
11
11
 
@@ -31,7 +31,7 @@ the contact frame and accept some clipping.
31
31
 
32
32
  - The clip already covers it. Don't IK what mocap already nailed — adds CPU cost and rounding error.
33
33
  - The character is far from the camera (LOD2+). Procedural cost outpaces visual benefit. Disable modifiers past 15m.
34
- - You need facial animation. That's `summer:animation/facial-and-lipsync`.
34
+ - You need facial animation. That's `facial-and-lipsync`.
35
35
  - You haven't generated base clips yet. Skeleton modifiers compose ON TOP of clips; without a base pose they'll stack on T-pose and look wrong.
36
36
 
37
37
  ## The three patterns
@@ -54,7 +54,21 @@ The skeleton hands off to physics on death. Bones become `PhysicalBone3D` rigid
54
54
 
55
55
  ### A1 — Head look-at the player
56
56
 
57
- The bread-and-butter NPC liveliness fix. Three lines of scene + one script function.
57
+ The bread-and-butter NPC liveliness fix.
58
+
59
+ **ctx lane (animation-tier engines):** one `summer_run_script` call creates the owned modifier and sets the props — prefer it over the 10-call CRUD chain below:
60
+
61
+ ```gdscript
62
+ func run(ctx):
63
+ var skel = ctx.find("NPC").find_children("*", "Skeleton3D", true, false)[0]
64
+ var mod := ctx.look_at_modifier(skel, ctx.find("Player"), {
65
+ "bone_name": "Head", "forward_axis": 2, "primary_rotation_axis": 1,
66
+ "use_secondary_rotation": true, "use_angle_limitation": true,
67
+ "symmetry_limitation": true, "primary_limit_angle": 1.4, "secondary_limit_angle": 1.0,
68
+ })
69
+ ```
70
+
71
+ Unknown prop names land in the `prop_warnings` report entry instead of failing silently — read it. On an older engine the helper is a plain script error; fall back to the structured ops:
58
72
 
59
73
  ```
60
74
  summer_inspect_node "./World/NPC/Skeleton3D" # confirm bone names
@@ -219,7 +233,7 @@ You need PhysicalBone3D children matching every major bone (set up once via the
219
233
 
220
234
  ## Anti-patterns
221
235
 
222
- - Writing `skel.set_bone_pose_position(...)` in `_process`. Bypasses the AnimationTree, fights it next frame, results in jitter. Use modifiers instead — they integrate with the pipeline.
236
+ - Writing `skel.set_bone_pose_position(...)` in `_process`. Bypasses the AnimationTree, fights it next frame, results in jitter. Use modifiers instead — they integrate with the pipeline. (Edit-time STILL poses — a corpse, a statue — are the exception: no tree is running, so `ctx.bone_pose(skel, bone, {position/rotation/scale})` on animation-tier engines, or `set_bone_pose_*` in a one-off `summer_run_script`, is exactly right. See `character-animation-wiring`.)
223
237
  - Putting IK targets in worldspace and forgetting they don't follow the character. Parent IK targets under the character root or bone — IK target is in the modifier's local space.
224
238
  - Procedural look-at without a fade-out at distance. Distant NPCs all snap to player every frame, looks like a hivemind.
225
239
  - Foot IK on flying / floating characters. Disable when `is_on_floor() == false`.
@@ -229,7 +243,7 @@ You need PhysicalBone3D children matching every major bone (set up once via the
229
243
  - **Character is mounted (riding a horse).** Disable foot IK on the rider; ride animation already sells the contact. Enable upper-body additive sway driven by horse acceleration.
230
244
  - **First-person hands.** Same modifier set, but only the arm chain is visible — disable head/spine modifiers, keep hand-on-prop IK.
231
245
  - **Character is a quadruped.** All four legs need foot IK. The bone names are different (`FrontLeftLeg`, `BackRightLeg`, etc.); inspect first.
232
- - **Network-synced ragdoll.** Don't simulate on every client. Simulate on the host, send bone transforms via `MultiplayerSynchronizer`, blend on receivers. Out of scope; see `summer:multiplayer-and-networking`.
246
+ - **Network-synced ragdoll.** Don't simulate on every client. Simulate on the host, send bone transforms via `MultiplayerSynchronizer`, blend on receivers. Out of scope; see `setup-multiplayer`.
233
247
 
234
248
  ## Fallback (no MCP)
235
249
 
@@ -239,11 +253,12 @@ driving them. Foot raycasts can be set up visually with a RayCast3D child.
239
253
 
240
254
  ## Handoff
241
255
 
242
- - For the AnimationTree these procedural layers compose with, `summer:animation/animation-tree`.
243
- - For the source clips that procedural overlays modify, `summer:animation/generate-motion`.
244
- - For face / lipsync (a different modifier family — BlendShapes, not bones), `summer:animation/facial-and-lipsync`.
245
- - For NPC behavior triggering ragdoll on death, `summer:ai-and-npcs/design-npc`.
246
- - For first-person aim sway / ADS, `summer:character-controllers/fps-controller`.
256
+ - For the end-to-end rigged-character wiring these layers sit on top of (locomotion, method-track events, root motion), `character-animation-wiring`.
257
+ - For the AnimationTree these procedural layers compose with, `animation-tree`.
258
+ - For the source clips that procedural overlays modify, `generate-motion`.
259
+ - For face / lipsync (a different modifier family — BlendShapes, not bones), `facial-and-lipsync`.
260
+ - For NPC behavior triggering ragdoll on death, `design-npc`.
261
+ - For first-person aim sway / ADS, `fps-controller`.
247
262
 
248
263
  ## See also
249
264
 
@@ -0,0 +1,33 @@
1
+ id: skill/procedural-animation
2
+ kind: skill
3
+ version: 1.0.3
4
+ summary: Runtime bone modification on top of clips — head look-at, foot IK, hand-grabs-prop, additive lean, recoil. Code-and-modifier patterns, not generation.
5
+ use_when:
6
+ - the user needs runtime-driven bone modification on top of clips — head look-at, foot IK on uneven ground, additive lean, hit recoil, ragdoll
7
+ - the character's feet float above or sink into stairs and slopes (foot placement)
8
+ facets:
9
+ lifecycle:
10
+ - build
11
+ domains:
12
+ - animation
13
+ - 3d
14
+ modalities:
15
+ - animation
16
+ - scripts
17
+ compatibility:
18
+ engine: ">=4.6"
19
+ related:
20
+ skills:
21
+ - skill/character-animation-wiring
22
+ - skill/design-npc
23
+ - skill/animation-tree
24
+ - skill/facial-and-lipsync
25
+ - skill/generate-motion
26
+ - skill/fps-controller
27
+ - skill/retarget
28
+ source: official
29
+ license: MIT
30
+ status: stable
31
+ recommended: false
32
+ aliases:
33
+ - skills/animation/procedural-animation
@@ -25,11 +25,11 @@ The backing tool is `summer_generate_3d`. Default model is `hunyuan` (Hunyuan 3D
25
25
 
26
26
  ## When NOT to use
27
27
 
28
- - Character / humanoid → `summer:3d-assets/character-model` (needs T-pose + rig pass).
29
- - A set of matching pieces (walls, floors, doors, pillars) → `summer:3d-assets/environment-kit` (style-locked family).
30
- - Trees, rocks, foliage → `summer:3d-assets/organic-model` (organic forgives AI artifacts; cheaper recipe).
31
- - Cars, ships, mechs → `summer:3d-assets/vehicle-model` (hard-surface specifics).
32
- - Walls / floors / repeating geometry → `summer:asset-pipeline/asset-strategy` Pipeline 2 (textures + CSG).
28
+ - Character / humanoid → `character-model` (needs T-pose + rig pass).
29
+ - A set of matching pieces (walls, floors, doors, pillars) → `environment-kit` (style-locked family).
30
+ - Trees, rocks, foliage → `organic-model` (organic forgives AI artifacts; cheaper recipe).
31
+ - Cars, ships, mechs → `vehicle-model` (hard-surface specifics).
32
+ - Walls / floors / repeating geometry → `asset-strategy` Pipeline 2 (textures + CSG).
33
33
  - "I just need a placeholder" → propose a primitive (`BoxMesh` / `CylinderMesh`) instead. Generation is metered.
34
34
 
35
35
  ## Steps
@@ -104,7 +104,7 @@ summer_save_scene(scenePath="res://main.tscn")
104
104
 
105
105
  For interactive props (chest the player opens, lantern the player picks up),
106
106
  wrap the instantiated model in a `StaticBody3D` (or `RigidBody3D` for physics
107
- props) with a `CollisionShape3D` sibling — see `summer:scene-composition` for
107
+ props) with a `CollisionShape3D` sibling — see `scene-composition` for
108
108
  the parent-shape pattern.
109
109
 
110
110
  ## Anti-patterns
@@ -135,13 +135,13 @@ assign the mesh.
135
135
  After the prop is wired:
136
136
 
137
137
  > `viking_axe.glb` imported and placed at `./World/Props/VikingAxe`. Next:
138
- > - For physics (player can knock it over), wrap in `RigidBody3D` + `CollisionShape3D` — see `summer:scene-composition`.
139
- > - For pickup interaction, see `summer:design-mechanic` for the pickup pattern.
140
- > - For matching props in the same style (chest → barrel → crate as a treasure-room kit), use `summer:3d-assets/environment-kit` with this prop as the style anchor.
138
+ > - For physics (player can knock it over), wrap in `RigidBody3D` + `CollisionShape3D` — see `scene-composition`.
139
+ > - For pickup interaction, see `design-mechanic` for the pickup pattern.
140
+ > - For matching props in the same style (chest → barrel → crate as a treasure-room kit), use `environment-kit` with this prop as the style anchor.
141
141
 
142
142
  ## See also
143
143
 
144
- - `summer:asset-pipeline/asset-strategy` — the meta-router that decides between this skill and Pipeline 2 (textures).
145
- - `summer:3d-assets/character-model` — for humanoids.
146
- - `summer:3d-assets/environment-kit` — for style-locked sets.
147
- - `../../../references/mcp-tools-reference.md` — `summer_generate_3d` parameter schema.
144
+ - `asset-strategy` — the meta-router that decides between this skill and Pipeline 2 (textures).
145
+ - `character-model` — for humanoids.
146
+ - `environment-kit` — for style-locked sets.
147
+ - `../../references/mcp-tools-reference/mcp-tools-reference.md` — `summer_generate_3d` parameter schema.
@@ -0,0 +1,33 @@
1
+ id: skill/prop-model
2
+ kind: skill
3
+ version: 1.0.3
4
+ summary: Generate a single static 3D prop — sword, barrel, chest, lantern, throne, statue — one isolated object, no rigging, wired as a MeshInstance3D.
5
+ use_when:
6
+ - generating a single static 3D prop — sword, barrel, chest, lantern, throne, statue, crate, key, potion, banner
7
+ - a scene needs one static object — furniture, weapon, container, decoration — as a MeshInstance3D without rigging
8
+ do_not_use_when:
9
+ - the object needs rigging or animation — that is character-model territory
10
+ facets:
11
+ lifecycle:
12
+ - build
13
+ domains:
14
+ - 3d
15
+ - assets
16
+ modalities:
17
+ - 3d-models
18
+ - scenes
19
+ compatibility:
20
+ engine: ">=4.6"
21
+ related:
22
+ skills:
23
+ - skill/character-model
24
+ - skill/environment-kit
25
+ - skill/organic-model
26
+ - skill/vehicle-model
27
+ - skill/asset-strategy
28
+ source: official
29
+ license: MIT
30
+ status: stable
31
+ recommended: true
32
+ aliases:
33
+ - skills/3d-assets/prop-model