agentsclimarketplace

Obsidian canvas architect

Skill richfrem/agent-plugins-skills/plugins/obsidian-wiki-engine/skills/obsidian-canvas-architect

repo for reusable plugins and skills

Install
npx -y skills add richfrem/agent-plugins-skills --skill obsidian-canvas-architect

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Programmatically create and manipulate Obsidian Canvas (.canvas) files using JSON Canvas Spec 1.0. Enables agents to generate visual flowcharts, architecture diagrams, and planning boards. Use when creating or editing visual canvas files.

SKILL.md

2.9 KB, as published. Nobody here has run it

Dependencies

This skill requires Python 3.8+ and standard library only. No external packages needed.

To install this skill's dependencies:

pip-compile ./requirements.in
pip install -r ./requirements.txt

See ./requirements.txt for the dependency lockfile (currently empty — standard library only).


Obsidian Canvas Architect

Status: Active Author: Richard Fremmerlid Domain: Obsidian Integration Depends On: obsidian-vault-crud (WP06)

Purpose

Obsidian Canvas files (.canvas) use the JSON Canvas Spec 1.0 to define visual boards with nodes (text, file references, URLs) connected by directional edges. This skill lets agents programmatically generate visual planning boards, architecture diagrams, and execution flowcharts.

JSON Canvas Spec 1.0 Overview

A .canvas file is JSON with two top-level arrays:

{
  "nodes": [
    {"id": "1", "type": "text", "text": "Hello", "x": 0, "y": 0, "width": 250, "height": 60},
    {"id": "2", "type": "file", "file": "path/to/note.md", "x": 300, "y": 0, "width": 250, "height": 60}
  ],
  "edges": [
    {"id": "e1", "fromNode": "1", "toNode": "2", "fromSide": "right", "toSide": "left"}
  ]
}

Node Types

TypeRequired FieldsPurpose
texttext, x, y, width, heightInline text content
filefile, x, y, width, heightReference to a vault note
linkurl, x, y, width, heightExternal URL
grouplabel, x, y, width, heightVisual grouping container

Edge Properties

FieldRequiredDescription
fromNodeYesSource node ID
toNodeYesTarget node ID
fromSideNotop, right, bottom, left
toSideNotop, right, bottom, left
labelNoEdge label text

Available Commands

Create a Canvas

python ./canvas_ops.py create --file <path.canvas>

Add a Node

python ./canvas_ops.py add-node \
  --file <path.canvas> --type text --text "My Node" --x 100 --y 200

Add an Edge

python ./canvas_ops.py add-edge \
  --file <path.canvas> --from-node id1 --to-node id2

Read a Canvas

python ./canvas_ops.py read --file <path.canvas>

Safety Guarantees

  • All writes go through obsidian-vault-crud atomic write protocol
  • Malformed JSON triggers a clean error report, never a crash
  • Node IDs are auto-generated (UUID) to prevent collisions
  • Schema validation ensures all required fields are present before write

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.