From obsidian
Invoke to create or update an Obsidian canvas that visually maps a set of notes as linked nodes. Handles node layout, edge creation, and updates to existing canvases. Triggers: "create a canvas", "visualise these notes", "make a canvas map", or automatically after obsidian-writer finishes a topic with 3+ notes.
How this skill is triggered — by the user, by Claude, or both
Slash command
/obsidian:obsidian-canvasThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
- Only when a topic folder has **3 or more notes** (index + at least 2 deep dives).
{Folder}/{Topic}.canvascanvas_read to check if {Folder}/{Topic}.canvas exists.| Node | Position | Size |
|---|---|---|
| Index note | Center {x: 0, y: 0} | 400 × 200 |
| Deep-dive 1 | {x: 500, y: -300} | 250 × 130 |
| Deep-dive 2 | {x: 500, y: 0} | 250 × 130 |
| Deep-dive 3 | {x: 500, y: 300} | 250 × 130 |
| Deep-dive N | Continue 300px apart vertically | 250 × 130 |
Adjust x-offsets for very large sets (wrap into 2 columns at 6+ deep dives).
Call canvas_create with:
{
"path": "Folder/Topic.canvas",
"nodes": [
{
"id": "index",
"type": "file",
"file": "Folder/Topic — Index.md",
"x": 0, "y": 0,
"width": 400, "height": 200
},
{
"id": "dive-01",
"type": "file",
"file": "Folder/01 - Subtopic.md",
"x": 500, "y": -150,
"width": 250, "height": 130
}
],
"edges": [
{
"id": "edge-dive-01-index",
"fromNode": "dive-01",
"fromSide": "left",
"toNode": "index",
"toSide": "right"
}
]
}
Edge direction convention: deep-dive → index (deep dives point to their hub). Cross-edges between deep-dives: add only when those notes explicitly wikilink to each other. Label edges only when the relationship is non-obvious.
canvas_read to get current nodes and edges.canvas_update with the full updated JSON.Use short, stable, human-readable IDs:
"index""dive-01", "dive-02", etc."edge-{fromId}-{toId}"| Use | Type |
|---|---|
Linking to a .md note | "file" |
| Free-floating label | "text" |
| Group/section boundary | "group" |
Always use "file" for note nodes in this skill. "text" nodes are only for adding short annotations if helpful.
npx claudepluginhub mohd-bilal/obsidian-claude-plugin --plugin obsidianAdd content to existing Obsidian Canvas files. Supports all node types: images (with auto aspect ratio detection), text cards, PDFs, wiki notes, web links, Mermaid diagrams, SVGs, GIFs, AI-generated images via banana. Also adds zones (groups), edges between nodes, and imports recent banana images. Triggers on: canvas add, add to canvas, put on canvas, canvas zone, canvas connect, canvas from banana, add image to canvas, add text to canvas.
Create and edit .canvas JSON files for Obsidian, managing nodes, edges, groups, and connections. Ideal for mind maps, flowcharts, and visual diagrams with ID validation.
Creates and edits Obsidian JSON Canvas (.canvas) files with nodes, edges, groups, and connections for mind maps, flowcharts, and visual diagrams.