본문으로 건너뛰기
cccskills
무료GitHub에 공개

canvas

Create and update Obsidian canvas boards by arranging notes, media, text, and links into visual maps. Inspect existing boards for missing files and broken connections, and preview validated changes before applying them through recoverable transactions.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

원문원문 설명 보기

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.

연동 도구Obsidian
설치 방법 보기

이럴 때 유용합니다

  • Create a visual map of research notes
  • Arrange vault images and PDFs on a board
  • Organize cards into groups with connections
  • Check boards for missing files and broken connections

포함된 파일(2)

  • SKILL.md5.3 KB
  • references/canvas-spec.md8.8 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

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/; 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.
  • Use link nodes 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

  1. Read the entire canvas and any catalog target. Record each expected SHA-256, or null for a file that must be absent.
  2. Preserve unknown JSON fields and existing array order. The node array is bottom-to-top z-order.
  3. 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, and height values for every node.
    • Use text, file, link, or group exactly as defined by JSON Canvas.
    • Require every fromNode and toNode to reference an existing or newly drafted node.
  4. 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.
  5. Serialize valid UTF-8 JSON with top-level nodes and edges arrays.

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.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Research a defined topic within agreed limits and produce a cited report that distinguishes evidence, inference, contradictions, and gaps. Public web access requires consent, and saving findings or merging them into existing Obsidian notes receives separate review.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Investigate a topic within agreed limits
  • Compare conflicting claims and their sources
  • Create a cited research report
AgriciDaniel/claude-obsidian1.6만2026년 10월 19일 업데이트

defuddle

무료

Prepare readable Markdown from HTTPS article pages using an optional external Defuddle cleaner. The workflow checks URLs, requires network consent and executable review, previews extracted content, and can retain the cleaned source separately from wiki ingestion.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Extract readable Markdown from a web article
  • Prepare a web source for later wiki ingestion
  • Save cleaned content with source metadata
AgriciDaniel/claude-obsidian1.6만2026년 10월 19일 업데이트

Build and validate Obsidian Bases files that display notes as tables, cards, or lists. Define filters, calculated values, displayed properties, and summaries to create reading lists, task trackers, and other database-like views of existing notes.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Creating a reading list from existing notes
  • Building task views filtered by status
  • Checking formulas and displayed properties
AgriciDaniel/claude-obsidian1.6만2026년 10월 19일 업데이트

Draft and check Obsidian notes using its Markdown extensions. Get help with note properties, internal links, embedded content, callouts, equations, and Mermaid diagrams, with checks for formatting consistency and locally verifiable link targets.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Drafting Obsidian notes with consistent properties
  • Checking internal links and embedded content
  • Adding callouts, equations, and diagrams
AgriciDaniel/claude-obsidian1.6만2026년 10월 19일 업데이트

save

무료

Preserve a selected answer, decision, insight, or conversation summary as an Obsidian note. Check for duplicates, retain uncertainty, and preview the note together with related index and log updates before applying the reviewed changes.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Save an answer from a conversation
  • Record a decision and its reasoning
  • Keep a useful insight as a note
AgriciDaniel/claude-obsidian1.6만2026년 10월 19일 업데이트

think

무료

Review consequential or ambiguous decisions through ten stages of structured reflection. Separate observations from assumptions, examine alternatives and risks, and produce a recommendation supported by evidence, with verification needs and conditions for revisiting the decision.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Compare options and their tradeoffs
  • Review architecture choices and wider effects
  • Investigate incidents and challenge assumptions
AgriciDaniel/claude-obsidian1.6만2026년 10월 19일 업데이트

AgriciDaniel의 스킬 모두 보기

이 스킬의 문제 신고