obsidian-canvas

obsidian-canvas is a skill for Claude Code from jykim/claude-obsidian-skills. It costs 33 tokens per session (3,975 once invoked), scanned A, original, MIT.

A tool for creating and managing Obsidian Canvas files with automatic layouts, colours, and node positioning. Obsidian Canvas is a visual workspace for arranging connected notes and ideas.

In plain words
What is it for?
Use it to create knowledge maps, reading summaries, project timelines, mind maps, and other visual note structures.
Why use it?
It helps turn scattered notes or related topics into a readable visual structure without manually calculating positions. Its draft-and-replace process also reduces the risk of overwriting an open canvas with incomplete data.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter.

Good fit Use it to create knowledge maps, reading summaries, project timelines, mind maps, and other visual note structures.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/jykim/claude-obsidian-skills/obsidian-canvas
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add jykim/claude-obsidian-skills --skill obsidian-canvas
Clone the repo
git clone --depth 1 https://github.com/jykim/claude-obsidian-skills

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for obsidian-canvas

README.md
[![agentmods](https://agentmods.dev/badge/skills/jykim/claude-obsidian-skills/obsidian-canvas/github.svg)](https://agentmods.dev/skills/jykim/claude-obsidian-skills/obsidian-canvas)
Your own site
<a href="https://agentmods.dev/skills/jykim/claude-obsidian-skills/obsidian-canvas"><img src="https://agentmods.dev/badge/skills/jykim/claude-obsidian-skills/obsidian-canvas/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for obsidian-canvas

Your own site · 80×15
<a href="https://agentmods.dev/skills/jykim/claude-obsidian-skills/obsidian-canvas"><img src="https://agentmods.dev/badge/skills/jykim/claude-obsidian-skills/obsidian-canvas.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 33 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,975 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00033 $0.03975
Opus 5 $0.00016 $0.01988
Sonnet 5 $0.00007 $0.00795
Haiku 4.5 $0.00003 $0.00398

Measured 12d ago against content hash d06dc29c7092, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

obsidian-canvas scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

obsidian-canvas/SKILL.md · 502 lines

How it starts

The opening of the file, as written. The whole thing — 502 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Obsidian Canvas Skill

Create visual canvases with automatic layout, color-coding, and smart node positioning.

When to Use This Skill

Activate when you need to:

  • Create visual summaries of weekly reading
  • Build knowledge maps connecting related topics
  • Design project timelines or mind maps
  • Organize scattered notes into visual structure

Core Principle: Automatic Layout

레이아웃은 자동으로, 콘텐츠에 집중하라

Canvas의 핵심은 노드 배치와 연결. 수동으로 좌표 계산하는 대신, 패턴별 자동 레이아웃 사용.

Edit Workflow: Draft & Atomic Replace (CRITICAL)

캔버스 파일을 직접 여러 번 덮어쓰지 마라.

Obsidian이 캔버스 탭을 열어둔 상태에서 외부에서 .canvas 파일을 수정하면, Obsidian이 자기 메모리의 (종종 minimal한) 상태로 디스크를 다시 덮어써 작업 결과가 사라질 수 있다.

권장 워크플로우

  1. 임시 파일에서 편집 완료: <원본>.canvas.draft에 모든 노드·엣지·컨테이너를 한 번에 작성
  2. 검증: JSON 유효성, 노드 좌표 오버랩, 엣지 ID 매칭 확인
  3. Atomic Replace: mv draft → 원본 한 번의 파일 시스템 이벤트로 교체
  4. 결과 확인: wc -l로 파일 크기 검증 (minimal 상태 = 빈 캔버스 의심)

피해야 할 패턴

  • 같은 .canvas 파일에 연속적으로 Write 호출 (race condition)
  • Edit으로 부분 수정 후 Obsidian sync 전 다음 Edit
  • 작성 직후 바로 obsidian://open 호출 (작성 중 sync 충돌 가능)
  • 사용자에게 "Obsidian 새로고침" 반복 요청

Atomic Replace 예시

# 1. 임시 파일에 완전한 캔버스 작성
Write file: AI/Canvas/foo.canvas.draft (전체 내용)

# 2. 한 번에 교체
mv "AI/Canvas/foo.canvas.draft" "AI/Canvas/foo.canvas"

# 3. 결과 검증
wc -l "AI/Canvas/foo.canvas"  # 정상 = 노드 수에 비례한 줄 수
                              # 비정상 = 6-9줄 (minimal 상태)

작은 수정도 전체 재작성

부분 수정이 필요해도 전체 캔버스 JSON을 임시 파일에 다시 쓰고 atomic replace. Edit 도구로 한 노드만 수정하는 패턴은 sync 충돌을 일으킬 수 있다.

Canvas File Structure

{
  "nodes": [
    {
      "id": "unique-id",
      "type": "text" | "file" | "link" | "group",
      "text": "content or file path",
      "x": 0, "y": 0,
      "width": 250, "height": 60,
      "color": "1-6"
    }
  ],
  "edges": [
    {
      "id": "edge-id",
      "fromNode": "node-id",
      "fromSide": "top|bottom|left|right",
      "toNode": "node-id",
      "toSide": "top|bottom|left|right",
      "color": "1-6"
    }
  ]
}

Layout Patterns

Read the full file on GitHub · 502 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 12d ago First seen · 502 lines · 33 tokens per session scan A d06dc29c7092

Subscribe to this mod's changes

obsidian-canvas is a skill published in the GitHub repository jykim/claude-obsidian-skills (50 stars, last pushed 20d ago), licensed MIT. It adds 33 tokens to every session and 3,975 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories