Generated from the operation catalog:
src/lib/ops/public-catalog.json in publicsummerengine at 0d85f61e2b and the summer-engine npm package 4.0.0 for engine and local operations. If something here is wrong, the operation’s definition is wrong.| Operation | What it does | Asks you first |
|---|---|---|
docs.engine_api | Offline engine class-reference lookup — verify a property, method, signal, or constant before writing script code instead of guessing names. | Never |
docs.feedback | Report how library entries worked out (worked, wrong, outdated, …) so Summer can fix and re-rank them; fire-and-forget, opt-out honored. | Not by default |
docs.plan | Plan the right Summer workflow for a game-building task: skill routes, tool groups, confirmation gates, and verification steps. | Never |
docs.read | Read one Summer skill, Studio guide or docs page by its id from docs.search, as Markdown. | Never |
docs.search | Search Summer’s own skills, Studio guides and docs pages by describing the task in plain words. | Never |
engine_api
docs.engine_api: Engine api
Offline engine class-reference lookup — verify a property, method, signal, or constant before writing script code instead of guessing names.
| MCP | summer_api_docs in the npm MCP |
| CLI | summer docs engine-api |
| Runs | On your computer, in the summer-engine npm package. |
| Effect | Reads only. Changes nothing. |
| Asks you first | No. It changes nothing. |
| 3.x names | summer_api_docs |
| Input | Type | Required | Description |
|---|---|---|---|
class_name | string | Yes | Engine class name, e.g. ‘BoxShape3D’, ‘CharacterBody3D’, ‘SurfaceTool’. Case-insensitive. |
member | string | No | Optional property/method/signal/constant name to fetch just that member, e.g. ‘size’ or ‘move_and_slide’. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"class_name": {
"type": "string",
"description": "Engine class name, e.g. 'BoxShape3D', 'CharacterBody3D', 'SurfaceTool'. Case-insensitive."
},
"member": {
"type": "string",
"description": "Optional property/method/signal/constant name to fetch just that member, e.g. 'size' or 'move_and_slide'."
}
},
"required": [
"class_name"
],
"additionalProperties": false
}
{
"name": "summer_api_docs",
"arguments": {}
}
summer docs engine-api
feedback
docs.feedback: Feedback
Report how library entries worked out (worked, wrong, outdated, …) so Summer can fix and re-rank them; fire-and-forget, opt-out honored.
| MCP | summer_library_feedback in the npm MCP |
| CLI | summer docs feedback |
| Runs | On your computer, in the summer-engine npm package. |
| Effect | Changes your own drafts, files or settings. Nobody else sees it yet. |
| Asks you first | No: Make and build is on by default in Agent permissions. When it is off, your agent asks you first. |
| 3.x names | summer_library_feedback |
| Input | Type | Required | Description |
|---|---|---|---|
reports | object[] | Yes | 1-10 outcome reports, batched at a natural checkpoint (one call, not one per entry). Items 1 to 10. |
reports[].entry_id | string | Yes | The library entry ID exactly as the loader printed it (kind/slug, optionally @content-hash). Never guess or reconstruct it. |
reports[].outcome | ”worked” | “worked_with_fixes” | “wrong” | “outdated” | “incomplete” | “did_not_apply” | “misrouted” | Yes | worked = verified in-engine (playtest/screenshot passed). worked_with_fixes = worked after your changes (say what in deviation). wrong = incorrect content. outdated = no longer matches this engine version. incomplete = missing a needed case. did_not_apply = loaded but irrelevant to the task. misrouted = the description/metadata led you here wrongly. |
reports[].note | string | No | Optional, max 280 chars. About the ENTRY only — never the user’s project, files, or code. Length 0 to 280. |
reports[].deviation | string | No | Optional, max 280 chars. What you did instead of / on top of the entry’s instructions. Length 0 to 280. |
engine_version | string | Yes | The Summer Engine version in use, e.g. “4.6.1”. Length 1 to 32. |
agent_model | string | Yes | The model you are, e.g. claude-fable-5, gpt-5.5-codex; use “unknown” if unsure. Length 1 to 64. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"reports": {
"type": "array",
"items": {
"type": "object",
"properties": {
"entry_id": {
"type": "string",
"pattern": "^(tool|skill|example|template|collection|reference)\\/[a-z0-9-]+(@[a-f0-9]{8,64})?$",
"description": "The library entry ID exactly as the loader printed it (kind/slug, optionally @content-hash). Never guess or reconstruct it."
},
"outcome": {
"type": "string",
"enum": [
"worked",
"worked_with_fixes",
"wrong",
"outdated",
"incomplete",
"did_not_apply",
"misrouted"
],
"description": "worked = verified in-engine (playtest/screenshot passed). worked_with_fixes = worked after your changes (say what in deviation). wrong = incorrect content. outdated = no longer matches this engine version. incomplete = missing a needed case. did_not_apply = loaded but irrelevant to the task. misrouted = the description/metadata led you here wrongly."
},
"note": {
"type": "string",
"maxLength": 280,
"description": "Optional, max 280 chars. About the ENTRY only — never the user's project, files, or code."
},
"deviation": {
"type": "string",
"maxLength": 280,
"description": "Optional, max 280 chars. What you did instead of / on top of the entry's instructions."
}
},
"required": [
"entry_id",
"outcome"
],
"additionalProperties": false
},
"minItems": 1,
"maxItems": 10,
"description": "1-10 outcome reports, batched at a natural checkpoint (one call, not one per entry)."
},
"engine_version": {
"type": "string",
"minLength": 1,
"maxLength": 32,
"description": "The Summer Engine version in use, e.g. \"4.6.1\"."
},
"agent_model": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "The model you are, e.g. claude-fable-5, gpt-5.5-codex; use \"unknown\" if unsure."
}
},
"required": [
"reports",
"engine_version",
"agent_model"
],
"additionalProperties": false
}
{
"name": "summer_library_feedback",
"arguments": {}
}
summer docs feedback
plan
docs.plan: Plan
Plan the right Summer workflow for a game-building task: skill routes, tool groups, confirmation gates, and verification steps.
| MCP | summer_start_game_task in the npm MCP |
| CLI | summer docs plan |
| Runs | On your computer, in the summer-engine npm package. |
| Effect | Reads only. Changes nothing. |
| Asks you first | No. It changes nothing. |
| 3.x names | summer_start_game_task |
| Input | Type | Required | Description |
|---|---|---|---|
goal | string | Yes | The user’s game-building goal or task. |
mode | ”auto” | “new-game” | “feature” | “asset” | “debug” | “playtest” | “polish” | “ship” | No | Optional task mode override. Default "auto". |
target | ”auto” | “2d” | “3d” | “ui” | “audio” | “animation” | “level” | “npc” | “multiplayer” | No | Optional content/system target override. Default "auto". |
assetPolicy | ”reuse-first” | “ask-before-paid-generation” | “no-paid-generation” | “generate-when-clearly-needed” | No | How aggressively to use paid asset generation. Default "ask-before-paid-generation". |
verification | ”none” | “fast” | “full” | No | How much engine verification the agent should plan for. Default "full". |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"goal": {
"type": "string",
"description": "The user's game-building goal or task."
},
"mode": {
"type": "string",
"enum": [
"auto",
"new-game",
"feature",
"asset",
"debug",
"playtest",
"polish",
"ship"
],
"default": "auto",
"description": "Optional task mode override."
},
"target": {
"type": "string",
"enum": [
"auto",
"2d",
"3d",
"ui",
"audio",
"animation",
"level",
"npc",
"multiplayer"
],
"default": "auto",
"description": "Optional content/system target override."
},
"assetPolicy": {
"type": "string",
"enum": [
"reuse-first",
"ask-before-paid-generation",
"no-paid-generation",
"generate-when-clearly-needed"
],
"default": "ask-before-paid-generation",
"description": "How aggressively to use paid asset generation."
},
"verification": {
"type": "string",
"enum": [
"none",
"fast",
"full"
],
"default": "full",
"description": "How much engine verification the agent should plan for."
}
},
"required": [
"goal"
],
"additionalProperties": false
}
{
"name": "summer_start_game_task",
"arguments": {}
}
summer docs plan
read
docs.read: Read a Summer doc
Read one Summer skill, Studio guide or docs page by its id from docs.search, as Markdown. Long texts are cut at maxCharacters and say so. Free.
| MCP | summer_docs_read, a tool on the hosted MCP. Elsewhere: summer_call with "op": "docs.read" |
| CLI | summer docs read |
| Runs | On Summer’s servers: the hosted MCP, or the npm MCP after summer login. The npm MCP also runs it on your computer. Needs your Summer sign-in. |
| Effect | Reads only. Changes nothing. |
| Asks you first | No. It changes nothing. |
| 3.x names | summer_read_library |
| Input | Type | Required | Description |
|---|---|---|---|
id | string | Yes | skill/<slug>, guide/<id> or docs/<path>, from docs.search. Length 3 to 200. |
maxCharacters | integer | No | Most characters of text to return. Default 24000. Range 500 to 200000. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"id": {
"description": "skill/<slug>, guide/<id> or docs/<path>, from docs.search.",
"type": "string",
"minLength": 3,
"maxLength": 200,
"pattern": "^(skill|guide|docs)\\/[A-Za-z0-9/_.-]+$"
},
"maxCharacters": {
"description": "Most characters of text to return.",
"default": 24000,
"type": "integer",
"minimum": 500,
"maximum": 200000
}
},
"required": [
"id"
]
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"kind": {
"type": "string",
"enum": [
"skill",
"guide",
"docs"
]
},
"title": {
"type": "string"
},
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"text": {
"type": "string"
},
"truncated": {
"type": "boolean"
},
"totalCharacters": {
"type": "number"
}
},
"required": [
"id",
"kind",
"title",
"url",
"text",
"truncated",
"totalCharacters"
],
"additionalProperties": false
}
{
"name": "summer_docs_read",
"arguments": {
"id": "skill/publish-your-game"
}
}
summer docs read --id skill/publish-your-game
search
docs.search: Search Summer docs
Search Summer’s own skills, Studio guides and docs pages by describing the task in plain words. Returns ids, titles and summaries. Free. Next: docs.read with an id.
| MCP | summer_docs_search, a tool on the hosted MCP. Elsewhere: summer_call with "op": "docs.search" |
| CLI | summer docs search |
| Runs | On Summer’s servers: the hosted MCP, or the npm MCP after summer login. The npm MCP also runs it on your computer. Needs your Summer sign-in. |
| Effect | Reads only. Changes nothing. |
| Asks you first | No. It changes nothing. |
| 3.x names | summer_search_library |
| Input | Type | Required | Description |
|---|---|---|---|
query | string | Yes | The task in plain words: “publish my game”, “multiplayer lobby”, “store art sizes”. Length 1 to 300. |
kind | ”skill” | “guide” | “docs” | No | Only skills (how to build with Summer), guides (Studio tools) or docs pages. |
limit | integer | No | Default 8. Range 1 to 20. |
Input JSON schema
Input JSON schema
{
"type": "object",
"properties": {
"query": {
"description": "The task in plain words: \"publish my game\", \"multiplayer lobby\", \"store art sizes\".",
"type": "string",
"minLength": 1,
"maxLength": 300
},
"kind": {
"description": "Only skills (how to build with Summer), guides (Studio tools) or docs pages.",
"type": "string",
"enum": [
"skill",
"guide",
"docs"
]
},
"limit": {
"default": 8,
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"required": [
"query"
]
}
Result JSON schema
Result JSON schema
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "For docs.read.",
"type": "string"
},
"kind": {
"type": "string",
"enum": [
"skill",
"guide",
"docs"
]
},
"title": {
"type": "string"
},
"summary": {
"type": "string"
},
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"kind",
"title",
"summary",
"url"
],
"additionalProperties": false
}
}
},
"required": [
"items"
],
"additionalProperties": false
}
{
"name": "summer_docs_search",
"arguments": {
"query": "publish my game on Summer Games"
}
}
summer docs search --query 'publish my game on Summer Games'

