summer-engine 3.6.0 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +4 -2
  3. package/.codex-plugin/plugin.json +5 -3
  4. package/.cursor-plugin/plugin.json +4 -2
  5. package/.factory-plugin/plugin.json +4 -2
  6. package/CHANGELOG.md +24 -0
  7. package/README.md +11 -5
  8. package/commands/summer.md +2 -1
  9. package/dist/cli/commands/login.d.ts +0 -10
  10. package/dist/cli/commands/login.js +2 -82
  11. package/dist/cli/index.js +0 -4
  12. package/dist/core/auth.d.ts +0 -8
  13. package/dist/core/auth.js +5 -35
  14. package/dist/core/capabilities/apps.d.ts +318 -0
  15. package/dist/core/capabilities/apps.js +340 -0
  16. package/dist/core/capabilities/enable-plugin.d.ts +27 -0
  17. package/dist/core/capabilities/enable-plugin.js +75 -0
  18. package/dist/core/capabilities/seeing/args.d.ts +2 -2
  19. package/dist/core/capabilities/seeing/seeing.d.ts +1 -1
  20. package/dist/core/capabilities/sfx-choices.d.ts +2 -15
  21. package/dist/core/capabilities/sfx-choices.js +26 -64
  22. package/dist/core/capabilities/tool-dispatch.js +51 -54
  23. package/dist/core/capability-skew.js +4 -0
  24. package/dist/core/config.d.ts +1 -7
  25. package/dist/core/config.js +5 -75
  26. package/dist/mcp/hosted-mount.js +13 -1
  27. package/dist/mcp/server.d.ts +2 -1
  28. package/dist/mcp/server.js +8 -5
  29. package/dist/mcp/tools/app-tools.d.ts +2 -0
  30. package/dist/mcp/tools/app-tools.js +64 -0
  31. package/dist/mcp/tools/creator-tools.js +0 -71
  32. package/dist/mcp/tools/generate-tools.js +6 -7
  33. package/gemini-extension.json +3 -1
  34. package/library/references/mcp-tools-reference/mcp-tools-reference.md +24 -5
  35. package/library/skills/README.md +10 -2
  36. package/library/skills/publish-your-game/SKILL.md +2 -0
  37. package/library/skills/sound-effect/SKILL.md +2 -0
  38. package/library/skills/summer-apps/SKILL.md +152 -0
  39. package/library/skills/summer-apps/manifest.md +57 -0
  40. package/library/skills/summer-apps/minimal-app.md +183 -0
  41. package/library/skills/summer-apps/resource.yaml +36 -0
  42. package/library/skills/summer-apps/sdk-reference.md +135 -0
  43. package/library/skills/summer-apps-design/SKILL.md +197 -0
  44. package/library/skills/summer-apps-design/resource.yaml +23 -0
  45. package/library/skills/using-summer/SKILL.md +1 -0
  46. package/library/tools/app-call/resource.yaml +59 -0
  47. package/library/tools/app-create/resource.yaml +67 -0
  48. package/library/tools/app-data/resource.yaml +74 -0
  49. package/library/tools/app-dock/resource.yaml +59 -0
  50. package/library/tools/app-events/resource.yaml +68 -0
  51. package/library/tools/app-get/resource.yaml +46 -0
  52. package/library/tools/app-guide/resource.yaml +55 -0
  53. package/library/tools/app-list/resource.yaml +48 -0
  54. package/library/tools/app-page/resource.yaml +74 -0
  55. package/library/tools/app-publish/resource.yaml +90 -0
  56. package/library/tools/app-report-gap/resource.yaml +58 -0
  57. package/library/tools/app-screenshot/resource.yaml +85 -0
  58. package/library/tools/app-tools/resource.yaml +46 -0
  59. package/library/tools/app-update/resource.yaml +68 -0
  60. package/library/tools/enable-plugin/resource.yaml +53 -0
  61. package/library/tools/generate-sfx-choices/resource.yaml +2 -2
  62. package/package.json +1 -1
  63. package/registry/generated/aliases.json +15 -3
  64. package/registry/generated/counts.json +3 -3
  65. package/registry/generated/gemini-extension.json +3 -1
  66. package/registry/generated/index.json +759 -209
  67. package/registry/generated/marketplace.claude.json +2 -2
  68. package/registry/generated/plugin.claude.json +4 -2
  69. package/registry/generated/plugin.codex.json +5 -3
  70. package/registry/generated/plugin.cursor.json +4 -2
  71. package/registry/generated/plugin.factory.json +4 -2
  72. package/registry/generated/skills-index.md +10 -2
  73. package/registry/generated/skills-registry.json +27 -0
  74. package/registry/schemas/allowed-hosts.json +4 -2
  75. package/dist/cli/commands/publish.d.ts +0 -2
  76. package/dist/cli/commands/publish.js +0 -21
  77. package/dist/cli/commands/releases.d.ts +0 -2
  78. package/dist/cli/commands/releases.js +0 -20
  79. package/dist/core/capabilities/creator.d.ts +0 -65
  80. package/dist/core/capabilities/creator.js +0 -374
  81. package/library/tools/creator-config/resource.yaml +0 -63
  82. package/library/tools/creator-publish/resource.yaml +0 -74
  83. package/library/tools/creator-releases/resource.yaml +0 -53
@@ -148,7 +148,7 @@
148
148
  "id": "reference/mcp-tools-reference",
149
149
  "kind": "reference",
150
150
  "version": "1.4.1",
151
- "content_hash": "87742ed2af1190af6d5bda79b4fe0cde1973fcd74c0cd4a5763e1bdcc23b4fb9",
151
+ "content_hash": "572d526eaf371d4790fa52e050fe8d779ef26bd86af5677775f9a1814a1ab372",
152
152
  "summary": "Canonical reference for which Summer MCP tool to call — skills should reference tool names exactly as written here.",
