canvas

Create, update, and arrange visual shapes on an infinite canvas.

Updated Apr 1, 2026
One-click install
npx skills add https://github.com/koya-alt/Catalyst --skill canvas-koya-alt
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: canvas
Source: https://github.com/koya-alt/Catalyst/tree/main/local/skills/canvas
Command: npx skills add https://github.com/koya-alt/Catalyst --skill canvas-koya-alt

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

The canvas skill removes the friction of manually arranging visual elements by providing programmatic create, read, and update operations for an infinite workspace, enabling reproducible layouts and embedded live previews.

Core Features & Use Cases

  • Read canvas contents at multiple detail levels (focusedShapes, blurryShapes, peripheralClusters) and query by focus_area to limit scope.
  • Create, update, delete, move, resize, reorder, align, and distribute shapes including geo, text, note, iframe, image, and video.
  • Embed live component previews via HTTPS iframes, place images and videos (external or local via .canvas/assets), and prepare UI mockups for review and iteration.

Quick Start

Place an iframe preview named preview-1 at x 0 y 0 with size 1280x720 using a resolved https URL and set componentName to "App Preview".

Frequently Asked Questions about canvas

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build UI mockups on an infinite canvas programmatically?

You can build UI mockups on an infinite canvas by using apply_canvas_actions to create, update, and arrange visual shapes like geo, text, and iframe elements with deterministic shapeId assignments.

Can I embed live component previews using iframes in a layout?

Yes, you can embed live component previews in your layout by placing iframe shapes that enforce HTTPS URLs, allowing you to render external web applications directly on the canvas.

How do I update multiple visual elements atomically during a design review?

To update multiple visual elements atomically during a design review, you can use batched apply_canvas_actions, ensuring all shape modifications like moving, resizing, and reordering succeed or fail together.

What is the best way to read and query visual elements in a specific focus area?

The best way to read visual elements in a focus area is to query the canvas using the focus_area parameter, which limits scope and returns contents at detail levels like focusedShapes and peripheralClusters.

Does the canvas skill support placing local images and videos for layout planning?

Yes, the canvas skill supports layout planning with local images and videos by placing media files stored in the .canvas/assets directory, alongside external image and video URLs.

How do I ensure deterministic creation of shapes on the workspace canvas?

To ensure deterministic creation of shapes on the workspace canvas, you must provide an explicit shapeId assignment when executing create operations, preventing duplicate or random identifier conflicts.