json-canvas

Create and edit JSON Canvas diagrams with nodes, edges, and groups.

Updated Nov 29, 2025
One-click install
npx skills add https://github.com/thimslugga/agent-skills --skill json-canvas-thimslugga
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: json-canvas
Source: https://github.com/thimslugga/agent-skills/tree/main/skills/obsidian/json-canvas
Command: npx skills add https://github.com/thimslugga/agent-skills --skill json-canvas-thimslugga

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Create and edit JSON Canvas diagrams (.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.

Core Features & Use Cases

  • Create and modify a .canvas file containing top-level arrays "nodes" and "edges" per the JSON Canvas Spec 1.0.
  • Generate unique 16-character IDs for nodes and edges and add node-specific attributes (id, type, x, y, width, height) and edge connections (fromNode, toNode, fromSide, toSide).
  • Validate the JSON structure and ensure all edge references reference existing nodes; supports workflows like adding nodes, connecting nodes, and editing existing canvases.

Quick Start

Create a new canvas file with the base structure {"nodes": [], "edges": []} and begin adding nodes and edges with unique IDs.

Frequently Asked Questions about json-canvas

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a JSON Canvas file for a mind map in Obsidian?

To create a JSON Canvas file, initialize a .canvas file with the base structure {"nodes": [], "edges": []} and begin adding nodes and edges with unique 16-character IDs, adhering to the JSON Canvas Spec 1.0.

What is the JSON Canvas Spec 1.0 structure for flowcharts?

The JSON Canvas structure for flowcharts requires top-level arrays for "nodes" and "edges". Nodes need specific attributes like id, type, x, y, width, and height, while edges define connections using fromNode, toNode, fromSide, and toSide.

Does this canvas diagram generator validate edge references to existing nodes?

Yes, the canvas diagram generator validates the JSON structure and ensures all edge references point to existing nodes. It also generates unique 16-character IDs for all nodes and edges to maintain reference integrity.

Can I use this to structure node and edge groups for visual planning?

Yes, you can structure nodes, edges, and groups for visual planning tasks. It supports workflows like adding nodes, connecting nodes, and editing existing canvases for mind maps and flowcharts.

What's the best way to edit an existing .canvas file without breaking node connections?

The best way to edit an existing .canvas file is to ensure adherence to the JSON Canvas Spec 1.0, use unique 16-character IDs for any new nodes or edges, and validate that all edge references correctly point to existing nodes.

Why does my JSON Canvas diagram show broken references after adding new nodes?

Broken references in a JSON Canvas diagram occur when edges do not reference existing nodes. The Skill validates reference integrity by ensuring all edge connections point to valid, unique 16-character node IDs within the canvas structure.