json-canvas

Create and edit JSON Canvas diagrams with valid nodes and edges.

2|Updated Jun 1, 2017
One-click install
npx skills add https://github.com/carlos-algms/dotfiles --skill json-canvas-carlos-algms
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: json-canvas
Source: https://github.com/carlos-algms/dotfiles/tree/main/AI-configs/skills/json-canvas
Command: npx skills add https://github.com/carlos-algms/dotfiles --skill json-canvas-carlos-algms

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps you create and maintain Obsidian JSON Canvas files reliably so your nodes, edges, positions, and references stay consistent and render correctly.

Core Features & Use Cases

  • Create .canvas files with the required top-level nodes and edges structure and unique 16-character hex IDs.
  • Add and edit canvas elements by inserting new nodes, updating existing node/edge attributes, and preserving valid references.
  • Connect ideas visually by defining edges that reference valid fromNode/toNode IDs, optional sides, ends (arrow/none), labels, and colors.
  • Common use cases: mind maps, flowcharts, project boards with groups, and research canvases combining text, file, and link nodes.

Quick Start

Create a new .canvas JSON object with nodes and edges, then ask this skill to add a text node at specific x,y coordinates and connect it to an existing node by ID.

Frequently Asked Questions about json-canvas

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

FAQPage Schema
How do I generate valid JSON Canvas files for Obsidian programmatically?

To generate valid JSON Canvas files, you need a top-level structure containing nodes and edges arrays with unique 16-character hex IDs. This ensures your visual planning canvases render correctly in tools expecting the JSON Canvas 1.0 structure.

What is the correct structure for connecting nodes in a JSON Canvas diagram?

Connecting nodes in a JSON Canvas diagram requires defining edges with valid fromNode and toNode references that match existing node IDs. You can also specify optional attributes like sides, ends (arrow or none), labels, and colors for precise visual mapping.

Can I use JSON Canvas to build project boards with mixed text, file, and link nodes?

Yes, you can use JSON Canvas to build project boards by utilizing its supported node types: text, file, link, and group. This allows you to create complex research canvases and flowcharts combining various content references within a single valid JSON structure.

How do I add a new text node to an existing .canvas file and connect it by ID?

To add a text node to a .canvas file, insert it with specific x,y coordinates and a unique 16-character hex ID. You then create an edge referencing that new node ID and an existing node ID in the fromNode and toNode fields to connect them.

Why does my Obsidian JSON Canvas diagram break when I update node attributes?

Obsidian JSON Canvas diagrams break when edge references become invalid, typically because fromNode or toNode IDs do not match existing node IDs. Maintaining unique 16-character hex IDs and preserving valid references during edits prevents rendering failures.

Does JSON Canvas support mind maps and flowcharts without manual layout calculations?

JSON Canvas supports building mind maps and flowcharts by defining node positions with x,y coordinates and connecting them via edges. You must specify the coordinate values for each node to determine the visual layout within the canvas.