publish-your-game is a skill from the Summer skill library: a guide your AI agent reads when the task matches, so it builds the good version on the first try. Publish a game on Summer Games through MCP: store page, art, build upload, submit, owner approval link.
When your agent uses it
- The user says ‘publish my game’, ‘put it on summer.games’, ‘launch it on the store’ or ‘submit it for review’
- Taking a built Summer game to a submitted store page: listing text, art, build upload, store.publish and the owner’s approval link
- An agent publishes for the owner end to end and needs the order of the store.* operations
Install
summer setup installs every skill for your agent. To add only this one:
claude-code for your agent, such as codex or cursor. See Skills for every option.
The skill
This skill covers the whole publishing journey: find the game, make its store page, write the text, set the art, export and upload the build, submit, and hand the owner the approval link. Its current text lives on the hosted Summer Engine MCP, the same text the Studio agent reads, so it changes with the store and is never stale here. Load it before you act:summer_docs_readwith idskill/publish-your-gamereturns the current text when this machine is signed in (summer login).- A host that shows MCP prompts or resources has it as the
publish-your-gameprompt and the resourcesummer://skills/publish-your-game. - Without a store sign-in: https://docs.summerengine.com/llms.txt lists every docs page; fetch any page as .md.
The journey in operations
A call writtenarea.action({...}) is the tool summer_area_action when your client lists it, else summer_call({ op: "area.action", input: {...} }); summer_search finds any operation and its exact input. Engine tools keep their summer_* names.
games.list()finds the game;games.create({ title, targets })makes a new one with its first store page draft. Includewebintargetsso it plays in the browser. Keep thegameId.store.get_listing({ gameId })reads the page: text per store, art per slot, the publish checklist and the tags a page can pick.store.update_listing,store.set_art,store.set_trailerandstore.set_soundfill it untilreadyToPublishis true. Editing never publishes.- Export with
summer_export_game, runrelease-readinesson the exact.zip, and report each check to the owner; a hosted game’s upload checks can pass while every online join fails. Then upload it:store.upload_file({ gameId, clientVersion, confirm: true })from this machine once the owner approved the exact file and version, orstore.upload_begin(kindbundle, web or download),store.upload_sign_partsandstore.upload_completewith the bytes. Finishing answers a job:jobs.wait({ jobId })until Summer’s checks are done. store.publish({ gameId, price, note, idempotencyKey })asks the owner;priceis{ currency: "USD", amountMinor }in cents (0 is free), omitted it keeps the current price. It answersneeds_approvalwith the owner’s link and a job. Give the owner the link;jobs.wait({ jobId })returns once they answer.store.status({ gameId })shows Summer’s review decision and feedback, every upload, what players get now, and one next step.- A store bundle goes to players with
store.release({ gameId, idempotencyKey })once Summer approved the game: it releases only the build the owner approved, and answers a job. Web builds and downloads need no release.
store.publish returns an approval link; only the owner’s click sends the game to review, and review comes before live.
After the review: when store.status says review.needsChanges, fix every point in review.feedback, then call store.publish again with a new idempotencyKey; the owner approves the resubmission. If there is no written feedback, say so and ask the owner instead of guessing. The game is not live until Summer approves it.
From a shell
No Summer MCP tools in this session? Run each one as a command; whensummer --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.
Related skills
store-listing: Write a Summer Games store page: title, tagline, descriptions, tags, per platform, and what never to write.store-art: Make Summer Games store art per slot: key art, covers, icons, screenshots, trailer, size and text rules.grow-analytics: Read a creator’s Summer Grow numbers (page views, launches, sessions, play time), compare windows.export-and-ship: Prepare a game export: check templates and targets, validate release assets, build after approval.
Source:
library/skills/publish-your-game/SKILL.md, rendered from summer-engine@4.3.0 on npm.
