This file is byte-identical to the first copy the registry indexed, one of 4 indexed copies. Same content hash, so the same checks give both the same grade.
json-canvas from spoon94/skill-vault is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
Create and edit JSON Canvas files (.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.
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# JSON Canvas Skill
## File Structure
A canvas file (`.canvas`) contains two top-level arrays following the [JSON Canvas Spec 1.0](https://jsoncanvas.org/spec/1.0/):
```json
{
"nodes": [],
"edges": []
}
```
- `nodes` (optional): Array of node objects
- `edges` (optional): Array of edge objects connecting nodes
## Common Workflows
### 1. Create a New Canvas
1. Create a `.canvas` file with the base structure `{"nodes": [], "edges": []}`
2. Generate unique 16-character hex IDs for each node (e.g., `"6f0ad84f44ce9c17"`)
3. Add nodes with required fields: `id`, `type`, `x`, `y`, `width`, `height`
4. Add edges referencing valid node IDs via `fromNode` and `toNode`
5. **Validate**: Parse the JSON to confirm it is valid. Verify all `fromNode`/`toNode` values exist in the nodes array
### 2. Add a Node to an Existing Canvas
1. Read and parse the existing `.canvas` file
2. Generate a unique ID that does not collide with existing node or edge IDs
3. Choose position (`x`, `y`) that avoids overlapping existing nodes (leave 50-100px spacing)
4. Append the new node object to the `nodes` array
5. Optionally add edges connecting the new node to existing nodes
…
The line at the top of this page pins the label git:20260520.f8f6935, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
A 17 of 17 checks passed. Fixed automatic checks with no AI involved, so the same checks give the same answer every run.
pass: Frontmatter block present
pass: Frontmatter declares a name
pass: Frontmatter declares a description
pass: Size between 200 bytes and 200 KB (7624 bytes)
pass: No zero-width or bidi control characters
pass: No instruction hidden inside an HTML comment
pass: No link to an exfiltration or paste host
pass: No credential-shaped string
pass: No instruction to send local credentials anywhere
pass: No text hidden with inline styles
pass: No prompt-injection phrasing
pass: No curl or wget piped into a shell
pass: No recursive delete of root, home or parent
pass: No instruction to read or print local credentials
pass: No base64 blob over 200 characters
pass: No link to a raw IP address
pass: No script tag
Source
GitHub
spoon94/skill-vault · 5 stars · license MIT · pushed 2026-10-23 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_gjkiqtscjheedck6
GET https://markdownregistry.com/api/v1/resolve?ref=spoon94/skill-vault/json-canvas
GET https://markdownregistry.com/api/v1/blob/97d1ae0728955c4203922753d5656890e5e4dd371b8306ea11884f9b510f1b85
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
spoon94/skill-vault · agentsview-cli/SKILL.md · Use when running or scripting the agentsview CLI from the command line — querying, searching, syncing, exporting, or…
spoon94/skill-vault · anthropics/skills/algorithmic-art/SKILL.md · Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users…
spoon94/skill-vault · anthropics/skills/brand-guidelines/SKILL.md · Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having…
spoon94/skill-vault · anthropics/skills/canvas-design/SKILL.md · Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user…
spoon94/skill-vault · anthropics/skills/claude-api/SKILL.md · Reference for the Claude API / Anthropic SDK — model ids, pricing, params, streaming, tool use, MCP, agents, caching…
spoon94/skill-vault · anthropics/skills/doc-coauthoring/SKILL.md · Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation…
spoon94/skill-vault · anthropics/skills/docx/SKILL.md · Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files) or Word…
spoon94/skill-vault · anthropics/skills/frontend-design/SKILL.md · Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with…
spoon94/skill-vault · anthropics/skills/internal-comms/SKILL.md · A set of resources to help me write all kinds of internal communications, using the formats that my company likes to…
spoon94/skill-vault · anthropics/skills/mcp-builder/SKILL.md · Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external…
spoon94/skill-vault · anthropics/skills/pdf/SKILL.md · Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text/tables…
spoon94/skill-vault · anthropics/skills/pptx/SKILL.md · Use this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes…
kepano/obsidian-skills · skills/json-canvas/SKILL.md · Create and edit JSON Canvas files (.canvas) with nodes, edges, groups, and connections. Use when working with .canvas…
davepoon/buildwithclaude · plugins/all-skills/skills/json-canvas/SKILL.md · Create and edit JSON Canvas files (.canvas) with nodes, edges, groups, and connections. Use when working with .canvas…
sandbaseai/sandbase-skills · marketing/json-canvas/SKILL.md · Create, implement, or review json canvas work with format, accessibility, performance, and visual-verification…
jialuohu/codex-toolbox · plugins/obsidian-tools/skills/json-canvas/SKILL.md · Create or edit Obsidian .canvas files with nodes, edges, groups, and connections. Use for JSON Canvas artifacts, not…
pantheon-org/tekhne · skills/documentation/obsidian/json-canvas/SKILL.md · Create and edit JSON Canvas files (.canvas) with nodes, edges, groups, and connections. Use when working with .canvas…
yeaight7/agent-powerups · skills/json-canvas/SKILL.md · Create and edit JSON Canvas files (.canvas) with nodes, edges, groups, and connections. Use when working with .canvas…
the-utopia-studio/skills · plugins/utopia-founder-productivity/skills/json-canvas/SKILL.md · Create and edit JSON Canvas files (.canvas) with nodes, edges, groups, and connections. Use when working with .canvas…