153
153
  "use_when": [
154
154
  "choosing between Summer MCP tools and host tools for an operation",
@@ -2828,7 +2828,7 @@
2828
2828
  "id": "skill/publish-your-game",
2829
2829
  "kind": "skill",
2830
2830
  "version": "1.0.0",
2831
- "content_hash": "0328c6d71f662059cc2514864e005c2e71cf90811553ef2a2ecabbbf9cb4305f",
2831
+ "content_hash": "c2ed78b67c43fbcea5792ec31b97daff0ded3e0fe63e8d676ecdc8da7527de4d",
2832
2832
  "summary": "Publish a Summer game on Summer Games through MCP: store page, art, build upload, submit, and one approval link for the owner.",
2833
2833
  "use_when": [
2834
2834
  "the user says 'publish my game', 'put it on summer.games', 'launch it on the store' or 'submit it for review'",
@@ -3440,7 +3440,7 @@
3440
3440
  "id": "skill/sound-effect",
3441
3441
  "kind": "skill",
3442
3442
  "version": "1.1.0",
3443
- "content_hash": "4ea1cf55a48cf8e4670018c9a7b858e970acb3852b3e0023bade97e408c8eb08",
3443
+ "content_hash": "a02073249416a329b4d40848af7d5ba7df9b294d9bf7e9a4d856a6af846f2aad",
3444
3444
  "summary": "Make SFX one-shots and timed sequences (swings, hits, whooshes, reloads, UI) - offer three model versions to pick from, then wire them as AudioStreamPlayers.",
3445
3445
  "use_when": [
3446
3446
  "generating short SFX one-shots — footsteps, weapon swings, UI clicks, hit impacts, environmental cues",
@@ -3686,6 +3686,83 @@
3686
3686
  "status": "preview",
3687
3687
  "recommended": false
3688
3688
  },
3689
+ {
3690
+ "id": "skill/summer-apps",
3691
+ "kind": "skill",
3692
+ "version": "0.1.0",
3693
+ "content_hash": "9f6a38561db1bd8be5e63032d81de52dae805e19426f0027064a6eb6126b4177",
3694
+ "summary": "Build a Summer App, a team tool inside Summer Studio (balance table, quest editor, tracker, pick grid): build loop, Layout vs code, data as API, agent tools.",
3695
+ "use_when": [
3696
+ "the person asks for a tool for their team (\"build us a loot balance tool\", \"a board to track creatures\")",
3697
+ "the person needs a UI to decide, rate or edit something they will come back to",
3698
+ "reading or changing the data of an existing Summer App",
3699
+ "calling an app's agent tools or waiting for what an app sends"
3700
+ ],
3701
+ "facets": {
3702
+ "lifecycle": [
3703
+ "build"
3704
+ ],
3705
+ "domains": [
3706
+ "tools",
3707
+ "ui",
3708
+ "agent-workflow"
3709
+ ],
3710
+ "modalities": [
3711
+ "ui",
3712
+ "docs"
3713
+ ]
3714
+ },
3715
+ "compatibility": {
3716
+ "engine": ">=4.6"
3717
+ },
3718
+ "related": {
3719
+ "skills": [
3720
+ "skill/summer-apps-design"
3721
+ ],
3722
+ "tools": [
3723
+ "tool/app-guide",
3724
+ "tool/app-create",
3725
+ "tool/app-publish",
3726
+ "tool/app-events",
3727
+ "tool/app-data",
3728
+ "tool/app-call",
3729
+ "tool/app-dock"
3730
+ ]
3731
+ },
3732
+ "status": "preview",
3733
+ "recommended": true
3734
+ },
3735
+ {
3736
+ "id": "skill/summer-apps-design",
3737
+ "kind": "skill",
3738
+ "version": "0.1.0",
3739
+ "content_hash": "7176fc0bf683de75bf3231a873e240417ff91f1e864ca3c5670c54dc4c3d77c4",
3740
+ "summary": "How a Summer App should look - page layout, Summer UI kit components, tables, charts, media, boards, states and a pre-ship checklist.",
3741
+ "use_when": [
3742
+ "building or changing the UI of a Summer App (agent-built team tool inside Summer Studio)",
3743
+ "an app looks generic, cluttered or off-brand",
3744
+ "choosing layout for a table, chart, board, pick grid or settings tool"
3745
+ ],
3746
+ "facets": {
3747
+ "lifecycle": [
3748
+ "build"
3749
+ ],
3750
+ "domains": [
3751
+ "ui",
3752
+ "tools"
3753
+ ],
3754
+ "modalities": [
3755
+ "docs"
3756
+ ]
3757
+ },
3758
+ "related": {
3759
+ "skills": [
3760
+ "skill/summer-apps"
3761
+ ]
3762
+ },
3763
+ "status": "preview",
3764
+ "recommended": true
3765
+ },
3689
3766
  {
3690
3767
  "id": "skill/summer-friends",
3691
3768
  "kind": "skill",
@@ -4298,7 +4375,7 @@
4298
4375
  "id": "skill/using-summer",
4299
4376
  "kind": "skill",
4300
4377
  "version": "1.0.5",
4301
- "content_hash": "8051cc6e1cc6135796ba91daf32d205ddbbef202a80fddabf8623a1dcbb1914e",
4378
+ "content_hash": "414b8174a55788c3eb3588ef02017bcba4b9c01b6bd59e776e547dbb11e472ea",
4302
4379
  "summary": "Session bootstrap for Summer projects — establishes how to find and use Summer skills and the summer-engine MCP before any response.",
4303
4380
  "use_when": [
4304
4381
  "starting any conversation in a Summer Engine project",
@@ -5578,199 +5655,187 @@
5578
5655
  }
5579
5656
  },
5580
5657
  {
5581
- "id": "tool/attach-to-surface",
5658
+ "id": "tool/app-call",
5582
5659
  "kind": "tool",
5583
5660
  "version": "1.0.0",
5584
- "content_hash": "e2207bbdab1a86f499382d89314fc48ea501080d814f15ffdfb9d06b47f047db",
5585
- "summary": "Mount a piece on a wall, ceiling or floor — turn its measured back into the surface found by a ray, keep it upright, seat it at a standoff. Saves the scene.",
5661
+ "content_hash": "489fb7d31ffe77b2ec9e403b7c51f2c2f1e486274e7e488797490209bab57ab2",
5662
+ "summary": "Run one of a Summer App's agent tools inside the person's open app.",
5586
5663
  "use_when": [
5587
- "mounting a downpipe, gutter, lamp, AC unit, sign or fire escape on a facade",
5588
- "turning a piece so its back faces a wall instead of guessing its rotation",
5589
- "seating a piece against a surface at an exact standoff"
5664
+ "\"nerf the bow using the balance formula in our app\"",
5665
+ "using logic that lives in an app (a balance formula, an export) while the app is open"
5590
5666
  ],
5591
5667
  "facets": {
5592
5668
  "lifecycle": [
5593
5669
  "build"
5594
5670
  ],
5595
5671
  "domains": [
5596
- "scenes",
5597
- "3d",
5598
- "world-building",
5599
- "level-design"
5600
- ],
5601
- "modalities": [
5602
- "scenes"
5672
+ "tools",
5673
+ "ui"
5603
5674
  ]
5604
5675
  },
5605
5676
  "compatibility": {
5606
5677
  "engine": ">=4.6"
5607
5678
  },
5608
5679
  "related": {
5609
- "tools": [
5610
- "tool/raycast",
5611
- "tool/snap-to-surface",
5612
- "tool/inspect-asset",
5613
- "tool/starcast"
5614
- ],
5615
5680
  "skills": [
5616
- "skill/spatial-placement"
5681
+ "skill/summer-apps"
5617
5682
  ]
5618
5683
  },
5619
5684
  "status": "preview",
5620
- "mcp_tool_name": "summer_attach_to_surface",
5621
- "remote": false,
5685
+ "mcp_tool_name": "summer_app_call",
5686
+ "remote": true,
5622
5687
  "authority": {
5623
- "filesystem": true,
5624
- "editor_mutation": true,
5625
- "network": false,
5688
+ "filesystem": false,
5689
+ "editor_mutation": false,
5690
+ "network": true,
5626
5691
  "credentials": false,
5627
5692
  "publish": false
5628
5693
  }
5629
5694
  },
5630
5695
  {
5631
- "id": "tool/batch",
5696
+ "id": "tool/app-create",
5632
5697
  "kind": "tool",
5633
- "version": "1.1.0",
5634
- "content_hash": "ec6fa446a214a15c5562061ba0f39072f698ea69243e4326e4931683bc62f286",
5635
- "summary": "Run engine ops in one call, verbatim; one undo step unless single-only ops split it. ReparentNode keeps and verifies its subtree; raw ConnectSignal is refused.",
5698
+ "version": "1.0.0",
5699
+ "content_hash": "a9ca4527c4397e449e88bc5b058353821b75dd3368a26e031ec2cc0b02736efb",
5700
+ "summary": "Create a new scratch Summer App (a tool for the person's team inside Summer Studio) and open it in their Studio tab.",
5636
5701
  "use_when": [
5637
- "multi-node builds that should undo as one step (no single-only ops in the list)",
5638
- "reaching engine ops that have no dedicated tool",
5639
- "placing many kit pieces, one InstantiateScene op per piece with its position and rotation, read back with receipt summary"
5702
+ "\"build me a tool for…\" / \"make an app that…\"",
5703
+ "the person needs a UI to decide or edit something they will come back to"
5640
5704
  ],
5641
5705
  "facets": {
5642
5706
  "lifecycle": [
5643
5707
  "build"
5644
5708
  ],
5645
5709
  "domains": [
5646
- "scenes",
5647
- "editor"
5710
+ "tools",
5711
+ "ui"
5648
5712
  ]
5649
5713
  },
5650
5714
  "compatibility": {
5651
5715
  "engine": ">=4.6"
5652
5716
  },
5653
- "status": "stable",
5654
- "mcp_tool_name": "summer_batch",
5655
- "remote": false,
5717
+ "related": {
5718
+ "skills": [
5719
+ "skill/summer-apps"
5720
+ ]
5721
+ },
5722
+ "status": "preview",
5723
+ "mcp_tool_name": "summer_app_create",
5724
+ "remote": true,
5656
5725
  "authority": {
5657
- "filesystem": true,
5658
- "editor_mutation": true,
5659
- "network": false,
5726
+ "filesystem": false,
5727
+ "editor_mutation": false,
5728
+ "network": true,
5660
5729
  "credentials": false,
5661
5730
  "publish": false
5662
5731
  }
5663
5732
  },
5664
5733
  {
5665
- "id": "tool/camera-bookmark",
5734
+ "id": "tool/app-data",
5666
5735
  "kind": "tool",
5667
5736
  "version": "1.0.0",
5668
- "content_hash": "42c4dfe31c6634c1b583a8e831a040d3d4b5b6bbdfe97ed71a2d7810a5b39891",
5669
- "summary": "Save, list, or delete named camera viewpoints stored in the project, so before/after screenshots are taken from exactly the same pose.",
5737
+ "content_hash": "4d2652bfdfa8d9f347ac91d0c4f7244a7babc62ad675e7b38125986c47d79509",
5738
+ "summary": "Read or write a Summer App's shared data collections; works with no app open and the team sees writes live.",
5670
5739
  "use_when": [
5671
- "\"save this camera angle\" / \"remember this viewpoint\" so later screenshots line up with it",
5672
- "comparing a scene before and after a change from one fixed, repeatable camera pose",
5673
- "listing or removing the saved viewpoints of a project"
5740
+ "\"nerf the bow in our balance sheet\"",
5741
+ "seeding an app with data",
5742
+ "reading what the team entered in an app"
5674
5743
  ],
5675
5744
  "facets": {
5676
5745
  "lifecycle": [
5677
5746
  "build"
5678
5747
  ],
5679
5748
  "domains": [
5680
- "verification",
5681
- "scenes"
5682
- ],
5683
- "modalities": [
5684
- "scenes"
5749
+ "tools",
5750
+ "ui"
5685
5751
  ]
5686
5752
  },
5687
5753
  "compatibility": {
5688
5754
  "engine": ">=4.6"
5689
5755
  },
5690
5756
  "related": {
5691
- "tools": [
5692
- "tool/screenshot",
5693
- "tool/world-snapshot",
5694
- "tool/snapshot-diff"
5695
- ],
5696
5757
  "skills": [
5697
- "skill/verifying-scenes",
5698
- "skill/scene-scripting"
5758
+ "skill/summer-apps"
5699
5759
  ]
5700
5760
  },
5701
5761
  "status": "preview",
5702
- "mcp_tool_name": "summer_camera_bookmark",
5703
- "remote": false,
5762
+ "mcp_tool_name": "summer_app_data",
5763
+ "remote": true,
5704
5764
  "authority": {
5705
- "filesystem": true,
5765
+ "filesystem": false,
5706
5766
  "editor_mutation": false,
5707
- "network": false,
5767
+ "network": true,
5708
5768
  "credentials": false,
5709
5769
  "publish": false
5710
5770
  }
5711
5771
  },
5712
5772
  {
5713
- "id": "tool/capture-gameplay",
5773
+ "id": "tool/app-dock",
5714
5774
  "kind": "tool",
5715
5775
  "version": "1.0.0",
5716
- "content_hash": "7195fee358600665d2b1e0ec40eeb68a7c517e775f5cc4a366259bceba07cd03",
5717
- "summary": "Capture real gameplay PNGs (HUD included) offscreen without a running editor; game flags and player steps (press, key, click) get past the title screen.",
5776
+ "content_hash": "57cb8039759a799b9ef3c0019c620c5f072d78987d69bd7d089a29655893c676",
5777
+ "summary": "Dock a Summer App as a panel in the running Summer Engine editor, close it, or list docked apps.",
5718
5778
  "use_when": [
5719
- "\"take gameplay screenshots for my store page\"",
5720
- "\"I need screenshots but the editor is not open\"",
5721
- "\"capture a 1920x1080 frame of my game\"",
5722
- "collecting real gameplay screenshots for summer_store_set_art desktop.screenshots or mobile.screenshots",
5723
- "every capture shows the title screen — pass the game's flags in args or steps like press Play"
5779
+ "\"put the quest editor next to my scene\"",
5780
+ "keeping a team tool open while editing"
5724
5781
  ],
5725
5782
  "facets": {
5726
5783
  "lifecycle": [
5727
- "launch",
5728
5784
  "build"
5729
5785
  ],
5730
5786
  "domains": [
5731
- "creator",
5732
- "headless"
5787
+ "tools",
5788
+ "ui"
5733
5789
  ]
5734
5790
  },
5735
5791
  "compatibility": {
5736
5792
  "engine": ">=4.6"
5737
5793
  },
5794
+ "related": {
5795
+ "skills": [
5796
+ "skill/summer-apps"
5797
+ ]
5798
+ },
5738
5799
  "status": "preview",
5739
- "mcp_tool_name": "summer_capture_gameplay",
5740
- "remote": true,
5800
+ "mcp_tool_name": "summer_app_dock",
5801
+ "remote": false,
5741
5802
  "authority": {
5742
- "filesystem": true,
5743
- "editor_mutation": false,
5803
+ "filesystem": false,
5804
+ "editor_mutation": true,
5744
5805
  "network": false,
5745
5806
  "credentials": false,
5746
5807
  "publish": false
5747
5808
  }
5748
5809
  },
5749
5810
  {
5750
- "id": "tool/check-job",
5811
+ "id": "tool/app-events",
5751
5812
  "kind": "tool",
5752
- "version": "1.0.2",
5753
- "content_hash": "a17e889099781c54902facf3abcbbdd8c10c0018333fdceb40d48f24dc01f183",
5754
- "summary": "Check the status of an async generation job by id.",
5813
+ "version": "1.0.0",
5814
+ "content_hash": "08baf882083352c40ab71d36b4f51aaa50754c72b9eb6386ab7993d62494f42a",
5815
+ "summary": "Wait for what a Summer App sends to agents: summer.agent.send events, app errors, feedback and tool calls.",
5755
5816
  "use_when": [
5756
- "a generation ran without waiting, or timed out, and needs re-checking",
5757
- "\"is my 3D model / video done yet?\"",
5758
- "a generate_* call returned a job id instead of a finished asset"
5817
+ "waiting for the person to act in an app you built",
5818
+ "checking an app for errors after publishing"
5759
5819
  ],
5760
5820
  "facets": {
5761
5821
  "lifecycle": [
5762
5822
  "build"
5763
5823
  ],
5764
5824
  "domains": [
5765
- "generate",
5766
- "pipeline"
5825
+ "tools",
5826
+ "ui"
5767
5827
  ]
5768
5828
  },
5769
5829
  "compatibility": {
5770
5830
  "engine": ">=4.6"
5771
5831
  },
5772
- "status": "stable",
5773
- "mcp_tool_name": "summer_check_job",
5832
+ "related": {
5833
+ "skills": [
5834
+ "skill/summer-apps"
5835
+ ]
5836
+ },
5837
+ "status": "preview",
5838
+ "mcp_tool_name": "summer_app_events",
5774
5839
  "remote": true,
5775
5840
  "authority": {
5776
5841
  "filesystem": false,
@@ -5781,130 +5846,564 @@
5781
5846
  }
5782
5847
  },
5783
5848
  {
5784
- "id": "tool/clear-console",
5849
+ "id": "tool/app-get",
5785
5850
  "kind": "tool",
5786
- "version": "1.0.2",
5787
- "content_hash": "5d96c1b758bcb0521a2ba2f291fc5b3929487df9222b735238eb97d7a645077c",
5788
- "summary": "Clear the editor's Output panel for a clean slate before running the game.",
5851
+ "version": "1.0.0",
5852
+ "content_hash": "1aea5d5dde2b779c32fd9525cfd349e8afaacd3366bc33f2d83b3b41ae40d49a",
5853
+ "summary": "Read a Summer App's manifest, current files (or layout) and shared data summary.",
5789
5854
  "use_when": [
5790
- "before a play session whose console output you want isolated",
5791
- "\"the Output panel is full of old noise, wipe it\"",
5792
- "resetting before reproducing a bug so only the new messages show"
5855
+ "before changing an existing app",
5856
+ "\"what does our loot table app do\""
5793
5857
  ],
5794
5858
  "facets": {
5795
5859
  "lifecycle": [
5796
5860
  "build"
5797
5861
  ],
5798
5862
  "domains": [
5799
- "debug",
5800
- "editor"
5863
+ "tools",
5864
+ "ui"
5801
5865
  ]
5802
5866
  },
5803
5867
  "compatibility": {
5804
5868
  "engine": ">=4.6"
5805
5869
  },
5806
- "status": "stable",
5807
- "mcp_tool_name": "summer_clear_console",
5808
- "remote": false,
5870
+ "related": {
5871
+ "skills": [
5872
+ "skill/summer-apps"
5873
+ ]
5874
+ },
5875
+ "status": "preview",
5876
+ "mcp_tool_name": "summer_app_get",
5877
+ "remote": true,
5809
5878
  "authority": {
5810
5879
  "filesystem": false,
5811
- "editor_mutation": true,
5812
- "network": false,
5880
+ "editor_mutation": false,
5881
+ "network": true,
5813
5882
  "credentials": false,
5814
5883
  "publish": false
5815
5884
  }
5816
5885
  },
5817
5886
  {
5818
- "id": "tool/connect-ports",
5887
+ "id": "tool/app-guide",
5819
5888
  "kind": "tool",
5820
5889
  "version": "1.0.0",
5821
- "content_hash": "d3423ce431ff8bde3f0f288d5b4bf47788fca541694390168f0b31baff40a45a",
5822
- "summary": "Join one piece's port (a Marker3D, or an open pipe end id such as '+Y') to another's, facing it; refuses joins that tilt the piece. Saves the scene.",
5890
+ "content_hash": "4648e830cef1a162e9df85ab0423dc4fbe099409682d375e325dde085521e5e3",
5891
+ "summary": "Read the Summer Apps build guide: when to build an app, Layout vs code, build loop, manifest, SDK, UI kit, layout format, design rules and worked examples.",
5823
5892
  "use_when": [
5824
- "joining a pipe, duct or gutter section end to end with the previous one",
5825
- "fitting a bend, funnel or outlet onto a run",
5826
- "snapping any two pieces together by named Marker3D anchors"
5893
+ "before building or changing a Summer App",
5894
+ "\"build us a loot balance tool\"",
5895
+ "\"make a tool for our team to track creatures\""
5827
5896
  ],
5828
5897
  "facets": {
5829
5898
  "lifecycle": [
5830
5899
  "build"
5831
5900
  ],
5832
5901
  "domains": [
5833
- "scenes",
5834
- "3d",
5835
- "world-building"
5836
- ],
5837
- "modalities": [
5838
- "scenes"
5902
+ "tools",
5903
+ "ui"
5839
5904
  ]
5840
5905
  },
5841
5906
  "compatibility": {
5842
5907
  "engine": ">=4.6"
5843
5908
  },
5844
5909
  "related": {
5845
- "tools": [
5846
- "tool/inspect-asset",
5847
- "tool/attach-to-surface",
5848
- "tool/measure"
5849
- ],
5850
5910
  "skills": [
5851
- "skill/spatial-placement"
5911
+ "skill/summer-apps"
5852
5912
  ]
5853
5913
  },
5854
5914
  "status": "preview",
5855
- "mcp_tool_name": "summer_connect_ports",
5856
- "remote": false,
5915
+ "mcp_tool_name": "summer_app_guide",
5916
+ "remote": true,
5857
5917
  "authority": {
5858
- "filesystem": true,
5859
- "editor_mutation": true,
5860
- "network": false,
5918
+ "filesystem": false,
5919
+ "editor_mutation": false,
5920
+ "network": true,
5861
5921
  "credentials": false,
5862
5922
  "publish": false
5863
5923
  }
5864
5924
  },
5865
5925
  {
5866
- "id": "tool/connect-signal",
5926
+ "id": "tool/app-list",
5867
5927
  "kind": "tool",
5868
- "version": "1.1.0",
5869
- "content_hash": "d37c9147743f97b9cd6f3acd1e287ef2af7df20b273c48dca05bb6cb427d236f",
5870
- "summary": "Connect a signal between two nodes so the saved scene keeps it (CONNECT_PERSIST, verified from the saved .tscn); the receiver should define the target method.",
5928
+ "version": "1.0.0",
5929
+ "content_hash": "b1d677c0301be54ee09b640007c519876449df7f2b2afd59373402633caca576",
5930
+ "summary": "List the Summer Apps (team tools inside Summer Studio) in the person's workspaces.",
5871
5931
  "use_when": [
5872
- "wiring events like body_entered, pressed, or timeout",
5873
- "\"when the button is pressed, call my function\"",
5874
- "running code when the player enters an Area3D or a Timer finishes"
5932
+ "\"which apps do we have\"",
5933
+ "finding an app id to change or read"
5875
5934
  ],
5876
5935
  "facets": {
5877
5936
  "lifecycle": [
5878
5937
  "build"
5879
5938
  ],
5880
5939
  "domains": [
5881
- "scenes",
5882
- "editor"
5940
+ "tools",
5941
+ "ui"
5883
5942
  ]
5884
5943
  },
5885
5944
  "compatibility": {
5886
5945
  "engine": ">=4.6"
5887
5946
  },
5888
- "status": "stable",
5889
- "mcp_tool_name": "summer_connect_signal",
5890
- "remote": false,
5947
+ "related": {
5948
+ "skills": [
5949
+ "skill/summer-apps"
5950
+ ]
5951
+ },
5952
+ "status": "preview",
5953
+ "mcp_tool_name": "summer_app_list",
5954
+ "remote": true,
5891
5955
  "authority": {
5892
- "filesystem": true,
5893
- "editor_mutation": true,
5894
- "network": false,
5956
+ "filesystem": false,
5957
+ "editor_mutation": false,
5958
+ "network": true,
5895
5959
  "credentials": false,
5896
5960
  "publish": false
5897
5961
  }
5898
5962
  },
5899
5963
  {
5900
- "id": "tool/create-debug-report",
5964
+ "id": "tool/app-page",
5901
5965
  "kind": "tool",
5902
- "version": "1.0.2",
5903
- "content_hash": "b950bca3f72f732d102142d9e233a4b27ffac33dd8a75515f0e71648742405a8",
5904
- "summary": "Create a support-ready Markdown debug report: doctor checks, engine health, diagnostics, console, and debugger output.",
5966
+ "version": "1.0.0",
5967
+ "content_hash": "4e3a2feb1c87ca57cebded9808fb7da24e46ca66c058b29ed1e3f2f15a07592e",
5968
+ "summary": "Read or use the fields and buttons an open Summer App declared (fill values, press actions).",
5969
+ "use_when": [
5970
+ "\"set the budget to 60 in the balance app\"",
5971
+ "reading what the person has selected in an open app"
5972
+ ],
5973
+ "facets": {
5974
+ "lifecycle": [
5975
+ "build"
5976
+ ],
5977
+ "domains": [
5978
+ "tools",
5979
+ "ui"
5980
+ ]
5981
+ },
5982
+ "compatibility": {
5983
+ "engine": ">=4.6"
5984
+ },
5985
+ "related": {
5986
+ "skills": [
5987
+ "skill/summer-apps"
5988
+ ]
5989
+ },
5990
+ "status": "preview",
5991
+ "mcp_tool_name": "summer_app_page",
5992
+ "remote": true,
5993
+ "authority": {
5994
+ "filesystem": false,
5995
+ "editor_mutation": false,
5996
+ "network": true,
5997
+ "credentials": false,
5998
+ "publish": false
5999
+ }
6000
+ },
6001
+ {
6002
+ "id": "tool/app-publish",
6003
+ "kind": "tool",
6004
+ "version": "1.0.0",
6005
+ "content_hash": "0c7f946c7d677a4f5aaaa7347583eff37371f0daf64b9c3ec36dd31d8b270ba7",
6006
+ "summary": "Publish a new version of a Summer App from a local folder, files or a layout; the person's Studio tab boots it.",
6007
+ "use_when": [
6008
+ "after writing or changing an app's files",
6009
+ "fixing an app after a publish error or an app error event"
6010
+ ],
6011
+ "facets": {
6012
+ "lifecycle": [
6013
+ "build"
6014
+ ],
6015
+ "domains": [
6016
+ "tools",
6017
+ "ui"
6018
+ ]
6019
+ },
6020
+ "compatibility": {
6021
+ "engine": ">=4.6"
6022
+ },
6023
+ "related": {
6024
+ "skills": [
6025
+ "skill/summer-apps"
6026
+ ]
6027
+ },
6028
+ "status": "preview",
6029
+ "mcp_tool_name": "summer_app_publish",
6030
+ "remote": true,
6031
+ "authority": {
6032
+ "filesystem": true,
6033
+ "editor_mutation": false,
6034
+ "network": true,
6035
+ "credentials": false,
6036
+ "publish": false
6037
+ }
6038
+ },
6039
+ {
6040
+ "id": "tool/app-report-gap",
6041
+ "kind": "tool",
6042
+ "version": "1.0.0",
6043
+ "content_hash": "62863e862723f8694934067bf4f5e0d253af3ddc24f9bb6c34cbf7e3eb3dabb1",
6044
+ "summary": "Report an SDK capability a Summer App needed and did not have, so Summer builds it.",
6045
+ "use_when": [
6046
+ "an app needed to reach a service or engine feature the SDK does not offer",
6047
+ "an app needs something the Summer Apps SDK cannot do"
6048
+ ],
6049
+ "facets": {
6050
+ "lifecycle": [
6051
+ "build"
6052
+ ],
6053
+ "domains": [
6054
+ "tools",
6055
+ "ui"
6056
+ ]
6057
+ },
6058
+ "compatibility": {
6059
+ "engine": ">=4.6"
6060
+ },
6061
+ "related": {
6062
+ "skills": [
6063
+ "skill/summer-apps"
6064
+ ]
6065
+ },
6066
+ "status": "preview",
6067
+ "mcp_tool_name": "summer_app_report_gap",
6068
+ "remote": true,
6069
+ "authority": {
6070
+ "filesystem": false,
6071
+ "editor_mutation": false,
6072
+ "network": true,
6073
+ "credentials": false,
6074
+ "publish": false
6075
+ }
6076
+ },
6077
+ {
6078
+ "id": "tool/app-screenshot",
6079
+ "kind": "tool",
6080
+ "version": "1.0.0",
6081
+ "content_hash": "e2c089afcb531ea86b85ef8a3db5c99db23a7ada23a3056085f7d7e048df6fe6",
6082
+ "summary": "See a Summer App without the person - a headless, read-only render (PNG) with its console, errors, refused calls and declared page.",
6083
+ "use_when": [
6084
+ "right after every summer_app_publish, to check the app renders with real data",
6085
+ "\"does my app look right on a phone / in dark mode\"",
6086
+ "finding why an app shows nothing (SDK not connected, script errors)"
6087
+ ],
6088
+ "facets": {
6089
+ "lifecycle": [
6090
+ "build"
6091
+ ],
6092
+ "domains": [
6093
+ "tools",
6094
+ "ui"
6095
+ ]
6096
+ },
6097
+ "compatibility": {
6098
+ "engine": ">=4.6"
6099
+ },
6100
+ "related": {
6101
+ "skills": [
6102
+ "skill/summer-apps",
6103
+ "skill/summer-apps-design"
6104
+ ]
6105
+ },
6106
+ "status": "preview",
6107
+ "mcp_tool_name": "summer_app_screenshot",
6108
+ "remote": true,
6109
+ "authority": {
6110
+ "filesystem": true,
6111
+ "editor_mutation": false,
6112
+ "network": true,
6113
+ "credentials": false,
6114
+ "publish": false
6115
+ }
6116
+ },
6117
+ {
6118
+ "id": "tool/app-tools",
6119
+ "kind": "tool",
6120
+ "version": "1.0.0",
6121
+ "content_hash": "f9fda7b5271107ff4c1a057749fb2c213b50b187506b38f43a994794abb0d5a5",
6122
+ "summary": "List the agent tools a Summer App declares.",
6123
+ "use_when": [
6124
+ "before calling app logic with summer_app_call",
6125
+ "\"what can our balance app do for me\""
6126
+ ],
6127
+ "facets": {
6128
+ "lifecycle": [
6129
+ "build"
6130
+ ],
6131
+ "domains": [
6132
+ "tools",
6133
+ "ui"
6134
+ ]
6135
+ },
6136
+ "compatibility": {
6137
+ "engine": ">=4.6"
6138
+ },
6139
+ "related": {
6140
+ "skills": [
6141
+ "skill/summer-apps"
6142
+ ]
6143
+ },
6144
+ "status": "preview",
6145
+ "mcp_tool_name": "summer_app_tools",
6146
+ "remote": true,
6147
+ "authority": {
6148
+ "filesystem": false,
6149
+ "editor_mutation": false,
6150
+ "network": true,
6151
+ "credentials": false,
6152
+ "publish": false
6153
+ }
6154
+ },
6155
+ {
6156
+ "id": "tool/app-update",
6157
+ "kind": "tool",
6158
+ "version": "1.0.0",
6159
+ "content_hash": "1233adcc99796051529958cddf35f0fd7f6716a1e9c1e09b7c8f7bfa732a1c4f",
6160
+ "summary": "Rename a Summer App, move it to a folder, or keep, archive or restore it.",
6161
+ "use_when": [
6162
+ "archiving a scratch app you made that the person did not keep",
6163
+ "\"rename the loot app to Drop tables\"",
6164
+ "\"keep this app\" (status kept)"
6165
+ ],
6166
+ "facets": {
6167
+ "lifecycle": [
6168
+ "build"
6169
+ ],
6170
+ "domains": [
6171
+ "tools",
6172
+ "ui"
6173
+ ]
6174
+ },
6175
+ "compatibility": {
6176
+ "engine": ">=4.6"
6177
+ },
6178
+ "related": {
6179
+ "skills": [
6180
+ "skill/summer-apps"
6181
+ ]
6182
+ },
6183
+ "status": "preview",
6184
+ "mcp_tool_name": "summer_app_update",
6185
+ "remote": true,
6186
+ "authority": {
6187
+ "filesystem": false,
6188
+ "editor_mutation": false,
6189
+ "network": true,
6190
+ "credentials": false,
6191
+ "publish": false
6192
+ }
6193
+ },
6194
+ {
6195
+ "id": "tool/attach-to-surface",
6196
+ "kind": "tool",
6197
+ "version": "1.0.0",
6198
+ "content_hash": "e2207bbdab1a86f499382d89314fc48ea501080d814f15ffdfb9d06b47f047db",
6199
+ "summary": "Mount a piece on a wall, ceiling or floor — turn its measured back into the surface found by a ray, keep it upright, seat it at a standoff. Saves the scene.",
6200
+ "use_when": [
6201
+ "mounting a downpipe, gutter, lamp, AC unit, sign or fire escape on a facade",
6202
+ "turning a piece so its back faces a wall instead of guessing its rotation",
6203
+ "seating a piece against a surface at an exact standoff"
6204
+ ],
6205
+ "facets": {
6206
+ "lifecycle": [
6207
+ "build"
6208
+ ],
6209
+ "domains": [
6210
+ "scenes",
6211
+ "3d",
6212
+ "world-building",
6213
+ "level-design"
6214
+ ],
6215
+ "modalities": [
6216
+ "scenes"
6217
+ ]
6218
+ },
6219
+ "compatibility": {
6220
+ "engine": ">=4.6"
6221
+ },
6222
+ "related": {
6223
+ "tools": [
6224
+ "tool/raycast",
6225
+ "tool/snap-to-surface",
6226
+ "tool/inspect-asset",
6227
+ "tool/starcast"
6228
+ ],
6229
+ "skills": [
6230
+ "skill/spatial-placement"
6231
+ ]
6232
+ },
6233
+ "status": "preview",
6234
+ "mcp_tool_name": "summer_attach_to_surface",
6235
+ "remote": false,
6236
+ "authority": {
6237
+ "filesystem": true,
6238
+ "editor_mutation": true,
6239
+ "network": false,
6240
+ "credentials": false,
6241
+ "publish": false
6242
+ }
6243
+ },
6244
+ {
6245
+ "id": "tool/batch",
6246
+ "kind": "tool",
6247
+ "version": "1.1.0",
6248
+ "content_hash": "ec6fa446a214a15c5562061ba0f39072f698ea69243e4326e4931683bc62f286",
6249
+ "summary": "Run engine ops in one call, verbatim; one undo step unless single-only ops split it. ReparentNode keeps and verifies its subtree; raw ConnectSignal is refused.",
6250
+ "use_when": [
6251
+ "multi-node builds that should undo as one step (no single-only ops in the list)",
6252
+ "reaching engine ops that have no dedicated tool",
6253
+ "placing many kit pieces, one InstantiateScene op per piece with its position and rotation, read back with receipt summary"
6254
+ ],
6255
+ "facets": {
6256
+ "lifecycle": [
6257
+ "build"
6258
+ ],
6259
+ "domains": [
6260
+ "scenes",
6261
+ "editor"
6262
+ ]
6263
+ },
6264
+ "compatibility": {
6265
+ "engine": ">=4.6"
6266
+ },
6267
+ "status": "stable",
6268
+ "mcp_tool_name": "summer_batch",
6269
+ "remote": false,
6270
+ "authority": {
6271
+ "filesystem": true,
6272
+ "editor_mutation": true,
6273
+ "network": false,
6274
+ "credentials": false,
6275
+ "publish": false
6276
+ }
6277
+ },
6278
+ {
6279
+ "id": "tool/camera-bookmark",
6280
+ "kind": "tool",
6281
+ "version": "1.0.0",
6282
+ "content_hash": "42c4dfe31c6634c1b583a8e831a040d3d4b5b6bbdfe97ed71a2d7810a5b39891",
6283
+ "summary": "Save, list, or delete named camera viewpoints stored in the project, so before/after screenshots are taken from exactly the same pose.",
6284
+ "use_when": [
6285
+ "\"save this camera angle\" / \"remember this viewpoint\" so later screenshots line up with it",
6286
+ "comparing a scene before and after a change from one fixed, repeatable camera pose",
6287
+ "listing or removing the saved viewpoints of a project"
6288
+ ],
6289
+ "facets": {
6290
+ "lifecycle": [
6291
+ "build"
6292
+ ],
6293
+ "domains": [
6294
+ "verification",
6295
+ "scenes"
6296
+ ],
6297
+ "modalities": [
6298
+ "scenes"
6299
+ ]
6300
+ },
6301
+ "compatibility": {
6302
+ "engine": ">=4.6"
6303
+ },
6304
+ "related": {
6305
+ "tools": [
6306
+ "tool/screenshot",
6307
+ "tool/world-snapshot",
6308
+ "tool/snapshot-diff"
6309
+ ],
6310
+ "skills": [
6311
+ "skill/verifying-scenes",
6312
+ "skill/scene-scripting"
6313
+ ]
6314
+ },
6315
+ "status": "preview",
6316
+ "mcp_tool_name": "summer_camera_bookmark",
6317
+ "remote": false,
6318
+ "authority": {
6319
+ "filesystem": true,
6320
+ "editor_mutation": false,
6321
+ "network": false,
6322
+ "credentials": false,
6323
+ "publish": false
6324
+ }
6325
+ },
6326
+ {
6327
+ "id": "tool/capture-gameplay",
6328
+ "kind": "tool",
6329
+ "version": "1.0.0",
6330
+ "content_hash": "7195fee358600665d2b1e0ec40eeb68a7c517e775f5cc4a366259bceba07cd03",
6331
+ "summary": "Capture real gameplay PNGs (HUD included) offscreen without a running editor; game flags and player steps (press, key, click) get past the title screen.",
5905
6332
  "use_when": [
5906
- "the user wants to send Summer a bug report",
5907
- "handing a failing session to another agent as a portable artifact"
6333
+ "\"take gameplay screenshots for my store page\"",
6334
+ "\"I need screenshots but the editor is not open\"",
6335
+ "\"capture a 1920x1080 frame of my game\"",
6336
+ "collecting real gameplay screenshots for summer_store_set_art desktop.screenshots or mobile.screenshots",
6337
+ "every capture shows the title screen — pass the game's flags in args or steps like press Play"
6338
+ ],
6339
+ "facets": {
6340
+ "lifecycle": [
6341
+ "launch",
6342
+ "build"
6343
+ ],
6344
+ "domains": [
6345
+ "creator",
6346
+ "headless"
6347
+ ]
6348
+ },
6349
+ "compatibility": {
6350
+ "engine": ">=4.6"
6351
+ },
6352
+ "status": "preview",
6353
+ "mcp_tool_name": "summer_capture_gameplay",
6354
+ "remote": true,
6355
+ "authority": {
6356
+ "filesystem": true,
6357
+ "editor_mutation": false,
6358
+ "network": false,
6359
+ "credentials": false,
6360
+ "publish": false
6361
+ }
6362
+ },
6363
+ {
6364
+ "id": "tool/check-job",
6365
+ "kind": "tool",
6366
+ "version": "1.0.2",
6367
+ "content_hash": "a17e889099781c54902facf3abcbbdd8c10c0018333fdceb40d48f24dc01f183",
6368
+ "summary": "Check the status of an async generation job by id.",
6369
+ "use_when": [
6370
+ "a generation ran without waiting, or timed out, and needs re-checking",
6371
+ "\"is my 3D model / video done yet?\"",
6372
+ "a generate_* call returned a job id instead of a finished asset"
6373
+ ],
6374
+ "facets": {
6375
+ "lifecycle": [
6376
+ "build"
6377
+ ],
6378
+ "domains": [
6379
+ "generate",
6380
+ "pipeline"
6381
+ ]
6382
+ },
6383
+ "compatibility": {
6384
+ "engine": ">=4.6"
6385
+ },
6386
+ "status": "stable",
6387
+ "mcp_tool_name": "summer_check_job",
6388
+ "remote": true,
6389
+ "authority": {
6390
+ "filesystem": false,
6391
+ "editor_mutation": false,
6392
+ "network": true,
6393
+ "credentials": false,
6394
+ "publish": false
6395
+ }
6396
+ },
6397
+ {
6398
+ "id": "tool/clear-console",
6399
+ "kind": "tool",
6400
+ "version": "1.0.2",
6401
+ "content_hash": "5d96c1b758bcb0521a2ba2f291fc5b3929487df9222b735238eb97d7a645077c",
6402
+ "summary": "Clear the editor's Output panel for a clean slate before running the game.",
6403
+ "use_when": [
6404
+ "before a play session whose console output you want isolated",
6405
+ "\"the Output panel is full of old noise, wipe it\"",
6406
+ "resetting before reproducing a bug so only the new messages show"
5908
6407
  ],
5909
6408
  "facets": {
5910
6409
  "lifecycle": [
@@ -5912,34 +6411,33 @@
5912
6411
  ],
5913
6412
  "domains": [
5914
6413
  "debug",
5915
- "feedback"
6414
+ "editor"
5916
6415
  ]
5917
6416
  },
5918
6417
  "compatibility": {
5919
6418
  "engine": ">=4.6"
5920
6419
  },
5921
6420
  "status": "stable",
5922
- "mcp_tool_name": "summer_create_debug_report",
6421
+ "mcp_tool_name": "summer_clear_console",
5923
6422
  "remote": false,
5924
- "cli_command": "summer debug",
5925
6423
  "authority": {
5926
- "filesystem": true,
6424
+ "filesystem": false,
5927
6425
  "editor_mutation": true,
5928
- "network": true,
6426
+ "network": false,
5929
6427
  "credentials": false,
5930
6428
  "publish": false
5931
6429
  }
5932
6430
  },
5933
6431
  {
5934
- "id": "tool/create-scene",
6432
+ "id": "tool/connect-ports",
5935
6433
  "kind": "tool",
5936
- "version": "1.0.2",
5937
- "content_hash": "cfb55fc92129fca8a2c50819242e2961f69542773822118aa04c0aa599f13dae",
5938
- "summary": "Create a new minimal .tscn on disk with a create-only guard and read-back verification; never touches the open scene.",
6434
+ "version": "1.0.0",
6435
+ "content_hash": "d3423ce431ff8bde3f0f288d5b4bf47788fca541694390168f0b31baff40a45a",
6436
+ "summary": "Join one piece's port (a Marker3D, or an open pipe end id such as '+Y') to another's, facing it; refuses joins that tilt the piece. Saves the scene.",
5939
6437
  "use_when": [
5940
- "starting a new level, prefab, or UI scene file",
5941
- "\"make a new empty scene file for the enemy prefab\"",
5942
- "starting Level2.tscn from scratch as its own file"
6438
+ "joining a pipe, duct or gutter section end to end with the previous one",
6439
+ "fitting a bend, funnel or outlet onto a run",
6440
+ "snapping any two pieces together by named Marker3D anchors"
5943
6441
  ],
5944
6442
  "facets": {
5945
6443
  "lifecycle": [
@@ -5947,122 +6445,135 @@
5947
6445
  ],
5948
6446
  "domains": [
5949
6447
  "scenes",
5950
- "project"
6448
+ "3d",
6449
+ "world-building"
6450
+ ],
6451
+ "modalities": [
6452
+ "scenes"
5951
6453
  ]
5952
6454
  },
5953
6455
  "compatibility": {
5954
6456
  "engine": ">=4.6"
5955
6457
  },
5956
- "status": "stable",
5957
- "mcp_tool_name": "summer_create_scene",
6458
+ "related": {
6459
+ "tools": [
6460
+ "tool/inspect-asset",
6461
+ "tool/attach-to-surface",
6462
+ "tool/measure"
6463
+ ],
6464
+ "skills": [
6465
+ "skill/spatial-placement"
6466
+ ]
6467
+ },
6468
+ "status": "preview",
6469
+ "mcp_tool_name": "summer_connect_ports",
5958
6470
  "remote": false,
5959
6471
  "authority": {
5960
6472
  "filesystem": true,
5961
- "editor_mutation": false,
6473
+ "editor_mutation": true,
5962
6474
  "network": false,
5963
6475
  "credentials": false,
5964
6476
  "publish": false
5965
6477
  }
5966
6478
  },
5967
6479
  {
5968
- "id": "tool/creator-config",
6480
+ "id": "tool/connect-signal",
5969
6481
  "kind": "tool",
5970
- "version": "1.0.2",
5971
- "content_hash": "1449083d5fef74d8bdb5fcfe88d5a8dc0ab80824c4fec51fa4dcb24c5c5bfef6",
5972
- "summary": "Read or update the shared non-secret Summer configuration; mutations require confirm, and tokens are never returned or accepted.",
6482
+ "version": "1.1.0",
6483
+ "content_hash": "d37c9147743f97b9cd6f3acd1e287ef2af7df20b273c48dca05bb6cb427d236f",
6484
+ "summary": "Connect a signal between two nodes so the saved scene keeps it (CONNECT_PERSIST, verified from the saved .tscn); the receiver should define the target method.",
5973
6485
  "use_when": [
5974
- "inspecting or changing shared CLI and MCP configuration values",
5975
- "\"which creator project id / channel is this CLI pointed at?\"",
5976
- "switching the default publish channel"
6486
+ "wiring events like body_entered, pressed, or timeout",
6487
+ "\"when the button is pressed, call my function\"",
6488
+ "running code when the player enters an Area3D or a Timer finishes"
5977
6489
  ],
5978
6490
  "facets": {
5979
6491
  "lifecycle": [
5980
- "launch"
6492
+ "build"
5981
6493
  ],
5982
6494
  "domains": [
5983
- "creator",
5984
- "deployment"
6495
+ "scenes",
6496
+ "editor"
5985
6497
  ]
5986
6498
  },
5987
6499
  "compatibility": {
5988
6500
  "engine": ">=4.6"
5989
6501
  },
5990
6502
  "status": "stable",
5991
- "mcp_tool_name": "summer_creator_config",
6503
+ "mcp_tool_name": "summer_connect_signal",
5992
6504
  "remote": false,
5993
- "cli_command": "summer config",
5994
6505
  "authority": {
5995
6506
  "filesystem": true,
5996
- "editor_mutation": false,
6507
+ "editor_mutation": true,
5997
6508
  "network": false,
5998
6509
  "credentials": false,
5999
6510
  "publish": false
6000
6511
  }
6001
6512
  },
6002
6513
  {
6003
- "id": "tool/creator-publish",
6514
+ "id": "tool/create-debug-report",
6004
6515
  "kind": "tool",
6005
- "version": "1.1.0",
6006
- "content_hash": "48ee4dbe8810da6ae327ebf9e80b3e2a352daad18fe7e7061d53db17110a06fe",
6007
- "summary": "Deprecated: publishes a .pck to the legacy creator API. Use summer_export_game, then summer_publish_build, to upload to summer.games.",
6516
+ "version": "1.0.2",
6517
+ "content_hash": "b950bca3f72f732d102142d9e233a4b27ffac33dd8a75515f0e71648742405a8",
6518
+ "summary": "Create a support-ready Markdown debug report: doctor checks, engine health, diagnostics, console, and debugger output.",
6008
6519
  "use_when": [
6009
- "an old project that still publishes a .pck to the legacy Summercraft creator channel with an sc_ creator token",
6010
- "a ~/.summer/config.json that names a legacy creator projectId and channel"
6520
+ "the user wants to send Summer a bug report",
6521
+ "handing a failing session to another agent as a portable artifact"
6011
6522
  ],
6012
6523
  "facets": {
6013
6524
  "lifecycle": [
6014
- "launch"
6525
+ "build"
6015
6526
  ],
6016
6527
  "domains": [
6017
- "creator",
6018
- "deployment"
6528
+ "debug",
6529
+ "feedback"
6019
6530
  ]
6020
6531
  },
6021
6532
  "compatibility": {
6022
6533
  "engine": ">=4.6"
6023
6534
  },
6024
- "status": "deprecated",
6025
- "mcp_tool_name": "summer_creator_publish",
6535
+ "status": "stable",
6536
+ "mcp_tool_name": "summer_create_debug_report",
6026
6537
  "remote": false,
6027
- "cli_command": "summer publish",
6538
+ "cli_command": "summer debug",
6028
6539
  "authority": {
6029
6540
  "filesystem": true,
6030
- "editor_mutation": false,
6541
+ "editor_mutation": true,
6031
6542
  "network": true,
6032
6543
  "credentials": false,
6033
- "publish": true
6544
+ "publish": false
6034
6545
  }
6035
6546
  },
6036
6547
  {
6037
- "id": "tool/creator-releases",
6548
+ "id": "tool/create-scene",
6038
6549
  "kind": "tool",
6039
6550
  "version": "1.0.2",
6040
- "content_hash": "8abe66c592d1d0f45db5106179f390a4d43cff8d72834c7029aefbaec57e628e",
6041
- "summary": "Deprecated: lists releases on the legacy creator API. For summer.games use summer_store_releases.",
6551
+ "content_hash": "cfb55fc92129fca8a2c50819242e2961f69542773822118aa04c0aa599f13dae",
6552
+ "summary": "Create a new minimal .tscn on disk with a create-only guard and read-back verification; never touches the open scene.",
6042
6553
  "use_when": [
6043
- "an old project that published a .pck to the legacy Summercraft creator channel with an sc_ creator token",
6044
- "paging legacy creator releases by projectId and cursor"
6554
+ "starting a new level, prefab, or UI scene file",
6555
+ "\"make a new empty scene file for the enemy prefab\"",
6556
+ "starting Level2.tscn from scratch as its own file"
6045
6557
  ],
6046
6558
  "facets": {
6047
6559
  "lifecycle": [
6048
- "launch"
6560
+ "build"
6049
6561
  ],
6050
6562
  "domains": [
6051
- "creator",
6052
- "deployment"
6563
+ "scenes",
6564
+ "project"
6053
6565
  ]
6054
6566
  },
6055
6567
  "compatibility": {
6056
6568
  "engine": ">=4.6"
6057
6569
  },
6058
- "status": "deprecated",
6059
- "mcp_tool_name": "summer_creator_releases",
6060
- "remote": true,
6061
- "cli_command": "summer releases",
6570
+ "status": "stable",
6571
+ "mcp_tool_name": "summer_create_scene",
6572
+ "remote": false,
6062
6573
  "authority": {
6063
- "filesystem": false,
6574
+ "filesystem": true,
6064
6575
  "editor_mutation": false,
6065
- "network": true,
6576
+ "network": false,
6066
6577
  "credentials": false,
6067
6578
  "publish": false
6068
6579
  }
@@ -6116,6 +6627,45 @@
6116
6627
  "publish": false
6117
6628
  }
6118
6629
  },
6630
+ {
6631
+ "id": "tool/enable-plugin",
6632
+ "kind": "tool",
6633
+ "version": "1.0.0",
6634
+ "content_hash": "e4785bfe2cf063958bc9c665873f0c38d4079a5127d46dd9310957ffcbfd20c4",
6635
+ "summary": "Enable an editor plugin (res://addons/<name>/) and report the real load result, or that an older engine only queued it.",
6636
+ "use_when": [
6637
+ "an agent wrote or installed an editor plugin and needs it running",
6638
+ "a Summer App's paired plugin must be enabled before the app can message it",
6639
+ "\"turn on the quest_tools plugin\""
6640
+ ],
6641
+ "facets": {
6642
+ "lifecycle": [
6643
+ "build"
6644
+ ],
6645
+ "domains": [
6646
+ "editor",
6647
+ "tools"
6648
+ ]
6649
+ },
6650
+ "compatibility": {
6651
+ "engine": ">=4.6"
6652
+ },
6653
+ "related": {
6654
+ "skills": [
6655
+ "skill/summer-apps"
6656
+ ]
6657
+ },
6658
+ "status": "preview",
6659
+ "mcp_tool_name": "summer_enable_plugin",
6660
+ "remote": false,
6661
+ "authority": {
6662
+ "filesystem": false,
6663
+ "editor_mutation": true,
6664
+ "network": false,
6665
+ "credentials": false,
6666
+ "publish": false
6667
+ }
6668
+ },
6119
6669
  {
6120
6670
  "id": "tool/export-game",
6121
6671
  "kind": "tool",
@@ -6650,8 +7200,8 @@
6650
7200
  {
6651
7201
  "id": "tool/generate-sfx-choices",
6652
7202
  "kind": "tool",
6653
- "version": "1.0.0",
6654
- "content_hash": "463a73530a24eb8a3379715b5c487cffa056bfca031c5ff3206971038b2df715",
7203
+ "version": "1.0.1",
7204
+ "content_hash": "cc583f4378e6fa60a864a5bbae0b7d3ddb5b30962a443432d5bc4a7581fd5fb3",
6655
7205
  "summary": "Make one sound effect with several models and show the versions in Summer Studio; the person approves one or more and that model becomes their default.",
6656
7206
  "use_when": [
6657
7207
  "the first sound effect in a chat, after the person said yes to three versions to pick from",