obsidian-canvas
SKILL.md
Obsidian Canvas
This skill handles the creation and manipulation of .canvas files (JSON Canvas).
Core Workflow
- Library: Utilization of the provided
scripts/canvas_lib.pyis MANDATORY. Do not write raw JSON. - Execution: Construct a JSON payload and pipe it to the library script via stdin (CLI mode). Do not create temporary Python scripts.
- Layout: Focus on logical coordinates (x,y). The library handles ID generation, node height, and edge routing automatically.
Resources
- Library:
scripts/canvas_lib.py(Core logic for nodes, groups, and smart edges). - CLI Spec: references/library_spec.md - Read strictly for JSON format.
- Specification: See references/spec.md for the detailed JSON schema.
- Example: See assets/flowchart.canvas.
Layout & Aesthetics (Senior Designer Standards)
- Whitespace: Use generous vertical gaps (120px-180px) between related nodes to provide "shelf space" for edge labels.
- Z-Indexing: The library handles z-indexing (groups render behind nodes). Always use groups to bound track-specific content.
- Hierarchy: Use H1 (#) for canvas titles, H2 (##) for major sections, and H3 (###) for individual node titles.
- Colors:
1(Red): Friction, Error, Filing.2(Orange): Interaction, Support, Outreach.3(Yellow): Evidence, Documentation, Data.4(Green): Success, Resolution, Start.5(Blue/Cyan): Neutral, Operations.6(Purple): Titles, Meta-info, Outcome.
- Edges: Keep labels short. If multiple edges cross the same path, the library tries to route them, but manual
xadjustments help.
Output
To create a new canvas, construct a JSON payload and pipe it to the library script:
cat <<EOF | python3 /path/to/skills/obsidian-canvas/scripts/canvas_lib.py
{
"output": "Project_Flow.canvas",
"nodes": [
{"node_id": "start", "text": "Start", "x": 0, "y": 0, "color": "6"},
{"node_id": "end", "text": "End", "x": 0, "y": 200, "color": "1"}
],
"edges": [
{"from_node": "start", "to_node": "end"}
],
"groups": [
{"label": "Phase 1", "nodes_in_group": ["start", "end"], "color": "5"}
]
}
EOF
Weekly Installs
27
Repository
altshiftstudio/skillsGitHub Stars
1
First Seen
Jan 24, 2026
Security Audits
Installed on
gemini-cli20
cursor20
opencode19
codex18
antigravity16
claude-code16