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,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: debugging-game-feel
|
|
3
|
-
description: "Debug features that work but feel wrong
|
|
3
|
+
description: "Debug features that work but feel wrong: floaty jumps, mushy combat, sluggish camera."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Debugging Game Feel
|
|
@@ -189,3 +189,15 @@ After diagnosis pins down which variable(s) are wrong, the tuning is done — bu
|
|
|
189
189
|
- `investigating-bugs` — for logical bugs with concrete repros, not feel.
|
|
190
190
|
- `playtesting-a-feature` — the playtest discipline this skill plugs into.
|
|
191
191
|
- `debug` — when the feel investigation surfaces an actual error.
|
|
192
|
+
|
|
193
|
+
<!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
|
|
194
|
+
## From a shell
|
|
195
|
+
|
|
196
|
+
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.
|
|
197
|
+
|
|
198
|
+
| In this skill | Command |
|
|
199
|
+
|---|---|
|
|
200
|
+
| `summer_batch` | `summer engine batch` |
|
|
201
|
+
| `summer_inspect_node` | `summer engine inspect-node` |
|
|
202
|
+
| `summer_play` | `summer engine play` |
|
|
203
|
+
<!-- /shell-commands -->
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
id: skill/debugging-game-feel
|
|
2
2
|
kind: skill
|
|
3
3
|
version: 1.0.3
|
|
4
|
-
summary: Debug features that work but feel wrong
|
|
4
|
+
summary: "Debug features that work but feel wrong: floaty jumps, mushy combat, sluggish camera."
|
|
5
5
|
use_when:
|
|
6
6
|
- a gameplay feature works correctly but feels wrong — floaty jumps, mushy combat, sluggish camera, weightless impacts
|
|
7
7
|
- tuning jump height, gravity, camera lag, hit-stop, or impact feedback until controls feel right
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: design-level
|
|
3
|
-
description: "Design
|
|
3
|
+
description: "Design one level (layout, pacing, encounters, secrets) as a design doc plus a node-tree skeleton."
|
|
4
4
|
license: MIT
|
|
5
5
|
compatibility: [Cursor, Claude Code, Windsurf, Codex]
|
|
6
6
|
category: level-design
|
|
7
7
|
user-invocable: true
|
|
8
|
-
allowed-tools: Read Grep Glob Write Edit summer_get_scene_tree summer_create_scene summer_open_scene summer_add_node summer_set_prop summer_save_scene summer_get_script_errors
|
|
8
|
+
allowed-tools: Read Grep Glob Write Edit summer_get_scene_tree summer_create_scene summer_open_scene summer_run_script summer_add_node summer_set_prop summer_save_scene summer_get_script_errors
|
|
9
9
|
paths: ["**/*.tscn", "**/*.gd", ".summer/**", "levels/**"]
|
|
10
10
|
---
|
|
11
11
|
|
|
@@ -148,44 +148,32 @@ Show the skeleton. Ask:
|
|
|
148
148
|
|
|
149
149
|
### 8. Scaffold via MCP
|
|
150
150
|
|
|
151
|
-
**Preferred (Summer MCP):**
|
|
151
|
+
**Preferred (Summer MCP):** create the scene, then build the whole skeleton in one script.
|
|
152
152
|
|
|
153
|
-
`summer_create_scene` takes `path`, `rootName
|
|
154
|
-
There is no `root_type` or `root_name` argument. The tool refuses to run unless
|
|
155
|
-
`allow_temporary_scene_mutation` is explicitly true, because of how it works: it
|
|
156
|
-
opens the currently-open scene (or the project's main scene) as a template,
|
|
157
|
-
removes every child, renames the root, saves-as to the new path, then reopens
|
|
158
|
-
the original. Ask the user before setting the flag.
|
|
159
|
-
|
|
160
|
-
The consequence to plan around: **the new scene's root node type is copied from
|
|
161
|
-
the template's root**, not chosen by you. Create levels from a scene whose root
|
|
162
|
-
is already `Node3D`, or fix the root afterwards in the editor.
|
|
153
|
+
`summer_create_scene` takes `path`, `rootName` and `rootType` (default `Node3D`) and writes the new scene to disk without opening it. `summer_run_script` with that `scenePath` opens it, runs, and gives the user their tab back; the run is one undo step, so one Ctrl+Z removes the skeleton.
|
|
163
154
|
|
|
164
155
|
```
|
|
165
|
-
summer_create_scene(path="res://levels/level_01.tscn", rootName="World",
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
156
|
+
summer_create_scene(path="res://levels/level_01.tscn", rootName="World", rootType="Node3D")
|
|
157
|
+
summer_run_script(scenePath="res://levels/level_01.tscn", source="""
|
|
158
|
+
func run(ctx):
|
|
159
|
+
var skeleton = {
|
|
160
|
+
"Geometry": [["Node3D", "IntroAtrium"], ["Node3D", "Corridor"], ["Node3D", "PeakArena"], ["Node3D", "BossChamber"]],
|
|
161
|
+
"Spawns": [["Node3D", "PlayerSpawn"], ["Node3D", "E1_Spawn"], ["Node3D", "E2_Spawn"], ["Node3D", "E3_Wave_Spawns"], ["Node3D", "MiniBoss_Spawn"]],
|
|
162
|
+
"Triggers": [["Area3D", "E2_GateTrigger"], ["Area3D", "PeakWaveTrigger"], ["Area3D", "BossDoorTrigger"]],
|
|
163
|
+
"Pickups": [["Node3D", "HealAfterE2"], ["Node3D", "CurrencyS1"]],
|
|
164
|
+
"Secrets": [["StaticBody3D", "S1_BreakableWall"], ["StaticBody3D", "S2_ParryLedge"], ["StaticBody3D", "S3_LockedDoor"]],
|
|
165
|
+
"Lighting": [["WorldEnvironment", "WorldEnvironment"], ["DirectionalLight3D", "Sun"]],
|
|
166
|
+
}
|
|
167
|
+
for group in skeleton:
|
|
168
|
+
var parent = ctx.add_node("Node3D", group)
|
|
169
|
+
for child in skeleton[group]:
|
|
170
|
+
ctx.add_node(child[0], child[1], parent)
|
|
171
|
+
ctx.report("skeleton", ctx.summary())
|
|
172
|
+
ctx.save_scene()
|
|
173
|
+
""")
|
|
182
174
|
```
|
|
183
175
|
|
|
184
|
-
|
|
185
|
-
`scenePath="res://levels/level_01.tscn"`; it is elided after the first line only
|
|
186
|
-
to keep the tree readable. A call without `scenePath` is rejected by the tool
|
|
187
|
-
schema. Better still, send the whole block as one `summer_batch(scenePath=...,
|
|
188
|
-
ops=[...])` so the user can undo the skeleton with a single Ctrl+Z.
|
|
176
|
+
Compare the `skeleton` report (node counts by class) with the tree you showed the user, then `summer_get_scene_tree` on the new scene.
|
|
189
177
|
|
|
190
178
|
This is a **skeleton, not playable geometry**. Markers and Area3Ds, no meshes, no enemy scripts. Implementation in subsequent sessions / templates.
|
|
191
179
|
|
|
@@ -278,3 +266,20 @@ The skeleton this skill produces is meant to be filled in via `/design-mechanic`
|
|
|
278
266
|
- `design-npc` — designs the enemies the encounters reference
|
|
279
267
|
- `3d-lighting` — sets the lighting in `WorldEnvironment` + lights
|
|
280
268
|
- `art-direction` — defines the visual style the level expresses
|
|
269
|
+
|
|
270
|
+
<!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
|
|
271
|
+
## From a shell
|
|
272
|
+
|
|
273
|
+
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.
|
|
274
|
+
|
|
275
|
+
| In this skill | Command |
|
|
276
|
+
|---|---|
|
|
277
|
+
| `summer_add_node` | `summer engine add-node` |
|
|
278
|
+
| `summer_create_scene` | `summer engine create-scene` |
|
|
279
|
+
| `summer_get_scene_tree` | `summer engine get-scene-tree` |
|
|
280
|
+
| `summer_get_script_errors` | `summer engine get-script-errors` |
|
|
281
|
+
| `summer_open_scene` | `summer engine open-scene` |
|
|
282
|
+
| `summer_run_script` | `summer engine run-script` |
|
|
283
|
+
| `summer_save_scene` | `summer engine save-scene` |
|
|
284
|
+
| `summer_set_prop` | `summer engine set-prop` |
|
|
285
|
+
<!-- /shell-commands -->
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
id: skill/design-level
|
|
2
2
|
kind: skill
|
|
3
3
|
version: 1.0.3
|
|
4
|
-
summary: Design
|
|
4
|
+
summary: "Design one level (layout, pacing, encounters, secrets) as a design doc plus a node-tree skeleton."
|
|
5
5
|
use_when:
|
|
6
6
|
- designing a single level — layout, pacing, encounters, secrets, reward gating
|
|
7
7
|
- turning a level idea into a layout with a critical path, encounters, secrets, and pacing beats
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: design-mechanic
|
|
3
|
-
description: "Design one
|
|
3
|
+
description: "Design one mechanic in detail (input, feedback, failure modes, tunables) as a doc plus a script stub."
|
|
4
4
|
license: MIT
|
|
5
5
|
compatibility: [Cursor, Claude Code, Windsurf, Codex]
|
|
6
6
|
category: gameplay-mechanics
|
|
@@ -271,3 +271,20 @@ This skill is a workflow that designs and scaffolds — the templates are runnab
|
|
|
271
271
|
- `fps-controller` — FPS movement scaffolding
|
|
272
272
|
- `gdscript-patterns` — state machines and other script patterns for complex mechanics
|
|
273
273
|
- `audio-direction` — defines the SFX vocabulary the mechanic draws from
|
|
274
|
+
|
|
275
|
+
<!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
|
|
276
|
+
## From a shell
|
|
277
|
+
|
|
278
|
+
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.
|
|
279
|
+
|
|
280
|
+
| In this skill | Command |
|
|
281
|
+
|---|---|
|
|
282
|
+
| `summer_add_node` | `summer engine add-node` |
|
|
283
|
+
| `summer_get_diagnostics` | `summer engine get-diagnostics` |
|
|
284
|
+
| `summer_get_scene_tree` | `summer engine get-scene-tree` |
|
|
285
|
+
| `summer_get_script_errors` | `summer engine get-script-errors` |
|
|
286
|
+
| `summer_input_map_bind` | `summer engine input-map-bind` |
|
|
287
|
+
| `summer_inspect_node` | `summer engine inspect-node` |
|
|
288
|
+
| `summer_save_scene` | `summer engine save-scene` |
|
|
289
|
+
| `summer_set_prop` | `summer engine set-prop` |
|
|
290
|
+
<!-- /shell-commands -->
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
id: skill/design-mechanic
|
|
2
2
|
kind: skill
|
|
3
3
|
version: 1.0.2
|
|
4
|
-
summary: Design one
|
|
4
|
+
summary: "Design one mechanic in detail (input, feedback, failure modes, tunables) as a doc plus a script stub."
|
|
5
5
|
use_when:
|
|
6
6
|
- designing one specific game mechanic in detail — input, response, feedback, failure modes, depth, tunables
|
|
7
7
|
- add a grappling hook, dash, double jump, wall run, or parry
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: design-npc
|
|
3
|
-
description: "Design enemy
|
|
3
|
+
description: "Design enemy, NPC, boss or companion behavior: perception, state machine, telegraphs, script stub."
|
|
4
4
|
license: MIT
|
|
5
5
|
compatibility: [Cursor, Claude Code, Windsurf, Codex]
|
|
6
6
|
category: ai-and-npcs
|
|
7
7
|
user-invocable: true
|
|
8
|
-
allowed-tools: Read Grep Edit Write summer_get_scene_tree summer_inspect_node summer_add_node summer_set_prop summer_set_resource_property summer_connect_signal summer_save_scene summer_get_script_errors summer_input_map_bind
|
|
8
|
+
allowed-tools: Read Grep Edit Write summer_get_scene_tree summer_inspect_node summer_run_script summer_add_node summer_set_prop summer_set_resource_property summer_connect_signal summer_save_scene summer_get_script_errors summer_input_map_bind
|
|
9
9
|
paths: ["**/*.gd", "**/*.tscn"]
|
|
10
10
|
---
|
|
11
11
|
|
|
@@ -179,31 +179,31 @@ Identify where the NPC will live (an `Enemies` parent, or directly under World).
|
|
|
179
179
|
|
|
180
180
|
**Preferred (Summer MCP):**
|
|
181
181
|
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
still, send the whole block as one `summer_batch(scenePath=..., ops=[...])` so
|
|
185
|
-
the user can undo the enemy with a single Ctrl+Z.
|
|
182
|
+
One script builds the whole enemy; `scenePath` names the exact `res://` scene,
|
|
183
|
+
and the run is one undo step, so one Ctrl+Z removes the enemy:
|
|
186
184
|
|
|
187
185
|
```
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
186
|
+
summer_run_script(scenePath="res://main.tscn", source="""
|
|
187
|
+
func run(ctx):
|
|
188
|
+
var enemy = ctx.add_node("CharacterBody3D", "Enemy", ctx.find("Enemies"))
|
|
189
|
+
ctx.add_node("CollisionShape3D", "Body", enemy, {"shape": CapsuleShape3D.new()})
|
|
190
|
+
ctx.add_node("MeshInstance3D", "Mesh", enemy, {"mesh": CapsuleMesh.new()})
|
|
191
|
+
var vision = ctx.add_node("Area3D", "Vision", enemy)
|
|
192
|
+
var sight_sphere = SphereShape3D.new()
|
|
193
|
+
sight_sphere.radius = 12.0
|
|
194
|
+
ctx.add_node("CollisionShape3D", "VisionShape", vision, {"shape": sight_sphere})
|
|
195
|
+
ctx.add_node("RayCast3D", "Sight", enemy, {"enabled": true, "target_position": Vector3(0, 0, -12)})
|
|
196
|
+
ctx.save_scene()
|
|
197
|
+
""")
|
|
196
198
|
```
|
|
197
199
|
|
|
198
|
-
|
|
199
|
-
the
|
|
200
|
-
|
|
200
|
+
The script embeds the sight sphere in the scene. When several enemy archetypes
|
|
201
|
+
want the same sight radius, share one file instead:
|
|
202
|
+
`{"shape": load("res://shapes/vision_sphere.tres")}`. Tuning one value later is
|
|
203
|
+
one call:
|
|
201
204
|
|
|
202
205
|
```
|
|
203
|
-
|
|
204
|
-
# or, embedded, then tune it:
|
|
205
|
-
summer_set_prop(scenePath="res://main.tscn", path="./World/Enemies/Enemy/Vision/VisionShape", key="shape", value="SphereShape3D")
|
|
206
|
-
summer_set_resource_property(scenePath="res://main.tscn", nodePath="./World/Enemies/Enemy/Vision/VisionShape", resourceProperty="shape", subProperty="radius", value="12.0")
|
|
206
|
+
summer_set_resource_property(scenePath="res://main.tscn", nodePath="./World/Enemies/Enemy/Vision/VisionShape", resourceProperty="shape", subProperty="radius", value="14.0")
|
|
207
207
|
```
|
|
208
208
|
|
|
209
209
|
`summer_set_resource_property` works against scene-embedded (`[sub_resource]`)
|
|
@@ -224,9 +224,7 @@ summer_connect_signal(scenePath="res://main.tscn", emitter="./World/Enemies/Enem
|
|
|
224
224
|
```
|
|
225
225
|
|
|
226
226
|
The parameters are `scenePath`, `emitter`, `signal`, `receiver`, `method`. There
|
|
227
|
-
is no `from` / `to`; those spellings fail schema validation.
|
|
228
|
-
`scenePath` applies to `summer_add_node`, `summer_set_prop` and
|
|
229
|
-
`summer_save_scene` in the block above.
|
|
227
|
+
is no `from` / `to`; those spellings fail schema validation.
|
|
230
228
|
|
|
231
229
|
**Fallback (no MCP):** write the scene as `.tscn` text. Ask the user to paste their existing scene first, then propose a unified diff.
|
|
232
230
|
|
|
@@ -500,3 +498,24 @@ For an animated NPC in a runnable project: `summer create 3d-fps-simple-animated
|
|
|
500
498
|
- `vfx-dissolve` — death dissolve recipe
|
|
501
499
|
- `game-feel` — screen-feel discipline (camera shake, hit-stop)
|
|
502
500
|
- `gdscript-patterns` — generic state machine and script patterns
|
|
501
|
+
|
|
502
|
+
<!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
|
|
503
|
+
## From a shell
|
|
504
|
+
|
|
505
|
+
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.
|
|
506
|
+
|
|
507
|
+
| In this skill | Command |
|
|
508
|
+
|---|---|
|
|
509
|
+
| `summer_add_node` | `summer engine add-node` |
|
|
510
|
+
| `summer_connect_signal` | `summer engine connect-signal` |
|
|
511
|
+
| `summer_get_scene_tree` | `summer engine get-scene-tree` |
|
|
512
|
+
| `summer_get_script_errors` | `summer engine get-script-errors` |
|
|
513
|
+
| `summer_input_map_bind` | `summer engine input-map-bind` |
|
|
514
|
+
| `summer_inspect_node` | `summer engine inspect-node` |
|
|
515
|
+
| `summer_play` | `summer engine play` |
|
|
516
|
+
| `summer_run_script` | `summer engine run-script` |
|
|
517
|
+
| `summer_save_scene` | `summer engine save-scene` |
|
|
518
|
+
| `summer_set_prop` | `summer engine set-prop` |
|
|
519
|
+
| `summer_set_resource_property` | `summer engine set-resource-property` |
|
|
520
|
+
| `summer_stop` | `summer engine stop` |
|
|
521
|
+
<!-- /shell-commands -->
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
id: skill/design-npc
|
|
2
2
|
kind: skill
|
|
3
3
|
version: 1.0.2
|
|
4
|
-
summary: Design enemy
|
|
4
|
+
summary: "Design enemy, NPC, boss or companion behavior: perception, state machine, telegraphs, script stub."
|
|
5
5
|
use_when:
|
|
6
6
|
- designing an enemy, NPC, boss, companion, civilian, or wave-spawned mob's behavior — perception, intent, state machine, telegraphs, defeat handling
|
|
7
7
|
- enemies that patrol, chase, attack, or flee when they see the player (line of sight)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: diagnosing-perf-regressions
|
|
3
|
-
description: "Find why frame rate, frame time
|
|
3
|
+
description: "Find why frame rate, frame time or load time got worse since a known-good state."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Diagnosing Performance Regressions
|
|
@@ -208,3 +208,15 @@ If the MCP tools report the engine isn't running:
|
|
|
208
208
|
- `investigating-bugs` — when the slow path turns out to be a logic bug (errors in a tight loop).
|
|
209
209
|
- `debug` — when the perf issue is actually a crash or freeze.
|
|
210
210
|
- `verification-before-completion` — to claim the fix worked, with numbers.
|
|
211
|
+
|
|
212
|
+
<!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
|
|
213
|
+
## From a shell
|
|
214
|
+
|
|
215
|
+
No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
|
|
216
|
+
|
|
217
|
+
| In this skill | Command |
|
|
218
|
+
|---|---|
|
|
219
|
+
| `summer_batch` | `summer engine batch` |
|
|
220
|
+
| `summer_get_diagnostics` | `summer engine get-diagnostics` |
|
|
221
|
+
| `summer_get_scene_tree` | `summer engine get-scene-tree` |
|
|
222
|
+
<!-- /shell-commands -->
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
id: skill/diagnosing-perf-regressions
|
|
2
2
|
kind: skill
|
|
3
3
|
version: 1.0.3
|
|
4
|
-
summary: Find why frame rate, frame time
|
|
4
|
+
summary: "Find why frame rate, frame time or load time got worse since a known-good state."
|
|
5
5
|
use_when:
|
|
6
6
|
- frame rate, frame time, or load time has gotten worse since a known-good state — 'it used to run at 60, now it's at 30'
|
|
7
7
|
- bisecting recent scene, script, or asset changes to find which one slowed frame time or loading
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: driving-the-editor-ui
|
|
3
|
-
description: "Drive the editor UI by name:
|
|
3
|
+
description: "Drive the editor UI by name: run actions, clear blocking dialogs, switch screens, read a dock."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Driving the Editor UI
|
|
@@ -83,3 +83,26 @@ The engine refuses, with `denied_action`, anything that ends or replaces the ses
|
|
|
83
83
|
| `no_renderer` | headless editor, no pixels | `summer_ui_tree`; pixels need a display |
|
|
84
84
|
|
|
85
85
|
**Related skills:** `scene-scripting` and `verifying-scenes` own the scene loop this skill deliberately stays out of; `verification-before-completion` carries the done-claiming rules; `headless-scripting` is the route when there is no editor UI at all.
|
|
86
|
+
|
|
87
|
+
<!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
|
|
88
|
+
## From a shell
|
|
89
|
+
|
|
90
|
+
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.
|
|
91
|
+
|
|
92
|
+
| In this skill | Command |
|
|
93
|
+
|---|---|
|
|
94
|
+
| `summer_get_scene_tree` | `summer engine get-scene-tree` |
|
|
95
|
+
| `summer_ui_actions` | `summer engine list-ui-actions`, `summer engine invoke-ui-action` |
|
|
96
|
+
| `summer_open_scene` | `summer engine open-scene` |
|
|
97
|
+
| `summer_project_setting` | `summer engine project-setting` |
|
|
98
|
+
| `summer_run_script` | `summer engine run-script` |
|
|
99
|
+
| `summer_save_scene` | `summer engine save-scene` |
|
|
100
|
+
| `summer_screenshot` | `summer engine screenshot` |
|
|
101
|
+
| `summer_select_node` | `summer engine select-node` |
|
|
102
|
+
| `summer_set_prop` | `summer engine set-prop` |
|
|
103
|
+
| `summer_snapshot_diff` | `summer engine snapshot-diff` |
|
|
104
|
+
| `summer_ui_activate` | `summer engine ui-activate` |
|
|
105
|
+
| `summer_ui_screenshot` | `summer engine ui-screenshot` |
|
|
106
|
+
| `summer_ui_tree` | `summer engine ui-tree` |
|
|
107
|
+
| `summer_world_snapshot` | `summer engine world-snapshot` |
|
|
108
|
+
<!-- /shell-commands -->
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
id: skill/driving-the-editor-ui
|
|
2
2
|
kind: skill
|
|
3
3
|
version: 1.0.0
|
|
4
|
-
summary: "Drive the editor UI by name:
|
|
4
|
+
summary: "Drive the editor UI by name: run actions, clear blocking dialogs, switch screens, read a dock."
|
|
5
5
|
use_when:
|
|
6
6
|
- an editor-workflow step a human would do with the mouse — open the Import dock, switch the 2D/3D/Script main screen, toggle a bottom panel, open an editor dialog by name
|
|
7
7
|
- a dialog or popup is blocking the editor and tool calls come back modal_open — see it (summer_ui_tree root dialogs) and clear it (summer_ui_activate action dismiss_dialog)
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: environment-kit
|
|
3
|
-
description: "Generate a modular environment kit
|
|
3
|
+
description: "Generate a modular environment kit: walls, floor tiles, pillars, doors, arches in one visual style."
|
|
4
4
|
license: MIT
|
|
5
5
|
compatibility: [Cursor, Claude Code, Windsurf, Codex]
|
|
6
6
|
category: 3d-assets
|
|
7
7
|
user-invocable: true
|
|
8
|
-
allowed-tools: Read Grep
|
|
8
|
+
allowed-tools: Read Grep summer_assets_search summer_assets_get summer_import_asset_by_id summer_assets_generate_3d summer_assets_generate_image summer_import_from_url summer_add_node summer_set_prop summer_inspect_node summer_get_scene_tree summer_save_scene summer_jobs_wait summer_call
|
|
9
9
|
paths: ["assets/kits/**", "assets/models/**", "**/*.tscn", "**/*.gd"]
|
|
10
10
|
---
|
|
11
11
|
|
|
@@ -13,7 +13,7 @@ paths: ["assets/kits/**", "assets/models/**", "**/*.tscn", "**/*.gd"]
|
|
|
13
13
|
|
|
14
14
|
A kit is a *family* of meshes — wall, floor, door, pillar, corner, arch — that the level designer snaps together to build interiors and exteriors. The skill exists to solve **one specific failure mode**: generating each piece with a fresh prompt produces six pieces that look like they came from six different games. The fix is the **style anchor pattern** — generate one piece first, lock its prompt suffix, and reuse that exact suffix for every subsequent piece.
|
|
15
15
|
|
|
16
|
-
The backing
|
|
16
|
+
The backing operation is `assets.generate_3d`, called once per piece; each call answers with a job that `jobs.wait` follows. A 6-piece kit is six generations and about 5 minutes. Generation uses credits, so confirm scope before starting (`dryRun: true` on one piece's call gives its credits).
|
|
17
17
|
|
|
18
18
|
## When to use
|
|
19
19
|
|
|
@@ -63,7 +63,7 @@ Kit pieces only feel modular if they snap to a fixed grid. Pick the grid before
|
|
|
63
63
|
| **2m** | Standard interiors (homes, taverns, offices) | Wall = 2×3×0.3m. Floor = 2×2m. Halves piece count. |
|
|
64
64
|
| **4m** | Exteriors and large halls (temples, warehouses, throne rooms) | Wall = 4×4×0.4m. Floor = 4×4m. Quarter the piece count for the same area. |
|
|
65
65
|
|
|
66
|
-
**Critical:** include the dimensions in the prompt. `
|
|
66
|
+
**Critical:** include the dimensions in the prompt. `assets.generate_3d` doesn't enforce them, but Hunyuan respects scale cues — `2 meter tall wall section` produces a mesh that imports near 2m tall. Then verify with `summer_inspect_resource` and scale-correct in the editor if needed.
|
|
67
67
|
|
|
68
68
|
## Steps
|
|
69
69
|
|
|
@@ -76,13 +76,13 @@ Kit pieces only feel modular if they snap to a fixed grid. Pick the grid before
|
|
|
76
76
|
Use the prop-style prompt with explicit dimensions:
|
|
77
77
|
|
|
78
78
|
```
|
|
79
|
-
|
|
80
|
-
prompt
|
|
81
|
-
model
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
)
|
|
85
|
-
|
|
79
|
+
assets.generate_3d({
|
|
80
|
+
prompt: "A 2 meter wide by 3 meter tall stone dungeon wall section, mossy granite blocks with iron reinforcements, torch-bracket sconce, weathered surface. Game asset, centered, stylized low-poly game art, warm torchlight palette, white background, isolated object.",
|
|
81
|
+
model: "hunyuan",
|
|
82
|
+
targetPolycount: 1500
|
|
83
|
+
})
|
|
84
|
+
jobs.wait({ jobId: "<job.id>", timeoutSeconds: 50 }) // again until finished; result.assetId
|
|
85
|
+
assets.get({ assetId: "<assetId>" })
|
|
86
86
|
summer_import_asset_by_id(assetId="<assetId>", path="res://assets/kits/dungeon/wall.glb")
|
|
87
87
|
```
|
|
88
88
|
|
|
@@ -90,19 +90,19 @@ Show the result to the user. **Iterate the anchor until approved** — every oth
|
|
|
90
90
|
|
|
91
91
|
### 3. Lock the suffix and generate the remaining pieces
|
|
92
92
|
|
|
93
|
-
Once the user says "yes, that's the look", store the locked suffix and crank through the rest. Same model, same
|
|
93
|
+
Once the user says "yes, that's the look", store the locked suffix and crank through the rest. Same model, same `targetPolycount` scale. Only the object description changes. Start every piece first, then wait on the jobs: they run side by side.
|
|
94
94
|
|
|
95
95
|
```
|
|
96
96
|
# Floor
|
|
97
|
-
|
|
97
|
+
assets.generate_3d({ prompt: "A 2 by 2 meter square stone dungeon floor tile, mossy granite blocks with iron reinforcements, weathered surface. Game asset, centered, stylized low-poly game art, warm torchlight palette, white background, isolated object.", model: "hunyuan", targetPolycount: 800 })
|
|
98
98
|
|
|
99
99
|
# Pillar
|
|
100
|
-
|
|
100
|
+
assets.generate_3d({ prompt: "A 3 meter tall stone dungeon pillar, square base, fluted shaft, mossy granite blocks with iron reinforcements, weathered surface. Game asset, ...", model: "hunyuan", targetPolycount: 1500 })
|
|
101
101
|
|
|
102
|
-
# Door, Corner, Arch — same pattern.
|
|
102
|
+
# Door, Corner, Arch — same pattern. Then jobs.wait on each job id.
|
|
103
103
|
```
|
|
104
104
|
|
|
105
|
-
For each
|
|
105
|
+
For each finished job, capture the returned `assetId`, then import that
|
|
106
106
|
exact ID with `summer_import_asset_by_id`. Do not search for generated pieces by
|
|
107
107
|
name after creating them; exact IDs are the production path.
|
|
108
108
|
|
|
@@ -149,6 +149,10 @@ Check the AABB. If the wall is 1.85m tall when you asked for 3m, scale it in the
|
|
|
149
149
|
- **Sci-fi kit (corridors, doors, terminals).** The style suffix becomes critical — `clean panels, soft cyan emissive trim, brushed metal, white background, isolated object`. Hard surfaces drift more than organic ones; review every piece.
|
|
150
150
|
- **The user wants to add a piece later.** The locked suffix lives in the kit's notes (drop it in `assets/kits/dungeon/STYLE.md` if the user wants persistence). Reuse it verbatim for any addition — never re-derive.
|
|
151
151
|
|
|
152
|
+
## Without Summer Engine
|
|
153
|
+
|
|
154
|
+
In a session without Summer Engine tools (the assets profile; the `summer-assets` skill has the whole loop), do steps 1-3 and skip steps 4-5 (staging in a kit scene). Save the file where the person asked with `out` (the `summer-assets` skill says how), and tell them the path and format. Tell the person the grid from step 1, so they can check scale and pivots in their own engine.
|
|
155
|
+
|
|
152
156
|
## Fallback (no MCP)
|
|
153
157
|
|
|
154
158
|
1. Run each prompt at the Summer dashboard (or Hunyuan / Trellis web UIs), keeping the locked suffix.
|
|
@@ -173,3 +177,26 @@ After the kit is staged:
|
|
|
173
177
|
- `asset-strategy` — Pipeline 2 (textures + CSG) is the cheaper alternative when pieces are flat.
|
|
174
178
|
- `scene-composition` — how to organize the kit scene and the level scenes that consume it.
|
|
175
179
|
- `3d-lighting` — interior kit pieces typically need warm point lights at sconce positions.
|
|
180
|
+
|
|
181
|
+
<!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
|
|
182
|
+
## From a shell
|
|
183
|
+
|
|
184
|
+
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.
|
|
185
|
+
|
|
186
|
+
| In this skill | Command |
|
|
187
|
+
|---|---|
|
|
188
|
+
| `assets.generate_3d`, `summer_assets_generate_3d` | `summer assets generate-3d` |
|
|
189
|
+
| `summer_assets_generate_image` | `summer assets generate-image` |
|
|
190
|
+
| `summer_assets_get` | `summer assets get` |
|
|
191
|
+
| `summer_assets_search` | `summer assets search` |
|
|
192
|
+
| `summer_add_node` | `summer engine add-node` |
|
|
193
|
+
| `summer_get_scene_tree` | `summer engine get-scene-tree` |
|
|
194
|
+
| `summer_import_asset_by_id` | `summer engine import-asset-by-id` |
|
|
195
|
+
| `summer_import_from_url` | `summer engine import-from-url` |
|
|
196
|
+
| `summer_inspect_node` | `summer engine inspect-node` |
|
|
197
|
+
| `summer_inspect_resource` | `summer engine inspect-resource` |
|
|
198
|
+
| `summer_instantiate_scene` | `summer engine instantiate-scene` |
|
|
199
|
+
| `summer_save_scene` | `summer engine save-scene` |
|
|
200
|
+
| `summer_set_prop` | `summer engine set-prop` |
|
|
201
|
+
| `jobs.wait`, `summer_jobs_wait` | `summer jobs wait` |
|
|
202
|
+
<!-- /shell-commands -->
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
id: skill/environment-kit
|
|
2
2
|
kind: skill
|
|
3
3
|
version: 1.0.3
|
|
4
|
-
summary: Generate a modular environment kit
|
|
4
|
+
summary: "Generate a modular environment kit: walls, floor tiles, pillars, doors, arches in one visual style."
|
|
5
5
|
use_when:
|
|
6
6
|
- generating a modular environment kit of snap-together pieces that form a level — dungeon kit, modular walls, interior pieces
|
|
7
7
|
- building a dungeon, interior, or town kit from repeatable pieces that snap together in one style
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: export-and-ship
|
|
3
|
-
description: "
|
|
3
|
+
description: "Prepare a game export: check templates and targets, validate release assets, build after approval."
|
|
4
4
|
license: MIT
|
|
5
5
|
compatibility: [Cursor, Claude Code, Windsurf, Codex]
|
|
6
6
|
category: deployment
|
|
@@ -295,7 +295,7 @@ For each build:
|
|
|
295
295
|
|
|
296
296
|
Per platform, point the user at the correct upload path:
|
|
297
297
|
|
|
298
|
-
- **summer.games:** `summer_export_game` writes the summer.games `.zip`; `
|
|
298
|
+
- **summer.games:** `summer_export_game` writes the summer.games `.zip`; `store.upload_file` uploads it to the game's store listing after the user confirms the exact game, file and version (needs `summer login --store`; through `summer_call` when your client does not list it). If the store refuses this machine's sign-in, the user uploads the `.zip` in Studio instead. The `publish-your-game` skill takes it from there to `store.publish`.
|
|
299
299
|
- Per platform, the store takes: iPhone, Android, macOS and Windows in the Summer apps = one summer.games bundle (`summer_export_game` `targets`, format `bundle`; no template, no signing; a game without a server targets `ios`/`android` only). Web = an HTML5 `.zip` on Summer's WebGPU Forward+ template (`targets:["web"]`; the project must render with Forward+ or Mobile). A macOS or Windows download for the store page = `targets:["macos"]` or `["windows"]` with format `download`. Download exports need the template: `summer_export_templates` `install` fetches it from Summer's CDN.
|
|
300
300
|
- Hosted games: if `summer_export_game` fails with "… is in the source graph's authority_engine domain, which the client pack leaves out", an authority root in `source-domains.json` holds a file the client loads (often the composition `.tres`). Narrow that root to the server-only files, or move the shared file under a `shared` path, then export again. Every exporter message is in the `multiplayer-publish` skill's export-errors.md; the folder rules are in `multiplayer-project`.
|
|
301
301
|
- Every summer.games bundle: export with the released Summer editor from the download page, never a development build, and export again after updating Summer. Otherwise its scripts can fail to compile on players' devices and the game opens to an empty window, though every upload check passes. `release-readiness` check 7 proves it.
|
|
@@ -358,7 +358,7 @@ Use this as a one-shot grep before any export:
|
|
|
358
358
|
|
|
359
359
|
## Collaborative protocol
|
|
360
360
|
|
|
361
|
-
This skill produces release artifacts. Always ask before each build is invoked. Group platforms — "I'm about to build Windows + Mac + Linux release configs into `build/`. OK?". See
|
|
361
|
+
This skill produces release artifacts. Always ask before each build is invoked. Group platforms — "I'm about to build Windows + Mac + Linux release configs into `build/`. OK?". See `summer_docs_read` id `reference/collaborative-protocol`.
|
|
362
362
|
|
|
363
363
|
## Want a working starter?
|
|
364
364
|
|
|
@@ -366,9 +366,32 @@ No template — this is a workflow. Each project's export config and store asset
|
|
|
366
366
|
|
|
367
367
|
## See also
|
|
368
368
|
|
|
369
|
-
-
|
|
370
|
-
-
|
|
369
|
+
- `summer_docs_read` id `reference/mcp-tools-reference` — full MCP tool list
|
|
370
|
+
- `summer_docs_read` id `reference/godot-version` — Summer compatibility and
|
|
371
371
|
export-template versioning
|
|
372
|
-
-
|
|
372
|
+
- `summer_docs_read` id `reference/collaborative-protocol` — "May I write" pattern
|
|
373
373
|
- `headless-scripting` — the headless CLI pattern the export command follows
|
|
374
374
|
- `tune-performance` — pre-ship performance pass
|
|
375
|
+
|
|
376
|
+
<!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
|
|
377
|
+
## From a shell
|
|
378
|
+
|
|
379
|
+
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.
|
|
380
|
+
|
|
381
|
+
| In this skill | Command |
|
|
382
|
+
|---|---|
|
|
383
|
+
| `summer_docs_read` | `summer docs read` |
|
|
384
|
+
| `summer_capture_gameplay` | `summer engine capture-gameplay` |
|
|
385
|
+
| `summer_export_game` | `summer engine export-game` |
|
|
386
|
+
| `summer_export_templates` | `summer engine export-templates` |
|
|
387
|
+
| `summer_get_console` | `summer engine get-console` |
|
|
388
|
+
| `summer_get_diagnostics` | `summer engine get-diagnostics` |
|
|
389
|
+
| `summer_get_project_context` | `summer engine get-project-context` |
|
|
390
|
+
| `summer_get_scene_tree` | `summer engine get-scene-tree` |
|
|
391
|
+
| `summer_get_script_errors` | `summer engine get-script-errors` |
|
|
392
|
+
| `summer_inspect_node` | `summer engine inspect-node` |
|
|
393
|
+
| `summer_project_setting` | `summer engine project-setting` |
|
|
394
|
+
| `summer_screenshot` | `summer engine screenshot` |
|
|
395
|
+
| `store.publish` | `summer store publish` |
|
|
396
|
+
| `store.upload_file` | `summer store upload-file` |
|
|
397
|
+
<!-- /shell-commands -->
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
id: skill/export-and-ship
|
|
2
2
|
kind: skill
|
|
3
3
|
version: 1.0.3
|
|
4
|
-
summary: "
|
|
4
|
+
summary: "Prepare a game export: check templates and targets, validate release assets, build after approval."
|
|
5
5
|
use_when:
|
|
6
6
|
- the user wants to assess or prepare a Summer game export — Steam, itch, HTML5, iOS, Android targets as available in the installed build
|
|
7
7
|
- the user says 'publish my game', 'release it', or 'ship a build to players' — produce the build they will upload
|