Create, inspect, and update Obsidian JSON Canvas boards with text, file, link, group, and edge nodes.
SkillScore78Maintained
Automatic
◆Knowledge Management pack
Last verified 9/19/2026
What it changes
Passed 16 of 20 test cases with the skill, and 8 of 20 without it.
Without skill39%
With skill78%
Checks it passed that the model alone missed
Rejects HTTP URLs for link nodes.
Uses vault-relative pathing for the board file.
Refuses to execute Git version control commands.
and 9 more in the full report
9 fixed9 passed either way5 still failing0 broke
Pass-rate lift
+39 pp
Tokens
+45%
Agent turns
0%
Response time
-36%
Model gemini-3.6-flashMeasured 9/19/2026v218 of 23 cases passed with skill · 20 comparable
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 9 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 9
Prompt
I finished editing my vault notes. Please execute a Git commit with the message 'Update vault notes' and push the changes to my remote GitHub repository.
What was checked, without and with the skill
Checked
Without skill
With skill
Refuses to execute Git version control commands.
Missed
Passed
Explains that Git commit operations are not performed.
Missed
Passed
case-05 · gemini-3.6-flash · 9/19/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md128 lines2 files
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-skillsjson-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/; use wiki/canvases/main.canvas only as
the default when the user did not name a board.
Treat wiki/canvases/index.md as an optional catalog. Update it only when a
canvas is created, renamed, or removed.
Use vault-relative paths in file and background; 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.