Obsidian Canvas
Use this skill to create valid JSON Canvas files for Obsidian.
Canvas Shape
A canvas file is JSON with:
{
"nodes": [],
"edges": []
}
Nodes need stable IDs and position fields:
idtypexywidthheight
Common node types:
textwithtextfilewithfilelinkwithurlgroupwithlabel
Edges connect node sides:
idfromNodefromSidetoNodetoSide
Workflow
Identify the canvas purpose
- Map, timeline, workflow, dashboard, argument, project board, or concept graph.
Choose layout
- Left to right for process flows.
- Top to bottom for hierarchy.
- Hub and spoke for concept maps.
- Columns for project boards.
Create nodes
- Use readable dimensions.
- Keep text concise.
- Use file nodes for notes that already exist or should be created separately.
Connect edges
- Use edges only for meaningful relationships.
- Avoid visual clutter.
- Use stable IDs such as
edge-plan-build.
Validate JSON
- Ensure valid JSON, no trailing commas.
- Ensure every edge references existing node IDs.
- Ensure nodes do not overlap unintentionally.
Rules
- Do not invent files unless the user asked to create them.
- Prefer text nodes for new ideas and file nodes for existing notes.
- Keep coordinates simple and grid-like.
Output Format
End with:
- Canvas file created or changed
- Node and edge count
- Linked files referenced
- JSON validation result