Tool tree
gradeNot graded
get_briefAnswer
Read the job on this board: the brief the human wrote. Call this before drafting or reviewing so you know what the flow must cover.
View tool JSON
{
"name": "get_brief",
"kind": "answer",
"impl": "imperative",
"description": "Read the job on this board: the brief the human wrote. Call this before drafting or reviewing so you know what the flow must cover.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}get_canvas_summaryAnswer
Get a high-level snapshot: brief, element counts, connectors, open pins, background, and the currently selected element. Call this first to understand the live design before making changes.
View tool JSON
{
"name": "get_canvas_summary",
"kind": "answer",
"impl": "imperative",
"description": "Get a high-level snapshot: brief, element counts, connectors, open pins, background, and the currently selected element. Call this first to understand the live design before making changes.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}list_elementsAnswer
List elements on the canvas with id, kind, position, size, layer (z), and text. Use this to find the id of an element you want to update, move, layer, duplicate, align, connect, pin, or delete.
View tool JSON
{
"name": "list_elements",
"kind": "answer",
"impl": "imperative",
"description": "List elements on the canvas with id, kind, position, size, layer (z), and text. Use this to find the id of an element you want to update, move, layer, duplicate, align, connect, pin, or delete.",
"inputSchema": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"frame",
"rectangle",
"ellipse",
"text",
"sticky"
],
"description": "Optional filter to only return elements of this kind."
}
},
"additionalProperties": false
}
}set_briefAction
Write or replace the job on this board. The brief is what review_canvas checks against. Keep it concrete: the steps a flow must include.
View tool JSON
{
"name": "set_brief",
"kind": "act",
"impl": "imperative",
"description": "Write or replace the job on this board. The brief is what review_canvas checks against. Keep it concrete: the steps a flow must include.",
"inputSchema": {
"type": "object",
"properties": {
"brief": {
"type": "string",
"description": "The job to-be-done on this canvas."
}
},
"required": [
"brief"
],
"additionalProperties": false
}
}add_elementAction
Add one element. A finished board is a diagram: nodes (rectangle or ellipse) plus connect_elements. Facts go on nodes. Heading on line one, facts on the next line (WHO GETS IT then a newline then Plus. Pro. Business. Enterprise.). Do not drop kind text on arrows. Leave 32px between nodes. Title can be kind text. A hub ellipse is about 320 by 100. Do not stretch it across the child row. Score bars are charcoal rectangles, height 28. Never connect a bar, a score label, or a number. Always pass fill and stroke; omitted fill becomes a candy blue card. For text, fill is the ink color (#f4f4f5 on dark paper). ASCII labels only. Paper #0a0a0a. Keep x from 40 to 1400 and y from 24 to 1600.
View tool JSON
{
"name": "add_element",
"kind": "act",
"impl": "imperative",
"description": "Add one element. A finished board is a diagram: nodes (rectangle or ellipse) plus connect_elements. Facts go on nodes. Heading on line one, facts on the next line (WHO GETS IT then a newline then Plus. Pro. Business. Enterprise.). Do not drop kind text on arrows. Leave 32px between nodes. Title can be kind text. A hub ellipse is about 320 by 100. Do not stretch it across the child row. Score bars are charcoal rectangles, height 28. Never connect a bar, a score label, or a number. Always pass fill and stroke; omitted fill becomes a candy blue card. For text, fill is the ink color (#f4f4f5 on dark paper). ASCII labels only. Paper #0a0a0a. Keep x from 40 to 1400 and y from 24 to 1600.",
"inputSchema": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"frame",
"rectangle",
"ellipse",
"text",
"sticky"
],
"description": "The type of element to add."
},
"x": {
"type": "number",
"description": "Left position in canvas pixels."
},
"y": {
"type": "number",
"description": "Top position in canvas pixels."
},
"width": {
"type": "number",
"description": "Width in pixels."
},
"height": {
"type": "number",
"description": "Height in pixels."
},
"text": {
"type": "string",
"description": "Text content (for text, sticky, frame title)."
},
"fill": {
"type": "string",
"description": "Hex color. Required for a designed board. Text ink on dark paper: #f4f4f5. Rules: #2a2a2e. Bars: #2c2f36. Do not use candy blue or green."
},
"stroke": {
"type": "string",
"description": "Hex border. Match fill for rules and bars. Use transparent for text."
},
"fontSize": {
"type": "number",
"description": "Type size. Title 28, row 14, score 20, kicker 12."
}
},
"required": [
"kind"
],
"additionalProperties": false
}
}select_elementAction
Select and highlight an element so the human collaborator can see which element you are referring to. Pass null or omit id to clear the selection.
View tool JSON
{
"name": "select_element",
"kind": "act",
"impl": "imperative",
"description": "Select and highlight an element so the human collaborator can see which element you are referring to. Pass null or omit id to clear the selection.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Element id, or omit to clear."
}
},
"additionalProperties": false
}
}set_backgroundAction
Set the canvas paper. Call this first with #0a0a0a for a product map so the void paper reads (the page hides the dot grid on that color). Do not leave the default Night grey. Use a light paper only for a screen mock that should match a live site.
View tool JSON
{
"name": "set_background",
"kind": "act",
"impl": "imperative",
"description": "Set the canvas paper. Call this first with #0a0a0a for a product map so the void paper reads (the page hides the dot grid on that color). Do not leave the default Night grey. Use a light paper only for a screen mock that should match a live site.",
"inputSchema": {
"type": "object",
"properties": {
"color": {
"type": "string",
"description": "Hex color string."
}
},
"required": [
"color"
],
"additionalProperties": false
}
}clear_canvasAction
Remove all elements, connectors, and pins from the canvas to start fresh. The brief stays. The page asks the human to confirm. The human can undo this agent turn.
View tool JSON
{
"name": "clear_canvas",
"kind": "act",
"impl": "imperative",
"description": "Remove all elements, connectors, and pins from the canvas to start fresh. The brief stays. The page asks the human to confirm. The human can undo this agent turn.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}