From sr-obsidian
Obsidian .canvas 파일 생성 및 편집 스킬. 노드(텍스트·파일·링크·그룹)와 엣지로 구성된 JSON Canvas 형식을 사용한다. ISS 타임라인, 서비스 의존관계 맵, 아키텍처 다이어그램, 마인드맵 요청 시 사용. Do NOT use for HTML diagrams (use sr-obsidian:visualize instead). Do NOT use for Mermaid diagrams (embed in standard .md notes). Keywords: canvas, json-canvas, 캔버스, 마인드맵, 의존관계, 다이어그램, 아키텍처 맵
How this skill is triggered — by the user, by Claude, or both
Slash command
/sr-obsidian:canvasThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Obsidian `.canvas` 파일은 JSON Canvas Spec 1.0 형식이다.
Obsidian .canvas 파일은 JSON Canvas Spec 1.0 형식이다.
최상위 구조: {"nodes": [...], "edges": [...]} — 다른 키는 없음.
20-areas/{서비스}/diagrams/{이름}.canvas10-projects/{ISS-번호}/{이름}.canvas| 필드 | 타입 | 설명 |
|---|---|---|
id | string | 16자리 소문자 16진수 (고유) |
type | string | "text" | "file" | "link" | "group" |
x | number | 좌상단 x 좌표 |
y | number | 좌상단 y 좌표 |
width | number | 노드 너비 |
height | number | 노드 높이 |
color | string | (선택) 색상 |
{
"id": "a1b2c3d4e5f6a7b8",
"type": "text",
"text": "결제 요청\n금액 검증",
"x": 0,
"y": 0,
"width": 250,
"height": 100
}
주의: 줄바꿈은
\n사용.\\n은\와n문자로 렌더링된다.
{
"id": "b2c3d4e5f6a7b8c9",
"type": "file",
"file": "20-areas/payment/psp/psp 프로젝트 현황.md",
"x": 300,
"y": 0,
"width": 400,
"height": 300
}
subpath로 특정 헤딩 지정: "subpath": "#아키텍처"
{
"id": "c3d4e5f6a7b8c9d0",
"type": "link",
"url": "https://stripe.com/docs",
"x": 700,
"y": 0,
"width": 400,
"height": 200
}
{
"id": "d4e5f6a7b8c9d0e1",
"type": "group",
"label": "결제 레이어",
"x": -50,
"y": -50,
"width": 600,
"height": 400,
"background": "20-areas/payment/diagrams/bg.png",
"backgroundStyle": "cover"
}
{
"id": "e5f6a7b8c9d0e1f2",
"fromNode": "a1b2c3d4e5f6a7b8",
"fromSide": "right",
"toNode": "b2c3d4e5f6a7b8c9",
"toSide": "left",
"label": "승인 요청",
"color": "4"
}
| 필드 | 설명 |
|---|---|
fromSide / toSide | "top" | "right" | "bottom" | "left" |
label | (선택) 엣지 레이블 |
color | (선택) 색상 |
fromEnd / toEnd | (선택) "none" | "arrow" |
canvasColor 타입: 프리셋 "1"~"6" 또는 hex "#FF0000".
| 값 | 색상 |
|---|---|
"1" | 빨간색 |
"2" | 주황색 |
"3" | 노란색 |
"4" | 초록색 |
"5" | 파란색 |
"6" | 보라색 |
16자리 소문자 16진수. Bash로 생성:
openssl rand -hex 8
| 요소 | 권장 크기 |
|---|---|
| 텍스트 노드 | 250×100 (최소) |
| 파일 노드 | 400×300 |
| 링크 노드 | 400×200 |
| 그룹 노드 | 내부 노드보다 100px 여유 |
| 노드 간 간격 | 최소 50px |
좌표 원점(0,0)에서 오른쪽·아래로 배치. 그룹은 내부 노드보다 먼저 JSON에 배치 (렌더링 순서).
저장 전 반드시 확인:
id가 16자리 소문자 16진수id 중복 없음 (노드 + 엣지 전체)fromNode / toNode가 실존하는 노드 id를 참조\n (이스케이프) — 리터럴 줄바꿈 없음file 노드의 경로가 vault 루트 기준 상대경로{"nodes": [...], "edges": [...]} 만.canvasISS 타임라인과 서비스 의존관계 맵 → EXAMPLES.md
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Applies a firm's KYC/AML rules grid to parsed onboarding records: assigns risk rating, checks required documents, outputs rule outcomes with citations, and routes for escalation.
Generates daily or weekly digests of activity from connected sources (chat, email, docs, tasks, CRM), highlighting action items, decisions, mentions, and project updates.
npx claudepluginhub seokrae/sr-obsidian --plugin sr-obsidian