← ClaudeAtlas

canvaslisted

Create or modify Obsidian canvas (.canvas) files — visual layout layer where wiki pages, images, PDFs, and free-form text cards are arranged spatially. Supports adding nodes, defining zones (labeled regions), and laying out content with auto-positioning. Use when the user says "create a canvas", "add to canvas", "/canvas", "visualize this on a canvas", "make a canvas of <topic>", "add image to canvas", "add note to canvas", or any phrasing about visual/spatial organization of vault content.
tboome33/obsidian-mcp-router · ★ 1 · AI & Automation · score 74
Install: claude install-skill tboome33/obsidian-mcp-router
# canvas Obsidian's `.canvas` files are JSON. This skill writes them programmatically with sensible auto-layout so you don't have to hand-position nodes. ## .canvas format primer A canvas file is a JSON object: ```json { "nodes": [ { "id": "<unique-id>", "type": "file|text|link|group", "x": <int>, "y": <int>, "width": <int>, "height": <int>, "color": "1-6 or #hex" // optional // type-specific fields below } ], "edges": [ { "id": "<unique-id>", "fromNode": "<node-id>", "fromSide": "top|right|bottom|left", "toNode": "<node-id>", "toSide": "top|right|bottom|left", "label": "<optional>" } ] } ``` Type-specific fields: - `type: "file"` → adds `"file": "<vault-relative-path>"` (any file: .md, .png, .pdf, etc.) - `type: "text"` → adds `"text": "<markdown content>"` - `type: "link"` → adds `"url": "<https://...>"` - `type: "group"` → adds `"label": "<zone label>"`, `"background": "<optional>"` ## Operations ### `canvas-new <name>` Create a new canvas at `wiki/canvases/<slug>.canvas` (extension is `.canvas` only — Obsidian renders these with a canvas icon in the file tree). Empty `nodes` and `edges` arrays. ### `canvas-add-text <canvas> <text>` Append a text node. Auto-position: rightmost node's `x + width + 50`, same `y`. Default size 300×120. ### `canvas-add-file <canvas> <path>` Append a file node. Auto-detect size based on file type: - Markdown: 400×300 - Image (.png/.jpg/.we