add-canvas-assets
ChatGPTAdd up to 10 image assets to an owned page's canvas from https URLs only. Rejects data: and non-https URLs. Requires operationId for retry safety.
add-canvas-items
ChatGPTAdd up to 20 sticky notes or annotations to an owned page canvas. Use type sticky-note (aliases note/text/sticky) with props.text and optional props.position. Requires operationId for retry safety.
archive-design
ChatGPTWidget-only action that marks the exact owned design as deleted (best-effort archive) after the user clicks the confirmation button.
build-react-prototype
ChatGPTRebuild an existing React prototype. Do NOT call this after create-react-prototype — that flow already builds in the background automatically. Only call this when the user explicitly asks to rebuild, or when a previous build failed.
compare-design-versions
ChatGPTCompare two owned design versions with compact metrics (size/delta flags). Does not return full HTML.
compare-review-scores
ChatGPTCompare normalized UX review scores for up to two owned designs. Does not echo raw reports.
create-design-from-html
ChatGPTWidget-only action that adds the previously sanitized HTML as a new design on an owned page after the user clicks the confirmation button. Creates new content — does not delete or overwrite existing designs.
create-design-version
ChatGPTSave revised HTML as a new version of an owned design on an owned page. Omit html to duplicate the current design HTML from the source design. The HTML is stored in the workspace and never echoed back. Requires operationId for retry safety.
create-diagram
ChatGPTCreate a flow/architecture diagram on an owned page canvas. When nodes and edges are provided, the diagram is placed on the page canvas as visible flowchart shapes. Bounded to 100 nodes and 100 edges. Requires operationId for retry safety.
create-group
ChatGPTCreate a private group of designs, optionally attached to an owned page. Requires operationId for retry safety.
create-page
ChatGPTCreate a new private UX Pilot design page in the authenticated user's workspace. Requires operationId for retry safety.
create-page-from-template
ChatGPTCreate a new workspace page from a community template and copy its designs onto it. Call list-community-templates first and pass an exact returned template id (do not invent slugs like community-platform). Requires operationId for retry safety.
create-react-prototype
ChatGPTWidget-only action that creates a React prototype project from owned designs after the user clicks the confirmation button.
create-version-from-accessibility-fixes
ChatGPTWidget-only action that creates a new child design version with accessibility fixes after the user clicks the confirmation button. Adds a version — does not delete the parent design.
create-version-from-persona-fixes
ChatGPTWidget-only action that creates a new child design version with persona audit fixes after the user clicks the confirmation button. Adds a version — does not delete the parent design.
create-version-from-ux-fixes
ChatGPTWidget-only action that creates a new child design version with UX review fixes after the user clicks the confirmation button. Adds a version — does not delete the parent design.
create-workstream
ChatGPTCreate a private workstream/folder for the authenticated user.
delete-canvas-assets
ChatGPTWidget-only action that permanently deletes up to 20 exact owned canvas assets after the user clicks the confirmation button.
delete-canvas-items
ChatGPTWidget-only action that permanently deletes up to 20 exact owned canvas items after the user clicks the confirmation button.
delete-diagram
ChatGPTWidget-only action that permanently deletes the exact owned diagram after the user clicks the confirmation button.
delete-group
ChatGPTWidget-only action that permanently deletes the exact owned group after the user clicks the confirmation button.
delete-page
ChatGPTWidget-only action that permanently deletes the exact owned page after the user clicks the confirmation button.
delete-workstream
ChatGPTWidget-only action that permanently deletes the exact owned workstream/folder after the user clicks the confirmation button.
duplicate-design
ChatGPTDuplicate an owned design, optionally onto an owned page or group. Requires operationId for retry safety.
edit-react-agent
ChatGPTWidget-only action that starts the UX Pilot React edit agent after the user clicks Start editing. Do not call this from the model.
edit-react-prototype
ChatGPTLegacy sync edit for an owned React prototype (no long-running agent job). Prefer prepare-edit-react-agent so the user confirms in the widget and sees live progress. Only use this when the agent edit flow is unavailable.
get-agent-job
ChatGPTRead status, pageId, and designIds for a design-agent job. Pass agentJobId when you have it; omit it to use the latest job started in this session. Call once after generation finishes before follow-up tools (persona audit, apply-fixes, edit, restyle). Do not loop — the widget already polls.
get-design
ChatGPTLoad compact metadata for one owned UX Pilot design (title, dimensions, pageId, parentId). Never returns HTML; use get-design-preview for preview URLs.
get-design-collection
ChatGPTGet compact collection detail. Ownership is resolved server-side; callers must not supply owner identity.
get-design-preview
ChatGPTGet compact preview metadata for one existing UX Pilot design the user owns (title, status, preview URL). Does not generate designs and does not return HTML.
get-design-versions
ChatGPTList compact version history for an owned UX Pilot design. Does not return HTML and does not generate new designs.
get-generation-status
ChatGPTOptional status check for a React prototype or design the confirmation widget already started building. The widget polls and shows progress. Only call this if the user asks for a later status update. Do not loop.
get-page-context
ChatGPTLoad compact owned-page context: page metadata, group ids, design id summaries (with designIds you can pass to other tools), canvas shapes (including sticky-note ids and text previews via canvas.noteIds/items), and comment counts. Always call this with includeDesigns=true when you need designIds for follow-up tools — especially after prepare-start-design-agent returns a pageId. Designs that are React prototype projects include a reactProjectId field — pass that to prepare-edit-react-agent to edit them. Never returns HTML; use get-design-preview for visuals.
get-review-status
ChatGPTRead the state and compact scores of the most recent UX review saved for an owned design. Returns counts only — no review text is written or removed.
get-symbol
ChatGPTGet bounded symbol metadata without raw HTML by default.
get-theme
ChatGPTGet bounded theme detail for an owned theme id (no full raw theme JSON dump).
list-design-collections
ChatGPTList compact design collections owned by or shared with the authenticated user.
list-diagrams
ChatGPTList existing UX Pilot diagrams on a page. pageId is required — call list-pages first to get a pageId, then pass it here. Use for diagram discovery — not for multi-screen UI design generation (use prepare-start-design-agent for that).
list-pages
ChatGPTList the authenticated user's existing UX Pilot design pages. Use when the user wants to find pages they already created — not to generate new screens or flows.
list-symbols
ChatGPTList compact design-system symbols available to the authenticated user.
list-themes
ChatGPTList compact design-system themes available to the authenticated user. Not for generating screens.
list-workstreams
ChatGPTList the authenticated user's existing UX Pilot workstreams (folders). Use when the user wants to find or browse folders they already have — not to generate new designs.
load-widget-state
ChatGPTLoad persisted widget state for widget use only.
move-design-to-page
ChatGPTMove an owned design to a different owned page. Requires operationId for retry safety.
move-group-to-page
ChatGPTMove an owned group of designs to a different owned page. Requires operationId for retry safety.
move-page-to-workstream
ChatGPTMove an owned page into a different owned workstream, or clear its workstream by passing null. Requires operationId for retry safety.
prepare-archive-design
ChatGPTPreview archiving (marking deleted) an owned design and open an explicit confirmation widget. This starts a short-lived private confirmation session but does not archive the design.
prepare-create-design-from-html
ChatGPTSanitize HTML (rejecting scripts, frames, and inline handlers), verify page ownership, and open a confirmation preview. The HTML is held server-side and imported only after the user clicks confirm.
prepare-create-react-prototype
ChatGPTOpen a confirmation widget to turn owned UX Pilot designs into a React prototype on the same page. After the user clicks Create prototype in the widget, the same widget shows live build progress and preview. Do not call create-react-prototype directly.
prepare-create-version-from-accessibility-fixes
ChatGPTValidate ownership, load the latest saved accessibility violations, and open a confirmation widget. This prepare step does not change the design — the user must click Apply fixes in the widget to create a new version. Pass designId+pageId, or pageId alone when the page has exactly one design (multiple → error with designIds).
prepare-create-version-from-persona-fixes
ChatGPTValidate ownership, re-run persona audit server-side to gather findings (may differ from an earlier preview-persona-audit), and open a confirmation widget. This prepare step does not change the design — the user must click Apply fixes in the widget to create a new version. Pass designId+pageId, or pageId alone when the page has exactly one design (multiple → error with designIds).
prepare-create-version-from-ux-fixes
ChatGPTValidate ownership, re-run UX review server-side to gather findings (may differ from an earlier preview-ux-review), and open a confirmation widget. This prepare step does not change the design — the user must click Apply fixes in the widget to create a new version. Pass designId+pageId, or pageId alone when the page has exactly one design (multiple → error with designIds).
prepare-delete-canvas-assets
ChatGPTPreview deletion of up to 20 owned canvas assets on a page and open an explicit confirmation widget. This starts a short-lived private confirmation session but does not delete the assets.
prepare-delete-canvas-items
ChatGPTPreview deletion of up to 20 owned canvas items (sticky notes, annotations) on a page and open an explicit confirmation widget. First call get-page-context and use canvas.noteIds or canvas.items[].id for sticky notes. This starts a short-lived private confirmation session but does not delete the items.
prepare-delete-diagram
ChatGPTPreview deletion of an owned diagram and open an explicit confirmation widget. This starts a short-lived private confirmation session but does not delete the diagram.
prepare-delete-group
ChatGPTPreview deletion of an owned group of designs and open an explicit confirmation widget. This starts a short-lived private confirmation session but does not delete the group.
prepare-delete-page
ChatGPTPreview deletion of an owned page and open an explicit confirmation widget. This starts a short-lived private confirmation session but does not delete the page.
prepare-delete-workstream
ChatGPTPreview deletion of an owned workstream/folder and open an explicit confirmation widget. This starts a short-lived private confirmation session but does not delete the workstream.
prepare-edit-react-agent
ChatGPTOpen the UX Pilot generation widget to apply edits to an existing React prototype project. The user clicks Start editing in the widget; the same widget then shows live progress. Do not call edit-react-agent directly. Do not tell the user to confirm in chat.
prepare-prototype-publish
ChatGPTVerify ownership and open a confirmation preview before publishing a React prototype. Read-only prepare step — nothing is published until the user confirms in the widget and publish-prototype runs.
prepare-publish-design-preview
ChatGPTPreview publishing an owned design and open an explicit confirmation widget. This starts a short-lived private confirmation session but does not publish.
prepare-start-design-agent
ChatGPTOpen the UX Pilot generation widget for a product prompt. Always returns pageId in structuredContent. When pageId is omitted, reuses this user's latest session page (same as GCR — multiple generates stack on one page) unless forceNewPage=true. Only creates a new page when there is no session page yet or forceNewPage is set. The user clicks Start generating in the widget; the same widget then shows live progress and design previews. Do not call start-design-agent. Do not tell the user to confirm in chat. Do not poll get-agent-job in a loop — the widget already polls. After generation, pageId alone works only when that page has exactly one design; if multiple screens exist, pass designId (from get-page-context / get-agent-job).
preview-attention-heatmap
ChatGPTRun a first-party attention job to compute a predictive heatmap overlay for an owned design. Returns a private first-party https asset URL only — does not modify the design or publish publicly.
preview-flowchart
ChatGPTCompute a bounded user-flow or process flowchart (nodes and edges only) from a text prompt. Read-only preview — nothing is saved until you call create-diagram.
preview-flowchart-edits
ChatGPTCompute edits to an existing flowchart graph from a natural-language instruction, optionally scoped to selected nodes. Read-only preview — nothing is saved until you call create-diagram.
preview-gaze-flow
ChatGPTRun a first-party attention job to compute a predicted gaze/scanpath overlay for an owned design. Returns a private first-party https asset URL only — does not modify the design or publish publicly.
preview-persona-audit
ChatGPTRun a first-party persona audit job on an owned design and return compact scores and findings. Pass designId, or pageId alone when the page has exactly one design (multiple designs → error listing designIds — pick one). Does not save results to the design or post comments — use prepare-create-version-from-persona-fixes to apply changes (that prepare re-runs the audit; findings may differ from this preview).
preview-ux-review
ChatGPTRun a first-party UX review job on an owned design and return compact scores and findings. Pass designId, or pageId alone when the page has exactly one design (multiple designs → error listing designIds — pick one). Does not save results to the design or post comments — use prepare-create-version-from-ux-fixes to apply changes (that prepare re-runs the review; findings may differ from this preview).
publish-design-preview
ChatGPTWidget-only action that publishes the exact owned design preview after the user clicks the confirmation button. Public visibility creates an open-world URL.
publish-prototype
ChatGPTWidget-only action that publishes the React prototype build of an owned design after the user clicks the confirmation button.
save-accessibility-report
ChatGPTSave a compact accessibility scan summary (counts only, no node HTML) for an owned design. Requires operationId for retry safety.
save-widget-state
ChatGPTPersist widget state for widget use only.
set-design-saved
ChatGPTSave or unsave an owned design to the user's saved library. Requires operationId for retry safety.
set-group-saved
ChatGPTSave or unsave an owned group to the user's saved library. Requires operationId for retry safety.
start-design-agent
ChatGPTWidget-only action that starts the UX Pilot design agent after the user clicks Start generating. Do not call this from the model.
stop-agent-job
ChatGPTWidget-only action that asks a running design-agent job to stop. Finished screens are kept. The generation widget refreshes status after Stop.
toggle-page-bookmark
ChatGPTSet the bookmarked state of an owned page. Requires operationId for retry safety.
update-canvas-assets
ChatGPTUpdate an existing canvas asset on an owned page (src must be https). Requires operationId for retry safety.
update-canvas-items
ChatGPTUpdate up to 20 existing canvas items on an owned page. Props must be bounded, non-HTML data. Requires operationId for retry safety.
update-design-metadata
ChatGPTUpdate title, prompt, position, or dimensions of an owned design. Never accepts an HTML body. Requires operationId for retry safety.
update-group
ChatGPTUpdate the membership or font of an owned group. Requires operationId for retry safety.
update-page
ChatGPTUpdate metadata for an owned page (name only). Does not delete designs or promote upgrades.
update-workstream
ChatGPTRename or update the description of an owned workstream/folder. Requires operationId for retry safety.
flow-generation
Claudegenerate-design
Claude