plugins/obsidian-wiki-engine/skills/obsidian-canvas-architect/SKILL.md
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.
npx skillsauth add richfrem/agent-plugins-skills obsidian-canvas-architectInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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).
Status: Active
Author: Richard Fremmerlid
Domain: Obsidian Integration
Depends On: obsidian-vault-crud (WP06)
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.
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"}
]
}
| Type | Required Fields | Purpose |
|:-----|:---------------|:--------|
| text | text, x, y, width, height | Inline text content |
| file | file, x, y, width, height | Reference to a vault note |
| link | url, x, y, width, height | External URL |
| group | label, x, y, width, height | Visual grouping container |
| Field | Required | Description |
|:------|:---------|:------------|
| fromNode | Yes | Source node ID |
| toNode | Yes | Target node ID |
| fromSide | No | top, right, bottom, left |
| toSide | No | top, right, bottom, left |
| label | No | Edge label text |
python ./canvas_ops.py create --file <path.canvas>
python ./canvas_ops.py add-node \
--file <path.canvas> --type text --text "My Node" --x 100 --y 200
python ./canvas_ops.py add-edge \
--file <path.canvas> --from-node id1 --to-node id2
python ./canvas_ops.py read --file <path.canvas>
obsidian-vault-crud atomic write protocoltesting
Skill for creating and managing isolated git worktrees (`.worktrees/issue-NNN`) for issue execution branches. USE ONLY when setting up or cleaning up isolated git worktrees for specific issue execution. DO NOT USE for managing local task files (use `task-agent`) or escalating tasks to issues (use `github-issue-backlog-agent`).
data-ai
Skill for orchestrating the end-to-end GitHub issue lifecycle flow: Issue -> Worktree -> Implementation -> PR Creation -> Resolution Closure. USE ONLY when running or dry-running full lifecycle orchestration for resolving an issue with a PR. DO NOT USE for isolated worktree management only (use `issue-worktree-agent`) or logging issues (use `github-issue-agent`).
tools
Automatically ranks GitHub issues (P0-P3) based on friction tier, frequency, and blockages, synchronizing priority labels and GitHub Projects v2 custom fields.
testing
Bridge skill for escalating ephemeral local task scratchpad items (`tasks/*.md`) into durable, taxonomy-validated, evidence-rich GitHub Issues. USE ONLY when promoting a single-session local task into durable repository backlog. DO NOT USE for managing local kanban boards (use `task-agent` instead) or directly querying/commenting on issues (use `github-issue-agent` instead).