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.
- package/.claude-plugin/marketplace.json +2 -13
- package/.claude-plugin/plugin.json +24 -22
- package/.codex-plugin/plugin.json +18 -22
- package/.cursor-plugin/plugin.json +8 -14
- package/.factory-plugin/plugin.json +6 -13
- package/AGENTS.md +19 -12
- package/CHANGELOG.md +133 -0
- package/GEMINI.md +3 -3
- package/README.md +118 -37
- package/assets/icon.png +0 -0
- package/commands/start.md +71 -0
- package/commands/summer.md +3 -2
- package/dist/cli/banner.js +3 -0
- package/dist/cli/commands/config.js +3 -2
- package/dist/cli/commands/create.js +12 -3
- package/dist/cli/commands/list.d.ts +5 -0
- package/dist/cli/commands/list.js +30 -13
- package/dist/cli/commands/login.d.ts +27 -0
- package/dist/cli/commands/login.js +58 -12
- package/dist/cli/commands/memory.js +6 -2
- package/dist/cli/commands/ops.d.ts +64 -0
- package/dist/cli/commands/ops.js +329 -0
- package/dist/cli/commands/setup.d.ts +4 -0
- package/dist/cli/commands/setup.js +254 -26
- package/dist/cli/commands/skills.js +28 -11
- package/dist/cli/commands/status.d.ts +26 -0
- package/dist/cli/commands/status.js +36 -21
- package/dist/cli/index.js +7 -0
- package/dist/core/agent-host.d.ts +65 -0
- package/dist/core/agent-host.js +193 -0
- package/dist/core/capabilities/agent-playbook.d.ts +3 -0
- package/dist/core/capabilities/agent-playbook.js +54 -2
- package/dist/core/capabilities/apps.d.ts +33 -10
- package/dist/core/capabilities/apps.js +25 -12
- package/dist/core/capabilities/audit/args.d.ts +6 -6
- package/dist/core/capabilities/doctor.d.ts +3 -0
- package/dist/core/capabilities/doctor.js +20 -15
- package/dist/core/capabilities/fabricate-mesh.d.ts +4 -4
- package/dist/core/capabilities/game-task-plan.d.ts +12 -6
- package/dist/core/capabilities/game-task-plan.js +80 -5
- package/dist/core/capabilities/hdri-import.d.ts +2 -2
- package/dist/core/capabilities/motion-generation.d.ts +2 -2
- package/dist/core/capabilities/motion-generation.js +2 -2
- package/dist/core/capabilities/navigation/open.d.ts +6 -2
- package/dist/core/capabilities/navigation/open.js +3 -0
- package/dist/core/capabilities/placement.d.ts +23 -23
- package/dist/core/capabilities/publish-build.js +2 -0
- package/dist/core/capabilities/runtime-control.d.ts +42 -42
- package/dist/core/capabilities/scene-script-target.d.ts +17 -0
- package/dist/core/capabilities/scene-script-target.js +70 -0
- package/dist/core/capabilities/seeing/args.d.ts +16 -16
- package/dist/core/capabilities/sfx-choices.d.ts +4 -0
- package/dist/core/capabilities/sfx-choices.js +13 -6
- package/dist/core/capabilities/tool-dispatch.d.ts +12 -3
- package/dist/core/capabilities/tool-dispatch.js +81 -46
- package/dist/core/capabilities/ui-control.d.ts +2 -2
- package/dist/core/capabilities/world-snapshot.d.ts +4 -4
- package/dist/core/embeddings.d.ts +2 -0
- package/dist/core/embeddings.js +1 -1
- package/dist/core/error-codes.d.ts +62 -0
- package/dist/core/error-codes.js +97 -0
- package/dist/core/format.d.ts +2 -0
- package/dist/core/format.js +2 -1
- package/dist/core/hosted-mcp.d.ts +22 -0
- package/dist/core/hosted-mcp.js +56 -1
- package/dist/core/library-read.js +5 -0
- package/dist/core/library-search.d.ts +2 -2
- package/dist/core/library-search.js +2 -1
- package/dist/core/oauth.js +4 -0
- package/dist/core/ops/areas.d.ts +11 -0
- package/dist/core/ops/areas.js +24 -0
- package/dist/core/ops/catalog.d.ts +45 -0
- package/dist/core/ops/catalog.js +157 -0
- package/dist/core/ops/cloud.d.ts +64 -0
- package/dist/core/ops/cloud.js +198 -0
- package/dist/core/ops/contract.d.ts +120 -0
- package/dist/core/ops/contract.js +134 -0
- package/dist/core/ops/engine-answer.d.ts +25 -0
- package/dist/core/ops/engine-answer.js +117 -0
- package/dist/core/ops/engine.d.ts +55 -0
- package/dist/core/ops/engine.js +649 -0
- package/dist/core/ops/public-catalog.d.ts +48 -0
- package/dist/core/ops/public-catalog.js +56 -0
- package/dist/core/ops/save-files.d.ts +78 -0
- package/dist/core/ops/save-files.js +419 -0
- package/dist/core/ops/search.d.ts +8 -0
- package/dist/core/ops/search.js +187 -0
- package/dist/core/skills-registry.d.ts +16 -1
- package/dist/core/skills-registry.js +35 -2
- package/dist/core/telemetry.d.ts +32 -0
- package/dist/core/telemetry.js +38 -10
- package/dist/core/tool-profiles.d.ts +25 -0
- package/dist/core/tool-profiles.js +41 -0
- package/dist/installer/agent-config.d.ts +17 -4
- package/dist/installer/agent-config.js +27 -6
- package/dist/installer/agent-table.d.ts +12 -0
- package/dist/installer/agent-table.js +33 -9
- package/dist/installer/cli-permissions.d.ts +65 -0
- package/dist/installer/cli-permissions.js +182 -0
- package/dist/installer/setup.d.ts +4 -0
- package/dist/installer/setup.js +12 -4
- package/dist/installer/skills-refresh.d.ts +29 -0
- package/dist/installer/skills-refresh.js +261 -0
- package/dist/installer/version-check.d.ts +51 -11
- package/dist/installer/version-check.js +147 -37
- package/dist/mcp/command.js +7 -0
- package/dist/mcp/hosted-mount.d.ts +27 -2
- package/dist/mcp/hosted-mount.js +53 -23
- package/dist/mcp/legacy-toolset.d.ts +27 -0
- package/dist/mcp/legacy-toolset.js +43 -0
- package/dist/mcp/ops-surface.d.ts +59 -0
- package/dist/mcp/ops-surface.js +453 -0
- package/dist/mcp/server.d.ts +45 -11
- package/dist/mcp/server.js +263 -89
- package/dist/mcp/tool-results.d.ts +26 -0
- package/dist/mcp/tool-results.js +81 -0
- package/dist/mcp/tool-surface.d.ts +65 -0
- package/dist/mcp/tool-surface.js +317 -0
- package/dist/mcp/tools/app-tools.js +9 -2
- package/dist/mcp/tools/asset-tools.js +55 -53
- package/dist/mcp/tools/audit-tools.js +21 -21
- package/dist/mcp/tools/debug-tools.js +6 -6
- package/dist/mcp/tools/fabricate-tools.js +6 -6
- package/dist/mcp/tools/generate-tools.js +76 -70
- package/dist/mcp/tools/project-tools.d.ts +9 -4
- package/dist/mcp/tools/project-tools.js +16 -10
- package/dist/mcp/tools/scene-tools.js +12 -23
- package/dist/mcp/tools/script-tools.js +9 -5
- package/dist/mcp/tools/with-engine.d.ts +6 -0
- package/dist/mcp/tools/with-engine.js +19 -0
- package/dist/project-memory/agent-instructions.d.ts +47 -0
- package/dist/project-memory/agent-instructions.js +226 -0
- package/gemini-extension.json +6 -13
- package/hooks/pre-commit-doctor.sh +5 -4
- package/hooks/session-start.sh +24 -28
- package/integrations/README.md +1 -1
- package/integrations/claude/README.md +6 -0
- package/integrations/claude/manifest-target.json +4 -0
- package/integrations/claude-desktop/README.md +1 -1
- package/integrations/copilot-jetbrains/README.md +1 -1
- package/integrations/gemini/README.md +11 -0
- package/integrations/junie/README.md +1 -1
- package/integrations/lm-studio/README.md +1 -1
- package/integrations/trae/README.md +1 -1
- package/integrations/visual-studio/README.md +1 -1
- package/integrations/windsurf/README.md +1 -1
- package/library/references/mcp-tools-reference/mcp-tools-reference.md +79 -51
- package/library/references/mcp-tools-reference/resource.yaml +1 -1
- package/library/references/product-map/resource.yaml +2 -2
- package/library/skills/3d-lighting/SKILL.md +69 -28
- package/library/skills/3d-lighting/resource.yaml +1 -1
- package/library/skills/README.md +121 -118
- package/library/skills/adaptive-music/SKILL.md +40 -23
- package/library/skills/adaptive-music/resource.yaml +1 -1
- package/library/skills/agent-playtesting/SKILL.md +23 -1
- package/library/skills/agent-playtesting/resource.yaml +1 -1
- package/library/skills/ai-characters-in-games/SKILL.md +16 -1
- package/library/skills/ai-characters-in-games/resource.yaml +1 -1
- package/library/skills/ambient-bed/SKILL.md +38 -13
- package/library/skills/ambient-bed/resource.yaml +1 -1
- package/library/skills/animated-loop/SKILL.md +60 -32
- package/library/skills/animated-loop/resource.yaml +1 -1
- package/library/skills/animation-tree/SKILL.md +27 -1
- package/library/skills/animation-tree/resource.yaml +1 -1
- package/library/skills/art-direction/SKILL.md +17 -3
- package/library/skills/art-direction/resource.yaml +1 -1
- package/library/skills/asset-strategy/SKILL.md +51 -4
- package/library/skills/asset-strategy/resource.yaml +2 -1
- package/library/skills/audio-direction/SKILL.md +26 -10
- package/library/skills/audio-direction/resource.yaml +1 -1
- package/library/skills/auto-fire-targeting/SKILL.md +15 -1
- package/library/skills/auto-fire-targeting/resource.yaml +1 -1
- package/library/skills/bounded-engine-runs/SKILL.md +1 -1
- package/library/skills/bounded-engine-runs/resource.yaml +1 -1
- package/library/skills/brainstorm-game/SKILL.md +14 -1
- package/library/skills/brainstorm-game/resource.yaml +1 -1
- package/library/skills/brainstorming/SKILL.md +1 -1
- package/library/skills/brainstorming/resource.yaml +1 -1
- package/library/skills/browse-templates/SKILL.md +11 -1
- package/library/skills/browse-templates/resource.yaml +1 -1
- package/library/skills/camera-rigs/SKILL.md +22 -2
- package/library/skills/camera-rigs/resource.yaml +1 -1
- package/library/skills/celeste-momentum-platforming/resource.yaml +1 -0
- package/library/skills/character-animation-wiring/SKILL.md +28 -4
- package/library/skills/character-animation-wiring/resource.yaml +1 -1
- package/library/skills/character-model/SKILL.md +83 -47
- package/library/skills/character-model/resource.yaml +1 -1
- package/library/skills/character-movement/SKILL.md +27 -3
- package/library/skills/character-movement/resource.yaml +1 -1
- package/library/skills/character-portrait/SKILL.md +39 -19
- package/library/skills/character-portrait/resource.yaml +1 -1
- package/library/skills/cinematic-cutscene/SKILL.md +79 -46
- package/library/skills/cinematic-cutscene/resource.yaml +1 -1
- package/library/skills/combat-basics/SKILL.md +20 -1
- package/library/skills/combat-basics/resource.yaml +1 -1
- package/library/skills/compatibility-renderer-traps/SKILL.md +12 -1
- package/library/skills/compatibility-renderer-traps/resource.yaml +1 -1
- package/library/skills/concept-art/SKILL.md +29 -12
- package/library/skills/concept-art/resource.yaml +1 -1
- package/library/skills/concept-to-level/SKILL.md +258 -0
- package/library/skills/concept-to-level/references/technical-rules.md +150 -0
- package/library/skills/concept-to-level/resource.yaml +44 -0
- package/library/skills/create-asset-sheet/SKILL.md +37 -13
- package/library/skills/create-asset-sheet/resource.yaml +1 -1
- package/library/skills/debug/SKILL.md +34 -2
- package/library/skills/debug/resource.yaml +1 -1
- package/library/skills/debugging-game-feel/SKILL.md +13 -1
- package/library/skills/debugging-game-feel/resource.yaml +1 -1
- package/library/skills/design-level/SKILL.md +40 -35
- package/library/skills/design-level/resource.yaml +1 -1
- package/library/skills/design-mechanic/SKILL.md +18 -1
- package/library/skills/design-mechanic/resource.yaml +1 -1
- package/library/skills/design-npc/SKILL.md +43 -24
- package/library/skills/design-npc/resource.yaml +1 -1
- package/library/skills/diagnosing-perf-regressions/SKILL.md +13 -1
- package/library/skills/diagnosing-perf-regressions/resource.yaml +1 -1
- package/library/skills/driving-the-editor-ui/SKILL.md +24 -1
- package/library/skills/driving-the-editor-ui/resource.yaml +1 -1
- package/library/skills/environment-kit/SKILL.md +43 -16
- package/library/skills/environment-kit/resource.yaml +1 -1
- package/library/skills/export-and-ship/SKILL.md +29 -6
- package/library/skills/export-and-ship/resource.yaml +1 -1
- package/library/skills/fabricating-assets/SKILL.md +30 -7
- package/library/skills/fabricating-assets/resource.yaml +3 -3
- package/library/skills/facial-and-lipsync/SKILL.md +36 -15
- package/library/skills/facial-and-lipsync/resource.yaml +1 -1
- package/library/skills/fps-controller/SKILL.md +50 -41
- package/library/skills/fps-controller/resource.yaml +1 -1
- package/library/skills/game-feel/SKILL.md +34 -8
- package/library/skills/game-feel/resource.yaml +1 -1
- package/library/skills/gameskill/SKILL.md +15 -4
- package/library/skills/gameskill/resource.yaml +1 -1
- package/library/skills/gdscript-patterns/SKILL.md +16 -1
- package/library/skills/gdscript-patterns/resource.yaml +1 -1
- package/library/skills/generate-motion/SKILL.md +51 -21
- package/library/skills/generate-motion/resource.yaml +1 -1
- package/library/skills/godogen-visual-proof-game-generation/SKILL.md +18 -1
- package/library/skills/godogen-visual-proof-game-generation/resource.yaml +1 -0
- package/library/skills/grow-analytics/SKILL.md +13 -3
- package/library/skills/grow-analytics/resource.yaml +1 -1
- package/library/skills/headless-scripting/SKILL.md +14 -1
- package/library/skills/headless-scripting/resource.yaml +1 -1
- package/library/skills/in-game-purchases/SKILL.md +12 -1
- package/library/skills/in-game-purchases/resource.yaml +1 -1
- package/library/skills/instantiate-asset-pack/SKILL.md +19 -2
- package/library/skills/instantiate-asset-pack/resource.yaml +1 -1
- package/library/skills/lumera-single-image-scene-reconstruction/resource.yaml +1 -0
- package/library/skills/make-game/SKILL.md +33 -4
- package/library/skills/make-game/references/2d-platformer.md +1 -1
- package/library/skills/make-game/references/3d-fps.md +1 -1
- package/library/skills/make-game/references/3d-horror.md +1 -1
- package/library/skills/make-game/references/3d-third-person.md +2 -2
- package/library/skills/make-game/resource.yaml +1 -1
- package/library/skills/multiplayer/SKILL.md +13 -1
- package/library/skills/multiplayer/resource.yaml +1 -1
- package/library/skills/multiplayer-movement/SKILL.md +19 -1
- package/library/skills/multiplayer-movement/resource.yaml +1 -1
- package/library/skills/multiplayer-project/SKILL.md +18 -1
- package/library/skills/multiplayer-project/resource.yaml +1 -1
- package/library/skills/multiplayer-publish/SKILL.md +25 -7
- package/library/skills/multiplayer-publish/resource.yaml +3 -3
- package/library/skills/multiplayer-state/SKILL.md +17 -1
- package/library/skills/multiplayer-state/resource.yaml +1 -1
- package/library/skills/multiplayer-testing/SKILL.md +16 -1
- package/library/skills/multiplayer-testing/resource.yaml +1 -1
- package/library/skills/music-track/SKILL.md +38 -13
- package/library/skills/music-track/resource.yaml +1 -1
- package/library/skills/navigate-summer/SKILL.md +26 -9
- package/library/skills/navigate-summer/resource.yaml +1 -1
- package/library/skills/new-project/SKILL.md +12 -1
- package/library/skills/new-project/resource.yaml +1 -1
- package/library/skills/organic-model/SKILL.md +48 -18
- package/library/skills/organic-model/resource.yaml +1 -1
- package/library/skills/pixel-art/SKILL.md +42 -23
- package/library/skills/pixel-art/resource.yaml +1 -1
- package/library/skills/play/SKILL.md +19 -1
- package/library/skills/play/resource.yaml +1 -1
- package/library/skills/playtesting-a-feature/SKILL.md +24 -1
- package/library/skills/playtesting-a-feature/resource.yaml +1 -1
- package/library/skills/procedural-animation/SKILL.md +38 -16
- package/library/skills/procedural-animation/resource.yaml +1 -1
- package/library/skills/prop-model/SKILL.md +48 -19
- package/library/skills/prop-model/resource.yaml +1 -1
- package/library/skills/psx-retro-rendering/resource.yaml +1 -0
- package/library/skills/publish-your-game/SKILL.md +43 -6
- package/library/skills/publish-your-game/resource.yaml +3 -3
- package/library/skills/realtime-wet-surfaces/resource.yaml +1 -0
- package/library/skills/release-readiness/SKILL.md +13 -1
- package/library/skills/release-readiness/resource.yaml +1 -1
- package/library/skills/remote-deploy/SKILL.md +15 -1
- package/library/skills/remote-deploy/resource.yaml +1 -1
- package/library/skills/retarget/SKILL.md +43 -20
- package/library/skills/retarget/resource.yaml +1 -1
- package/library/skills/running-in-the-cloud/SKILL.md +11 -1
- package/library/skills/running-in-the-cloud/resource.yaml +1 -1
- package/library/skills/save-load/SKILL.md +16 -1
- package/library/skills/save-load/resource.yaml +1 -1
- package/library/skills/scene-composition/SKILL.md +18 -1
- package/library/skills/scene-composition/resource.yaml +1 -1
- package/library/skills/scene-hierarchy-design/SKILL.md +26 -2
- package/library/skills/scene-hierarchy-design/resource.yaml +1 -1
- package/library/skills/scene-scripting/SKILL.md +96 -636
- package/library/skills/scene-scripting/references/ctx-api.md +184 -0
- package/library/skills/scene-scripting/references/recipes-2d-ui.md +193 -0
- package/library/skills/scene-scripting/references/recipes-3d.md +280 -0
- package/library/skills/scene-scripting/resource.yaml +4 -4
- package/library/skills/scene-to-level/SKILL.md +24 -2
- package/library/skills/scene-to-level/resource.yaml +1 -1
- package/library/skills/skill-create/resource.yaml +1 -0
- package/library/skills/skill-improve/resource.yaml +1 -0
- package/library/skills/skill-test/SKILL.md +12 -2
- package/library/skills/skill-test/resource.yaml +1 -0
- package/library/skills/skintokens-auto-rigging/resource.yaml +1 -0
- package/library/skills/skybox-panorama/SKILL.md +47 -21
- package/library/skills/skybox-panorama/resource.yaml +1 -1
- package/library/skills/sound-effect/SKILL.md +52 -20
- package/library/skills/sound-effect/resource.yaml +1 -1
- package/library/skills/spatial-placement/SKILL.md +44 -9
- package/library/skills/spatial-placement/resource.yaml +1 -1
- package/library/skills/sprite-sheet/SKILL.md +55 -27
- package/library/skills/sprite-sheet/resource.yaml +1 -1
- package/library/skills/store-art/SKILL.md +14 -3
- package/library/skills/store-art/resource.yaml +2 -2
- package/library/skills/store-listing/SKILL.md +13 -3
- package/library/skills/store-listing/resource.yaml +2 -2
- package/library/skills/summer-analytics/SKILL.md +22 -5
- package/library/skills/summer-analytics/resource.yaml +2 -2
- package/library/skills/summer-apps/SKILL.md +77 -32
- package/library/skills/summer-apps/manifest.md +1 -1
- package/library/skills/summer-apps/minimal-app.md +7 -7
- package/library/skills/summer-apps/resource.yaml +1 -1
- package/library/skills/summer-apps/sdk-reference.md +5 -5
- package/library/skills/summer-apps-design/SKILL.md +1 -1
- package/library/skills/summer-apps-design/resource.yaml +1 -1
- package/library/skills/summer-assets/SKILL.md +86 -0
- package/library/skills/summer-assets/resource.yaml +34 -0
- package/library/skills/summer-cli/SKILL.md +133 -0
- package/library/skills/summer-cli/resource.yaml +31 -0
- package/library/skills/summer-friends/SKILL.md +14 -0
- package/library/skills/summer-leaderboards/SKILL.md +16 -0
- package/library/skills/summer-match-results/SKILL.md +17 -0
- package/library/skills/summer-matchmaking/SKILL.md +17 -0
- package/library/skills/summer-parties/SKILL.md +14 -0
- package/library/skills/summer-player-data/SKILL.md +14 -0
- package/library/skills/summer-store/SKILL.md +16 -1
- package/library/skills/summer-world-chat/SKILL.md +14 -0
- package/library/skills/summer-world-saves/SKILL.md +14 -0
- package/library/skills/text-to-motion/SKILL.md +45 -23
- package/library/skills/text-to-motion/prompts-and-controls.md +5 -5
- package/library/skills/text-to-motion/resource.yaml +1 -1
- package/library/skills/text-to-motion/rigging-for-text-motion.md +2 -2
- package/library/skills/tileable-texture/SKILL.md +37 -15
- package/library/skills/tileable-texture/resource.yaml +1 -1
- package/library/skills/trailer-shot/SKILL.md +46 -24
- package/library/skills/trailer-shot/resource.yaml +1 -1
- package/library/skills/tune-performance/SKILL.md +32 -6
- package/library/skills/tune-performance/resource.yaml +1 -1
- package/library/skills/ui-basics/SKILL.md +55 -36
- package/library/skills/ui-basics/resource.yaml +1 -1
- package/library/skills/ui-graphics/SKILL.md +64 -38
- package/library/skills/ui-graphics/resource.yaml +1 -1
- package/library/skills/use-widget-asset/SKILL.md +15 -1
- package/library/skills/use-widget-asset/resource.yaml +1 -1
- package/library/skills/using-summer/SKILL.md +32 -5
- package/library/skills/using-summer/resource.yaml +3 -2
- package/library/skills/vehicle-model/SKILL.md +92 -57
- package/library/skills/vehicle-model/resource.yaml +1 -1
- package/library/skills/verification-before-completion/SKILL.md +1 -1
- package/library/skills/verification-before-completion/resource.yaml +1 -1
- package/library/skills/verifying-scenes/SKILL.md +31 -2
- package/library/skills/verifying-scenes/resource.yaml +1 -1
- package/library/skills/vfx-dissolve/SKILL.md +21 -2
- package/library/skills/vfx-dissolve/resource.yaml +1 -1
- package/library/skills/vfx-fire/SKILL.md +41 -41
- package/library/skills/vfx-fire/resource.yaml +1 -1
- package/library/skills/vfx-hit-spark/SKILL.md +24 -1
- package/library/skills/vfx-hit-spark/resource.yaml +1 -1
- package/library/skills/vfx-lightning/SKILL.md +30 -16
- package/library/skills/vfx-lightning/resource.yaml +1 -1
- package/library/skills/vfx-magic-glow/SKILL.md +46 -32
- package/library/skills/vfx-magic-glow/resource.yaml +1 -1
- package/library/skills/vfx-muzzle-flash/SKILL.md +43 -35
- package/library/skills/vfx-muzzle-flash/resource.yaml +1 -1
- package/library/skills/vfx-smoke/SKILL.md +39 -31
- package/library/skills/vfx-smoke/resource.yaml +1 -1
- package/library/skills/vfx-water-ripple/SKILL.md +35 -31
- package/library/skills/vfx-water-ripple/resource.yaml +1 -1
- package/library/skills/voice-line/SKILL.md +87 -40
- package/library/skills/voice-line/resource.yaml +1 -1
- package/library/skills/web-and-touch-input/SKILL.md +20 -1
- package/library/skills/web-and-touch-input/resource.yaml +1 -1
- package/library/skills/web-compatibility-look/SKILL.md +21 -1
- package/library/skills/web-compatibility-look/resource.yaml +1 -1
- package/library/skills/world-building-3d/SKILL.md +29 -1
- package/library/skills/world-building-3d/resource.yaml +1 -1
- package/library/skills/writing-skills/resource.yaml +1 -0
- package/library/tools/add-node/GUIDE.md +14 -0
- package/library/tools/align-distribute-3d/GUIDE.md +7 -0
- package/library/tools/app-call/resource.yaml +1 -1
- package/library/tools/app-guide/resource.yaml +2 -2
- package/library/tools/app-page/resource.yaml +1 -1
- package/library/tools/app-screenshot/resource.yaml +19 -1
- package/library/tools/app-tools/resource.yaml +1 -1
- package/library/tools/attach-to-surface/GUIDE.md +15 -0
- package/library/tools/batch/GUIDE.md +27 -0
- package/library/tools/camera-bookmark/GUIDE.md +12 -0
- package/library/tools/capture-gameplay/GUIDE.md +3 -0
- package/library/tools/capture-gameplay/resource.yaml +3 -3
- package/library/tools/check-job/resource.yaml +1 -1
- package/library/tools/clear-console/GUIDE.md +3 -0
- package/library/tools/connect-ports/GUIDE.md +9 -0
- package/library/tools/connect-signal/GUIDE.md +14 -0
- package/library/tools/create-debug-report/GUIDE.md +10 -0
- package/library/tools/create-scene/GUIDE.md +10 -0
- package/library/tools/debug-views/GUIDE.md +7 -0
- package/library/tools/enable-plugin/GUIDE.md +3 -0
- package/library/tools/export-game/GUIDE.md +3 -0
- package/library/tools/export-game/resource.yaml +3 -3
- package/library/tools/export-templates/GUIDE.md +3 -0
- package/library/tools/fabricate-3d/GUIDE.md +19 -0
- package/library/tools/frame-nodes/GUIDE.md +9 -0
- package/library/tools/frame-shot/GUIDE.md +9 -0
- package/library/tools/game-control/GUIDE.md +9 -0
- package/library/tools/game-input/GUIDE.md +9 -0
- package/library/tools/game-probe/GUIDE.md +9 -0
- package/library/tools/generate-3d/resource.yaml +3 -3
- package/library/tools/generate-motion/resource.yaml +2 -2
- package/library/tools/get-console/GUIDE.md +9 -0
- package/library/tools/get-console/resource.yaml +5 -0
- package/library/tools/get-debugger-errors/GUIDE.md +7 -0
- package/library/tools/get-debugger-errors/resource.yaml +5 -0
- package/library/tools/get-debugger-warnings/GUIDE.md +7 -0
- package/library/tools/get-debugger-warnings/resource.yaml +5 -0
- package/library/tools/get-diagnostics/GUIDE.md +13 -0
- package/library/tools/get-project-context/GUIDE.md +25 -0
- package/library/tools/get-runtime-tree/GUIDE.md +7 -0
- package/library/tools/get-runtime-tree/resource.yaml +5 -0
- package/library/tools/get-scene-tree/GUIDE.md +11 -0
- package/library/tools/get-scene-tree/resource.yaml +5 -0
- package/library/tools/get-script-errors/GUIDE.md +5 -0
- package/library/tools/grep/GUIDE.md +11 -0
- package/library/tools/import-asset/GUIDE.md +8 -0
- package/library/tools/import-asset-by-id/GUIDE.md +12 -0
- package/library/tools/import-from-url/GUIDE.md +10 -0
- package/library/tools/import-from-url-batch/GUIDE.md +3 -0
- package/library/tools/import-hdri/GUIDE.md +16 -0
- package/library/tools/input-map-bind/GUIDE.md +11 -0
- package/library/tools/inspect-asset/GUIDE.md +14 -0
- package/library/tools/inspect-asset/resource.yaml +5 -0
- package/library/tools/inspect-node/GUIDE.md +11 -0
- package/library/tools/inspect-node/resource.yaml +5 -0
- package/library/tools/inspect-resource/GUIDE.md +7 -0
- package/library/tools/inspect-resource/resource.yaml +5 -0
- package/library/tools/inspect-runtime-node/GUIDE.md +7 -0
- package/library/tools/inspect-runtime-node/resource.yaml +5 -0
- package/library/tools/instantiate-scene/GUIDE.md +12 -0
- package/library/tools/is-running/GUIDE.md +3 -0
- package/library/tools/measure/GUIDE.md +8 -0
- package/library/tools/navigation-probe/GUIDE.md +9 -0
- package/library/tools/open/resource.yaml +2 -2
- package/library/tools/open-main-scene/GUIDE.md +6 -0
- package/library/tools/open-scene/GUIDE.md +8 -0
- package/library/tools/place-adjacent/GUIDE.md +7 -0
- package/library/tools/play/GUIDE.md +13 -0
- package/library/tools/project-setting/GUIDE.md +9 -0
- package/library/tools/publish-build/resource.yaml +6 -6
- package/library/tools/raycast/GUIDE.md +7 -0
- package/library/tools/read-file/GUIDE.md +10 -0
- package/library/tools/read-library/resource.yaml +5 -0
- package/library/tools/recent-events/GUIDE.md +7 -0
- package/library/tools/remove-node/GUIDE.md +3 -0
- package/library/tools/repeat-along/GUIDE.md +5 -0
- package/library/tools/replace-node/GUIDE.md +9 -0
- package/library/tools/replace-text/GUIDE.md +5 -0
- package/library/tools/run-editor-script/GUIDE.md +16 -0
- package/library/tools/run-script/GUIDE.md +30 -0
- package/library/tools/run-script/resource.yaml +6 -3
- package/library/tools/runtime-animate/GUIDE.md +7 -0
- package/library/tools/runtime-call/GUIDE.md +7 -0
- package/library/tools/runtime-set/GUIDE.md +9 -0
- package/library/tools/runtime-spawn/GUIDE.md +9 -0
- package/library/tools/save-scene/GUIDE.md +3 -0
- package/library/tools/scene-audit/GUIDE.md +29 -0
- package/library/tools/screenshot/GUIDE.md +17 -0
- package/library/tools/select-node/GUIDE.md +3 -0
- package/library/tools/set-prop/GUIDE.md +23 -0
- package/library/tools/set-resource-property/GUIDE.md +8 -0
- package/library/tools/shot-sheet/GUIDE.md +7 -0
- package/library/tools/snap-to-surface/GUIDE.md +17 -0
- package/library/tools/snapshot-diff/GUIDE.md +7 -0
- package/library/tools/starcast/GUIDE.md +12 -0
- package/library/tools/stop/GUIDE.md +3 -0
- package/library/tools/test-placement/GUIDE.md +7 -0
- package/library/tools/ui-actions/GUIDE.md +12 -0
- package/library/tools/ui-activate/GUIDE.md +11 -0
- package/library/tools/ui-screenshot/GUIDE.md +9 -0
- package/library/tools/ui-tree/GUIDE.md +10 -0
- package/library/tools/wait-for-event/GUIDE.md +11 -0
- package/library/tools/world-snapshot/GUIDE.md +9 -0
- package/library/tools/write-file/GUIDE.md +5 -0
- package/library/tools/zoom/GUIDE.md +5 -0
- package/package.json +8 -5
- package/registry/generated/counts.json +2 -2
- package/registry/generated/gemini-extension.json +6 -13
- package/registry/generated/index.json +482 -349
- package/registry/generated/marketplace.claude.json +2 -13
- package/registry/generated/plugin.claude-directory.json +168 -0
- package/registry/generated/plugin.claude.json +24 -22
- package/registry/generated/plugin.codex.json +18 -22
- package/registry/generated/plugin.cursor.json +8 -14
- package/registry/generated/plugin.factory.json +6 -13
- package/registry/generated/server.json +43 -0
- package/registry/generated/skills-index.md +121 -118
- package/registry/generated/skills-registry.json +167 -115
- package/registry/operations/fixtures/invalid-deprecated-without-replacement.json +60 -0
- package/registry/operations/fixtures/invalid-name.json +60 -0
- package/registry/operations/fixtures/invalid-publish-without-owner.json +82 -0
- package/registry/operations/fixtures/invalid-spend-without-estimate.json +42 -0
- package/registry/operations/fixtures/invalid-unknown-field.json +61 -0
- package/registry/operations/fixtures/valid-player-facing.json +82 -0
- package/registry/operations/fixtures/valid-read.json +60 -0
- package/registry/operations/fixtures/valid-spend.json +43 -0
- package/registry/operations/legacy-names.json +1241 -0
- package/registry/operations/public-catalog.json +33160 -0
- package/registry/schemas/operation.schema.json +318 -0
- package/registry/schemas/skill.schema.json +4 -0
- package/CLAUDE.md +0 -7
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: generate-motion
|
|
3
|
-
description: "Attach
|
|
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
|
|
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 `
|
|
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 `
|
|
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
|
-
|
|
44
|
+
assets.search({ query: "<character name>", assetType: "3d_model", scope: "mine" })
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
The
|
|
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
|
-
|
|
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
|
-
|
|
58
|
+
assets.generate_motion({
|
|
57
59
|
rigAssetId: "<id>",
|
|
58
60
|
backend: "meshy-library", // curated library (default)
|
|
59
|
-
|
|
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
|
-
|
|
64
|
-
|
|
65
|
-
|
|
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
|
-
|
|
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 `
|
|
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
|
|
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 `
|
|
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.
|
|
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 `
|
|
133
|
-
- Generating the same clip twice because you forgot to save the `animationAssetId` from the first call. Search the asset library first: `
|
|
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
|
|
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
|
|
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
|
|
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 -->
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: grow-analytics
|
|
3
|
-
description: "Read
|
|
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:
|
|
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. `
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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: "
|
|
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
|
|
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: "
|
|
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
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: make-game
|
|
3
|
-
description: "
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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 (`
|
|
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
|
-
(`
|
|
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
|
-
|
|
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`: `
|
|
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: "
|
|
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
|
|
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
|
|
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: "
|
|
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: "
|
|
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:
|
|
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:
|
|
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"
|