Brainstorming canvas tools
These tools operate on the infinite brainstorming canvas. They are available whenever you are in Brainstorming mode.create_brainstorm_card
create_brainstorm_card
Creates a new card on the brainstorming canvas. The agent positions cards intelligently by default — you do not need to specify coordinates.
Example prompt:
| Parameter | Type | Required | Description |
|---|---|---|---|
content | string | Yes | Text content for the card |
width | number | No | Card width in pixels (default: 200) |
height | number | No | Card height in pixels (default: 150) |
type | string | No | text, image, or ai-generated |
backgroundColor | string | No | Card color as a hex value |
Create five cards with the core pillars of UX designcreate_content_card
create_content_card
Creates a card and immediately populates it with meaningful content on a given topic. Use this when you want the agent to generate the card text itself rather than providing it explicitly.
Example prompt:
| Parameter | Type | Required | Description |
|---|---|---|---|
topic | string | Yes | Subject for the card (e.g., “climate change”, “SWOT analysis”) |
content | string | Yes | The detailed content to populate the card with |
title | string | No | Optional title; generated from topic if omitted |
backgroundColor | string | No | Card color as a hex value |
Add a card about the benefits of async communication for remote teamsedit_brainstorm_card
edit_brainstorm_card
Edits the text content of an existing card by its ID.
Example prompt:
| Parameter | Type | Required | Description |
|---|---|---|---|
cardId | string | Yes | ID of the card to edit |
content | string | Yes | New text content |
Update the blue card to say "Q3 2025 targets"move_brainstorm_card
move_brainstorm_card
Moves a card to an explicit canvas position.
Example prompt:
| Parameter | Type | Required | Description |
|---|---|---|---|
cardId | string | Yes | ID of the card to move |
x | number | Yes | Target X coordinate in world space |
y | number | Yes | Target Y coordinate in world space |
Rearrange the cards so the "Research" card is at the topplace_card
place_card
Positions a card relative to another card using spatial relationships like “below”, “to the right of”, or “centered above”. Prefer this over
Example prompt:
move_brainstorm_card when you want to express layout intent in natural language.| Parameter | Type | Required | Description |
|---|---|---|---|
cardId | string | Yes | ID of the card to position |
referenceCardId | string | Yes | ID of the card to position relative to |
side | string | Yes | top, bottom, left, or right |
align | string | Yes | start, center, or end |
sideOffset | number | No | Distance from the reference card (default: 10) |
alignOffset | number | No | Offset along the alignment axis (default: 0) |
intent | string | Yes | Human-readable positioning description |
Place the "Execution" card directly below the "Strategy" cardcreate_connection
create_connection
Draws a line or arrow connector between two cards. You can identify cards by their ID or by a description like “the red card” or “the first card”.
Example prompt:
| Parameter | Type | Required | Description |
|---|---|---|---|
fromCardId | string | No | Source card ID (if known) |
toCardId | string | No | Target card ID (if known) |
fromDescription | string | No | Description of the source card (e.g., “red card”) |
toDescription | string | No | Description of the target card |
type | string | No | line or arrow (default: arrow) |
color | string | No | Connector color as a hex value |
strokeWidth | number | No | Line thickness (default: 2) |
Connect the "Problem" card to the "Solution" card with an arrowmodify_connection
modify_connection
Updates or removes an existing connector between cards.
Example prompt:
| Parameter | Type | Required | Description |
|---|---|---|---|
connectionId | string | Yes | ID of the connection to modify |
action | string | Yes | update or remove |
type | string | No | New connector type (line or arrow) |
color | string | No | New connector color |
strokeWidth | number | No | New line thickness |
Remove all connectors between the idea cardscreate_template
create_template
Generates a structured layout template on the canvas from a central topic and list of subtopics.
Example prompt:
| Parameter | Type | Required | Description |
|---|---|---|---|
templateType | string | Yes | mindmap, wordweb, or flowchart |
centralTopic | string | Yes | The root topic of the template |
subtopics | array | Yes | 2–8 branch topics as strings |
useAIGeneration | boolean | No | Let AI expand the template with additional content |
Create a mind map for a product launch with subtopics for marketing, design, engineering, and salescreate_section
create_section
Creates a named container area on the canvas with an internal layout for organizing cards placed inside it.
Example prompt:
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | No | Section label shown in the section tab |
x | number | No | World-space center X position |
y | number | No | World-space center Y position |
width | number | No | Section width (default: 1200) |
height | number | No | Section height (default: 800) |
layoutType | string | No | row, column, waterfall, grid, or bento |
strokeColor | string | No | Section border color |
Create a "Research" section and a "Concepts" section side by sideShape and drawing tools
create_shape
create_shape
Creates a single geometric shape at an auto-positioned or specified location. For complex objects (vehicles, figures, buildings), call this multiple times or use
Example prompt:
create_smart_shape instead.| Parameter | Type | Required | Description |
|---|---|---|---|
intent | string | No | Human-readable description of what the shape represents |
type | string | No | circle, rectangle, triangle, square, star, or heart |
x | number | No | X position (omit for auto-positioning) |
y | number | No | Y position (omit for auto-positioning) |
size | number | No | Shape size in pixels |
fill | string | No | Fill color as a hex value |
width | number | No | Width override (useful for rectangles) |
height | number | No | Height override |
rotation | number | No | Rotation in degrees, around the center |
Draw a large red circle in the center of the canvascreate_smart_shape
create_smart_shape
Creates a multi-component object by decomposing it into properly proportioned shapes — useful for recognizable objects like animals, vehicles, or buildings.
Example prompt:
| Parameter | Type | Required | Description |
|---|---|---|---|
object | string | Yes | What to create (e.g., “dog”, “spaceship”, “coffee cup”) |
sizeMultiplier | number | No | Scale the whole object up or down (default: 1.0) |
Draw a simple cat on the canvascreate_compound_object
create_compound_object
Creates multiple shapes in a single call to form a complex object. More reliable than sequential
Example prompt:
create_shape calls when building multi-part objects.| Parameter | Type | Required | Description |
|---|---|---|---|
objectType | string | Yes | Type of object (e.g., “house”, “car”, “robot”) |
shapes | array | Yes | Array of shape definitions with type, intent, color, size, and optional relativePosition |
Build a simple house from shapesresize_shape
resize_shape
Resizes or rotates an existing shape by ID.
Example prompt:
| Parameter | Type | Required | Description |
|---|---|---|---|
shapeId | string | Yes | ID of the shape to resize |
width | number | No | New width in pixels |
height | number | No | New height in pixels |
scale | number | No | Uniform scale factor (1.0 = no change) |
scaleX | number | No | Horizontal scale factor |
scaleY | number | No | Vertical scale factor |
rotation | number | No | New rotation in degrees |
Make the circle twice as largecreate_sketch_path
create_sketch_path
Renders a freehand sketch as a series of connected points.
Example prompt:
| Parameter | Type | Required | Description |
|---|---|---|---|
points | array | Yes | Array of {x, y} coordinate objects |
color | string | No | Stroke color (default: #000000) |
strokeWidth | number | No | Line thickness (default: 3) |
Sketch a rough arrow pointing rightcreate_text_element
create_text_element
Adds a floating text label at an explicit position on the canvas.
Example prompt:
| Parameter | Type | Required | Description |
|---|---|---|---|
text | string | Yes | Text content |
x | number | Yes | X position in world space |
y | number | Yes | Y position in world space |
fontSize | number | No | Font size in pixels (default: 16) |
color | string | No | Text color (default: #000000) |
Add a heading "User Journey" at the top of the canvasWorkflow and utility tools
run_workflow
run_workflow
Executes a high-level creative workflow that plans and places a cohesive set of cards on the canvas using a deterministic layout strategy.
Example prompt:
| Parameter | Type | Required | Description |
|---|---|---|---|
prompt | string | Yes | High-level intent describing the topic and goals |
layoutStrategy | string | No | bento, waterfall, grid, or radial (default: bento) |
workflowMode | string | No | research_board or moodboard_radial |
bentoVariant | string | No | Bento composition pattern (default: auto) |
maxObjects | number | No | Maximum number of objects to create (4–20, default: 10) |
Build a complete research board on climate change solutionstake_screenshot
take_screenshot
Takes a screenshot of the current canvas for the agent to visually analyze — useful before creating new content so the agent understands the existing layout.
Example prompt:
| Parameter | Type | Required | Description |
|---|---|---|---|
analysis_purpose | string | No | layout_analysis, content_placement, visual_context, or quality_check |
Look at what's on the canvas and suggest how to improve the layoutget_canvas_info
get_canvas_info
Reads the current canvas state — all cards, their positions, sizes, and IDs — without taking a screenshot.
Example prompt:
| Parameter | Type | Required | Description |
|---|---|---|---|
intent | string | No | Why you need the canvas info |
List all the cards currently on the canvasswitch_canvas_mode
switch_canvas_mode
Switches the workspace to a different mode.
Example prompt:
| Parameter | Type | Required | Description |
|---|---|---|---|
mode | string | Yes | brainstorming, design, or compose |
Switch to Compose mode and build a landing pageexport_canvas
export_canvas
Exports the current canvas content to a file.
Example prompt:
| Parameter | Type | Required | Description |
|---|---|---|---|
format | string | No | png, jpg, svg, pdf, or json (default: png) |
includeBackground | boolean | No | Include the canvas background (default: true) |
Export the canvas as a PNG