gradeNot graded
inspect_canvasAction
Read the selected artboard, revision, and safe next actions.
View tool JSON
{
"name": "inspect_canvas",
"kind": "act",
"impl": "imperative",
"description": "Read the selected artboard, revision, and safe next actions.",
"inputSchema": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
}get_design_treeAnswer
Read the structured editable node tree with optional maxDepth and summary mode.
View tool JSON
{
"name": "get_design_tree",
"kind": "answer",
"impl": "imperative",
"description": "Read the structured editable node tree with optional maxDepth and summary mode.",
"inputSchema": {
"type": "object",
"properties": {
"rootNodeId": {
"type": "string"
},
"nodeId": {
"type": "string"
},
"id": {
"type": "string"
},
"maxDepth": {
"type": [
"number",
"string"
]
},
"summary": {
"type": "boolean"
}
},
"required": [],
"additionalProperties": false
}
}find_nodesAnswer
Find design layers matching query, kind, or parent without loading the full tree.
View tool JSON
{
"name": "find_nodes",
"kind": "answer",
"impl": "imperative",
"description": "Find design layers matching query, kind, or parent without loading the full tree.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string"
},
"kind": {
"type": "string",
"enum": [
"frame",
"text",
"rect",
"button",
"image"
]
},
"parentId": {
"type": "string"
},
"limit": {
"type": [
"number",
"string"
]
}
},
"required": [],
"additionalProperties": false
}
}set_design_textAction
Change text in one editable node.
View tool JSON
{
"name": "set_design_text",
"kind": "act",
"impl": "imperative",
"description": "Change text in one editable node.",
"inputSchema": {
"type": "object",
"properties": {
"nodeId": {
"type": "string"
},
"text": {
"type": "string"
}
},
"required": [
"text"
],
"additionalProperties": false
}
}apply_design_stylesAction
Apply a safe style patch to one node with support for standard CSS aliases.
View tool JSON
{
"name": "apply_design_styles",
"kind": "act",
"impl": "imperative",
"description": "Apply a safe style patch to one node with support for standard CSS aliases.",
"inputSchema": {
"type": "object",
"properties": {
"nodeId": {
"type": "string"
},
"styles": {
"type": "object",
"properties": {
"background": {
"type": "string"
},
"backgroundColor": {
"type": "string"
},
"fill": {
"type": "string"
},
"color": {
"type": "string"
},
"textColor": {
"type": "string"
},
"border": {
"type": "string"
},
"borderColor": {
"type": "string"
},
"borderWidth": {
"type": [
"number",
"string"
]
},
"borderRadius": {
"type": [
"number",
"string"
]
},
"fontSize": {
"type": [
"number",
"string"
]
},
"fontWeight": {
"type": [
"number",
"string"
]
},
"fontFamily": {
"type": "string"
},
"padding": {
"type": [
"number",
"string"
]
},
"opacity": {
"type": [
"number",
"string"
]
},
"letterSpacing": {
"type": [
"number",
"string"
]
}
}
},
"style": {
"type": "object",
"properties": {
"background": {
"type": "string"
},
"backgroundColor": {
"type": "string"
},
"fill": {
"type": "string"
},
"color": {
"type": "string"
},
"textColor": {
"type": "string"
},
"border": {
"type": "string"
},
"borderColor": {
"type": "string"
},
"borderWidth": {
"type": [
"number",
"string"
]
},
"borderRadius": {
"type": [
"number",
"string"
]
},
"fontSize": {
"type": [
"number",
"string"
]
},
"fontWeight": {
"type": [
"number",
"string"
]
},
"fontFamily": {
"type": "string"
},
"padding": {
"type": [
"number",
"string"
]
},
"opacity": {
"type": [
"number",
"string"
]
},
"letterSpacing": {
"type": [
"number",
"string"
]
}
}
}
},
"required": [],
"additionalProperties": false
}
}set_layoutAction
Configure CSS flexbox auto-layout (flex-row, flex-column, absolute), gap, padding, and sizing on a frame.
View tool JSON
{
"name": "set_layout",
"kind": "act",
"impl": "imperative",
"description": "Configure CSS flexbox auto-layout (flex-row, flex-column, absolute), gap, padding, and sizing on a frame.",
"inputSchema": {
"type": "object",
"properties": {
"nodeId": {
"type": "string"
},
"layout": {
"type": "string",
"enum": [
"absolute",
"flex-row",
"flex-column"
]
},
"gap": {
"type": [
"number",
"string"
]
},
"padding": {
"type": [
"number",
"string"
]
},
"widthSizing": {
"type": "string",
"enum": [
"fixed",
"fill",
"hug"
]
},
"heightSizing": {
"type": "string",
"enum": [
"fixed",
"fill",
"hug"
]
}
},
"required": [],
"additionalProperties": false
}
}add_reference_imageAction
Add a local or pasted image as a visual reference on the canvas.
View tool JSON
{
"name": "add_reference_image",
"kind": "act",
"impl": "imperative",
"description": "Add a local or pasted image as a visual reference on the canvas.",
"inputSchema": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"dataUrl": {
"type": "string",
"maxLength": 2000000
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"operationId": {
"type": "string"
}
},
"required": [
"dataUrl"
],
"additionalProperties": false
}
}list_reference_imagesAnswer
List reference images available for the agent to inspect.
View tool JSON
{
"name": "list_reference_images",
"kind": "answer",
"impl": "imperative",
"description": "List reference images available for the agent to inspect.",
"inputSchema": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
}inspect_reference_imageAnswer
Inspect one reference image and return it to the agent as image content.
View tool JSON
{
"name": "inspect_reference_image",
"kind": "answer",
"impl": "imperative",
"description": "Inspect one reference image and return it to the agent as image content.",
"inputSchema": {
"type": "object",
"properties": {
"referenceId": {
"type": "string"
}
},
"required": [
"referenceId"
],
"additionalProperties": false
}
}recreate_from_referenceAction
Create an editable design frame informed by a reference image.
View tool JSON
{
"name": "recreate_from_reference",
"kind": "act",
"impl": "imperative",
"description": "Create an editable design frame informed by a reference image.",
"inputSchema": {
"type": "object",
"properties": {
"referenceId": {
"type": "string"
},
"name": {
"type": "string"
},
"operationId": {
"type": "string"
},
"layout": {
"type": "string",
"enum": [
"absolute",
"flex-row",
"flex-column"
]
},
"gap": {
"type": [
"number",
"string"
]
},
"padding": {
"type": [
"number",
"string"
]
},
"width": {
"type": [
"number",
"string"
]
},
"height": {
"type": [
"number",
"string"
]
},
"style": {
"type": "object"
},
"eyebrow": {
"type": "string"
},
"title": {
"type": "string"
},
"body": {
"type": "string"
},
"accentText": {
"type": "string"
},
"ctaText": {
"type": "string"
},
"children": {
"type": "array"
},
"tree": {
"type": "object"
}
},
"required": [
"referenceId"
],
"additionalProperties": false
}
}create_nodeAction
Create a new frame, text, rectangle, or button with optional flex auto-layout and styles.
View tool JSON
{
"name": "create_node",
"kind": "act",
"impl": "imperative",
"description": "Create a new frame, text, rectangle, or button with optional flex auto-layout and styles.",
"inputSchema": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"frame",
"text",
"rect",
"button"
]
},
"parentId": {
"type": "string"
},
"x": {
"type": [
"number",
"string"
]
},
"y": {
"type": [
"number",
"string"
]
},
"width": {
"type": [
"number",
"string"
]
},
"height": {
"type": [
"number",
"string"
]
},
"name": {
"type": "string"
},
"text": {
"type": "string"
},
"layout": {
"type": "string",
"enum": [
"absolute",
"flex-row",
"flex-column"
]
},
"gap": {
"type": [
"number",
"string"
]
},
"padding": {
"type": [
"number",
"string"
]
},
"widthSizing": {
"type": "string",
"enum": [
"fixed",
"fill",
"hug"
]
},
"heightSizing": {
"type": "string",
"enum": [
"fixed",
"fill",
"hug"
]
},
"style": {
"type": "object"
}
},
"required": [
"kind"
],
"additionalProperties": false
}
}create_treeAction
Create an entire nested styled component tree (frame with children, text, buttons, styles, auto-layout) in a single atomic tool call.
View tool JSON
{
"name": "create_tree",
"kind": "act",
"impl": "imperative",
"description": "Create an entire nested styled component tree (frame with children, text, buttons, styles, auto-layout) in a single atomic tool call.",
"inputSchema": {
"type": "object",
"properties": {
"parentId": {
"type": "string"
},
"tree": {
"type": "object"
},
"root": {
"type": "object"
},
"kind": {
"type": "string",
"enum": [
"frame",
"text",
"rect",
"button"
]
},
"name": {
"type": "string"
},
"text": {
"type": "string"
},
"x": {
"type": [
"number",
"string"
]
},
"y": {
"type": [
"number",
"string"
]
},
"width": {
"type": [
"number",
"string"
]
},
"height": {
"type": [
"number",
"string"
]
},
"layout": {
"type": "string",
"enum": [
"absolute",
"flex-row",
"flex-column"
]
},
"gap": {
"type": [
"number",
"string"
]
},
"padding": {
"type": [
"number",
"string"
]
},
"widthSizing": {
"type": "string",
"enum": [
"fixed",
"fill",
"hug"
]
},
"heightSizing": {
"type": "string",
"enum": [
"fixed",
"fill",
"hug"
]
},
"style": {
"type": "object"
},
"styles": {
"type": "object"
},
"children": {
"type": "array"
}
},
"required": [],
"additionalProperties": false
}
}delete_nodesSensitive Action
Delete one or more selected layers, including parent frames.
View tool JSON
{
"name": "delete_nodes",
"kind": "transact",
"impl": "imperative",
"description": "Delete one or more selected layers, including parent frames.",
"inputSchema": {
"type": "object",
"properties": {
"nodeId": {
"type": "string"
},
"nodeIds": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [],
"additionalProperties": false
}
}move_nodesAction
Move layers by a dx/dy offset. Parent frames move with their children.
View tool JSON
{
"name": "move_nodes",
"kind": "act",
"impl": "imperative",
"description": "Move layers by a dx/dy offset. Parent frames move with their children.",
"inputSchema": {
"type": "object",
"properties": {
"nodeId": {
"type": "string"
},
"nodeIds": {
"type": "array",
"items": {
"type": "string"
}
},
"dx": {
"type": [
"number",
"string"
]
},
"dy": {
"type": [
"number",
"string"
]
}
},
"required": [],
"additionalProperties": false
}
}resize_nodeAction
Change a layer's x, y, width, or height.
View tool JSON
{
"name": "resize_node",
"kind": "act",
"impl": "imperative",
"description": "Change a layer's x, y, width, or height.",
"inputSchema": {
"type": "object",
"properties": {
"nodeId": {
"type": "string"
},
"x": {
"type": [
"number",
"string"
]
},
"y": {
"type": [
"number",
"string"
]
},
"width": {
"type": [
"number",
"string"
]
},
"height": {
"type": [
"number",
"string"
]
}
},
"required": [],
"additionalProperties": false
}
}select_nodesAction
Select one or more layers in the shared document.
View tool JSON
{
"name": "select_nodes",
"kind": "act",
"impl": "imperative",
"description": "Select one or more layers in the shared document.",
"inputSchema": {
"type": "object",
"properties": {
"nodeId": {
"type": "string"
},
"nodeIds": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [],
"additionalProperties": false
}
}capture_previewAction
Capture a PNG preview of the canvas or selected node so vision models can self-correct.
View tool JSON
{
"name": "capture_preview",
"kind": "act",
"impl": "imperative",
"description": "Capture a PNG preview of the canvas or selected node so vision models can self-correct.",
"inputSchema": {
"type": "object",
"properties": {
"nodeId": {
"type": "string"
},
"format": {
"type": "string",
"enum": [
"png",
"svg"
]
},
"scale": {
"type": [
"number",
"string"
],
"minimum": 1,
"maximum": 3
}
},
"required": [],
"additionalProperties": false
}
}undo_documentAction
Undo the latest human or agent document edit.
View tool JSON
{
"name": "undo_document",
"kind": "act",
"impl": "imperative",
"description": "Undo the latest human or agent document edit.",
"inputSchema": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
}redo_documentAction
Redo the latest undone document edit.
View tool JSON
{
"name": "redo_document",
"kind": "act",
"impl": "imperative",
"description": "Redo the latest undone document edit.",
"inputSchema": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
}import_projectAction
Open a validated Infinite Canvas project JSON file in the shared document.
View tool JSON
{
"name": "import_project",
"kind": "act",
"impl": "imperative",
"description": "Open a validated Infinite Canvas project JSON file in the shared document.",
"inputSchema": {
"type": "object",
"properties": {
"projectJson": {
"type": "string",
"maxLength": 8000000
},
"operationId": {
"type": "string"
}
},
"required": [
"projectJson"
],
"additionalProperties": false
}
}export_designAction
Export the visible design as a downloadable PNG, SVG, HTML, or project JSON artifact.
View tool JSON
{
"name": "export_design",
"kind": "act",
"impl": "imperative",
"description": "Export the visible design as a downloadable PNG, SVG, HTML, or project JSON artifact.",
"inputSchema": {
"type": "object",
"properties": {
"format": {
"type": "string",
"enum": [
"png",
"svg",
"html",
"json"
]
},
"nodeId": {
"type": "string"
},
"scale": {
"type": "number",
"minimum": 1,
"maximum": 3
},
"filename": {
"type": "string",
"maxLength": 120
},
"includeReferences": {
"type": "boolean"
},
"baseRevision": {
"type": "number"
},
"operationId": {
"type": "string"
}
},
"required": [
"format"
],
"additionalProperties": false
}
}reset_documentAction
Return to the default seeded document.
View tool JSON
{
"name": "reset_document",
"kind": "act",
"impl": "imperative",
"description": "Return to the default seeded document.",
"inputSchema": {
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}
}