Create and edit JSON Canvas files (.canvas) with nodes, edges, groups, and connections. Use when working with .canvas files, creating visual canvases, mind maps, flowcharts, or when the user mentions Canvas files in Obsidian.
Install with Tessl CLI
npx tessl i github:davepoon/buildwithclaude --skill json-canvas86
Quality
82%
Does it follow best practices?
Impact
96%
1.12xAverage score across 3 eval scenarios
Node IDs, layout grid alignment, edge connections
Canvas file extension
100%
100%
Top-level structure
100%
100%
16-char hex IDs
0%
100%
Unique IDs
100%
100%
Required node fields
100%
100%
Valid edge references
100%
100%
Edge required fields
100%
100%
Valid fromSide/toSide
100%
100%
Valid color values
100%
100%
Grid-aligned coordinates
100%
75%
Node spacing
100%
100%
Recommended node sizes
100%
100%
Without context: $0.2148 · 54s · 12 turns · 19 in / 3,433 out tokens
With context: $0.4437 · 1m 28s · 19 turns · 181 in / 5,234 out tokens
Group z-index ordering and padding layout
Groups before children
100%
100%
Child nodes inside group bounds
100%
100%
Group padding 20-50px
100%
100%
Group labels present
100%
100%
Valid group colors
100%
100%
16-char hex IDs
0%
0%
Valid edge to group
100%
100%
Node spacing between groups
0%
100%
Grid-aligned coordinates
100%
100%
Valid node required fields
100%
100%
Without context: $0.2018 · 47s · 9 turns · 12 in / 3,368 out tokens
With context: $0.2666 · 49s · 11 turns · 421 in / 3,506 out tokens
Mixed node types: file, link, text with edges
Canvas file extension
100%
100%
File node 'file' attribute
100%
100%
Subpath starts with '#'
100%
100%
Link node 'url' attribute
100%
100%
Valid fromSide/toSide values
100%
100%
Valid fromEnd/toEnd values
100%
100%
Edge labels present
100%
100%
Valid edge node references
100%
100%
16-char hex IDs
0%
100%
Required fields on all nodes
100%
100%
Valid color values
100%
100%
Recommended size ranges
50%
100%
Without context: $0.1440 · 43s · 10 turns · 15 in / 2,572 out tokens
With context: $0.3800 · 1m 4s · 19 turns · 24 in / 3,642 out tokens
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.