json-canvas

Create and edit JSON Canvas files with nodes and edges per Spec 1.0.

4|1|Updated Jan 19, 2026
One-click install
npx skills add https://github.com/rongarede/skill-snapshots --skill json-canvas-rongarede
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: json-canvas
Source: https://github.com/rongarede/skill-snapshots/tree/main/obsidian/json-canvas
Command: npx skills add https://github.com/rongarede/skill-snapshots --skill json-canvas-rongarede

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill enables creating and editing valid JSON Canvas files (.canvas) for Obsidian and compatible tools, making it easy to visually structure ideas, workflows, and diagrams without manual JSON editing.

Core Features & Use Cases

  • Create and edit .canvas files with nodes and edges, supporting node types: text, file, link, and group.
  • Define positioning, size, color, and edge connections, following the JSON Canvas Spec 1.0 for valid canvases.
  • Use cases include building mind maps, flowcharts, project canvases, and research diagrams within Obsidian.

Quick Start

Create a minimal canvas file named my.canvas with:

  • "nodes": []
  • "edges": [] Then add a sample text node: { "id": "node-1", "type": "text", "x": 0, "y": 0, "width": 300, "height": 100, "text": "# Sample Canvas" } Save the file and open it with a JSON Canvas-compatible viewer or Obsidian plugin.

Frequently Asked Questions about json-canvas

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

FAQPage Schema
How do I create an Obsidian .canvas file for a mind map or flowchart?

To create an Obsidian .canvas file, define a JSON structure with "nodes" and "edges" arrays. You can model mind maps or flowcharts by specifying node types like text, file, link, or group, along with their coordinates and dimensions.

What is the JSON Canvas spec and when do I need it for Obsidian?

The JSON Canvas spec is a standard for structuring visual canvases in Obsidian. You need it to programmatically define nodes, edges, and groups for diagrams or project canvases, ensuring the resulting .canvas file is valid and properly rendered.

How do I add and connect text nodes in a JSON Canvas file?

To add and connect text nodes in a JSON Canvas file, create node objects with a unique "id", "type": "text", and positional properties. Connect them by adding edge objects that reference the source and target node IDs in the "edges" array.

Does this JSON Canvas generator validate required fields and unique IDs?

Yes, this JSON Canvas generator validates required fields, unique IDs, and correct node-to-edge references. It ensures your .canvas files comply with JSON Canvas Spec 1.0, preventing structural errors before you open them in Obsidian.

Can I use standard JSON tooling to edit Obsidian canvas files without external dependencies?

Yes, you can edit Obsidian canvas files using standard JSON tooling without external dependencies. The skill generates and validates pure JSON structures, allowing you to define positioning, colors, and z-index for text, file, link, and group nodes.

What are the limitations of manually editing JSON Canvas spec files?

Manually editing JSON Canvas spec files can lead to invalid structures if required fields are missing or node-to-edge references are incorrect. Without proper validation, your .canvas file may fail to render or display diagrams incorrectly in Obsidian.