canvas
Create, inspect, and update Obsidian JSON Canvas boards with text, file, link, group, and edge nodes. Use for canvas status, canvas lists, visual maps, zones, spatial layouts, adding vault notes or media to a .canvas file, and requests such as create canvas, add to canvas, or put this on the canvas.
Install / Use
npx skills add AgriciDaniel/claude-obsidian --skill canvasInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
DesignSupported Platforms
Tags
Our assessment of canvas
canvas scores 90/100 on our quality scale, 57th of 196 Design skills we index (top 30%).
Its SKILL.md is 5.3 KB long, split into 7 sections with 3 code examples: a solid amount of guidance for an agent.
With 15,217 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated 17 days ago, so canvas is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
canvas compared with similar skills
All 4 of these similar skills score higher than canvas; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| canvas (this skill)by AgriciDaniel | 90 | 15.2k | 17d ago | SKILL.md |
| algorithmic-artby anthropics | 100 | 177.9k | 5d ago | SKILL.md |
| pptxby anthropics | 100 | 177.9k | 5d ago | SKILL.md |
| designby nextlevelbuilder | 100 | 130.2k | 6d ago | SKILL.md |
| ui-ux-pro-maxby nextlevelbuilder | 100 | 130.2k | 6d ago | SKILL.md |
Frequently asked questions
- How do I install canvas?
- Run
npx skills add AgriciDaniel/claude-obsidian --skill canvas. The install tabs above show the steps for each supported agent. - Which AI agents does canvas work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is canvas safe to use?
- It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is canvas still maintained?
- The repository was last updated 17 days ago, so canvas is actively maintained.
Skill content
View source on GitHubname: canvas description: Create, inspect, and update Obsidian JSON Canvas boards with text, file, link, group, and edge nodes. Use for canvas status, canvas lists, visual maps, zones, spatial layouts, adding vault notes or media to a .canvas file, and requests such as create canvas, add to canvas, or put this on the canvas.
Canvas
Treat a canvas as a vault-scoped JSON Canvas document. Keep reads read-only and route every requested mutation through one recoverable transaction.
Resolve the installed product root from this skill's own location, not from the vault or current working directory:
PRODUCT_ROOT=/absolute/path/to/installed/claude-obsidian
CORE="$PRODUCT_ROOT/scripts/claude-obsidian.py"
test -f "$CORE"
Every ../wiki/references/ link in this file resolves the same way, relative
to this skill's own directory under $PRODUCT_ROOT, never relative to the
selected vault's wiki/ directory.
Choose the syntax source
Prefer a separately installed kepano/obsidian-skills json-canvas skill for
format details. Otherwise read references/canvas-spec.md.
The open standard is JSON Canvas 1.0.
Use this skill for vault workflow and transaction safety even when an upstream syntax skill is available.
Scope
- Resolve the user vault before reading. Never derive it from plugin files.
- Store boards under
wiki/canvases/; usewiki/canvases/main.canvasonly as the default when the user did not name a board. - Treat
wiki/canvases/index.mdas an optional catalog. Update it only when a canvas is created, renamed, or removed. - Use vault-relative paths in
fileandbackground; reject absolute paths,..traversal, home shortcuts, and paths that escape through symlinks. - Reference only files already inside the vault. If an optional capture or media capability is detected, compose with it and consume its returned vault-relative path. Do not assume a particular plugin, command, or session log, and do not download or copy assets in this skill.
- Use
linknodes for URLs. Accept HTTPS URLs only; a link node does not grant permission to fetch the page. Creating its JSON makes no request, but opening it in Obsidian may fetch Open Graph metadata from that URL's host. Disclose that render-time egress and confirm it is acceptable; otherwise use a text node containing the URL.
Read-only operations
For status or list requests, parse the selected .canvas files and report node
counts, group labels, broken edge endpoints, and missing vault-relative file
targets. If the default canvas is absent, report that fact and offer a creation
preview; do not create it during a status request.
Draft a mutation
- Read the entire canvas and any catalog target. Record each expected SHA-256,
or
nullfor a file that must be absent. - Preserve unknown JSON fields and existing array order. The node array is bottom-to-top z-order.
- Draft the requested nodes or edges:
- Give every node and edge a unique ID. Prefer a random 16-character lowercase hexadecimal ID and verify it is unused.
- Require integer
x,y,width, andheightvalues for every node. - Use
text,file,link, orgroupexactly as defined by JSON Canvas. - Require every
fromNodeandtoNodeto reference an existing or newly drafted node.
- Position new content deliberately. A group is a visual container, not a parent. Use 20 px inner padding and 40 px gaps, wrap to a new row when needed, and preview any group expansion.
- Serialize valid UTF-8 JSON with top-level
nodesandedgesarrays.
Minimal node examples:
{
"nodes": [
{
"id": "6f0ad84f44ce9c17",
"type": "text",
"text": "# Research map\n\nA concise orientation card.",
"x": 0,
"y": 0,
"width": 400,
"height": 180
},
{
"id": "a1b2c3d4e5f67890",
"type": "file",
"file": "wiki/concepts/Contextual Retrieval.md",
"x": 460,
"y": 0,
"width": 400,
"height": 240
}
],
"edges": []
}
Use file plus optional subpath: "#Heading" for notes, images, PDFs, and
other vault files. Use url only on a link node. Escape line breaks in JSON
strings as \n, not as literal backslash-plus-n text.
Preview and apply
Validate before showing the preview:
- JSON parses and uses supported node types.
- IDs are unique and edge endpoints exist.
- dimensions are positive integers;
- file and background paths are safe, vault-relative, and present;
- new nodes do not unintentionally overlap or overflow their requested group.
Build one claude-obsidian.transaction.v1 bundle with operation type canvas.
Include the canvas and the catalog in that same bundle when the catalog changes.
Read operation-transactions.md,
then inspect the bundle before applying it:
python3 "$CORE" transaction inspect BUNDLE --vault VAULT
# Set APPROVAL_SHA256 to the inspect result's approval_sha256 after review.
python3 "$CORE" transaction apply BUNDLE --vault VAULT \
--approved-plan-sha256 "$APPROVAL_SHA256"
For removals, replacements, renames, or other destructive changes, obtain explicit consent after presenting the preview. Report the operation ID, exact changed paths, board name, node IDs, and final positions. Do not commit Git.
Related Skills
algorithmic-art
177.9kCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems.
pptx
177.9kUse this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an em…
design
130.2kComprehensive design skill: brand identity, design tokens, UI styling, logo generation (55 styles, Gemini, Atlas Cloud, or MuAPI AI), corporate identity program (50 deliverables, CIP mockups), HTML presentations (Chart.js), banner design (22 styles, social/ads/web/print), icon design (15 styles, SVG…
ui-ux-pro-max
130.2kUI/UX design intelligence for web, mobile, and desktop. This skill should be used when designing, building, reviewing, or fixing interfaces, including pages, components, design systems, accessibility, interaction, responsive layout, typography, color, charts, and stack-specific UI implementation.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
