원클릭으로
json-canvas
创建和编辑包含节点、边、分组和连接关系的 JSON Canvas 文件(.canvas)。适用于处理 .canvas 文件、创建可视化画布、思维导图、流程图,或当用户在 Obsidian 中提到 Canvas 文件时。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
创建和编辑包含节点、边、分组和连接关系的 JSON Canvas 文件(.canvas)。适用于处理 .canvas 文件、创建可视化画布、思维导图、流程图,或当用户在 Obsidian 中提到 Canvas 文件时。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | json-canvas |
| description | 创建和编辑包含节点、边、分组和连接关系的 JSON Canvas 文件(.canvas)。适用于处理 .canvas 文件、创建可视化画布、思维导图、流程图,或当用户在 Obsidian 中提到 Canvas 文件时。 |
一个 canvas 文件(.canvas)遵循 JSON Canvas Spec 1.0,包含两个顶层数组:
{
"nodes": [],
"edges": []
}
nodes(可选):节点对象数组edges(可选):连接节点的边对象数组.canvas 文件,基础结构为 {"nodes": [], "edges": []}"6f0ad84f44ce9c17")id、type、x、y、width、heightfromNode 和 toNode 引用合法的节点 IDfromNode / toNode 的值都存在于 nodes 数组中.canvas 文件x、y),至少保留 50-100px 间距nodes 数组fromNode 和 toNodefromSide / toSide(top、right、bottom、left)作为锚点label 作为边上的说明文本edges 数组fromNode 和 toNode 都引用了存在的节点 ID.canvas 文件读取并解析为 JSONid 定位目标节点或边节点是放置在画布上的对象。数组顺序决定 z-index:第一个节点在最底层,最后一个节点在最上层。
| Attribute | Required | Type | Description |
|---|---|---|---|
id | Yes | string | 唯一的 16 字符十六进制标识符 |
type | Yes | string | text、file、link 或 group |
x | Yes | integer | X 坐标,单位像素 |
y | Yes | integer | Y 坐标,单位像素 |
width | Yes | integer | 宽度,单位像素 |
height | Yes | integer | 高度,单位像素 |
color | No | canvasColor | 预设值 "1"-"6" 或十六进制颜色(如 "#FF0000") |
| Attribute | Required | Type | Description |
|---|---|---|---|
text | Yes | string | 支持 Markdown 语法的纯文本 |
{
"id": "6f0ad84f44ce9c17",
"type": "text",
"x": 0,
"y": 0,
"width": 400,
"height": 200,
"text": "# Hello World\n\nThis is **Markdown** content."
}
Newline pitfall:JSON 字符串中的换行必须使用 \n。不要使用字面量 \\n,否则 Obsidian 会把它渲染成字符 \ 和 n。
| Attribute | Required | Type | Description |
|---|---|---|---|
file | Yes | string | 系统中的文件路径 |
subpath | No | string | 指向标题或块的链接(以 # 开头) |
{
"id": "a1b2c3d4e5f67890",
"type": "file",
"x": 500,
"y": 0,
"width": 400,
"height": 300,
"file": "Attachments/diagram.png"
}
| Attribute | Required | Type | Description |
|---|---|---|---|
url | Yes | string | 外部 URL |
{
"id": "c3d4e5f678901234",
"type": "link",
"x": 1000,
"y": 0,
"width": 400,
"height": 200,
"url": "https://obsidian.md"
}
分组是用于组织其他节点的可视容器。子节点应放在分组边界内部。
| Attribute | Required | Type | Description |
|---|---|---|---|
label | No | string | 分组标签文本 |
background | No | string | 背景图片路径 |
backgroundStyle | No | string | cover、ratio 或 repeat |
{
"id": "d4e5f6789012345a",
"type": "group",
"x": -50,
"y": -50,
"width": 1000,
"height": 600,
"label": "Project Overview",
"color": "4"
}
边通过 fromNode 和 toNode ID 连接节点。
| Attribute | Required | Type | Default | Description |
|---|---|---|---|---|
id | Yes | string | - | 唯一标识符 |
fromNode | Yes | string | - | 源节点 ID |
fromSide | No | string | - | top、right、bottom 或 left |
fromEnd | No | string | none | none 或 arrow |
toNode | Yes | string | - | 目标节点 ID |
toSide | No | string | - | top、right、bottom 或 left |
toEnd | No | string | arrow | none 或 arrow |
color | No | canvasColor | - | 线条颜色 |
label | No | string | - | 文本标签 |
{
"id": "0123456789abcdef",
"fromNode": "6f0ad84f44ce9c17",
"fromSide": "right",
"toNode": "a1b2c3d4e5f67890",
"toSide": "left",
"toEnd": "arrow",
"label": "leads to"
}
canvasColor 类型接受十六进制字符串或预设数字:
| Preset | Color |
|---|---|
"1" | 红色 |
"2" | 橙色 |
"3" | 黄色 |
"4" | 绿色 |
"5" | 青色 |
"6" | 紫色 |
预设颜色的实际值有意不固定,不同应用会使用自己的品牌色。
生成 16 字符的小写十六进制字符串(64 位随机值):
"6f0ad84f44ce9c17"
"a3b2c1d0e9f8a7b6"
x 向右增大,y 向下增大;位置基于左上角| Node Type | Suggested Width | Suggested Height |
|---|---|---|
| Small text | 200-300 | 80-150 |
| Medium text | 300-450 | 150-300 |
| Large text | 400-600 | 300-500 |
| File preview | 300-500 | 200-400 |
| Link preview | 250-400 | 100-200 |
创建或编辑 canvas 文件后,检查:
id 在节点和边之间都唯一fromNode 和 toNode 都引用了存在的节点 IDtext,文件节点需要 file,链接节点需要 url)type 只能是:text、file、link、groupfromSide / toSide 只能是:top、right、bottom、leftfromEnd / toEnd 只能是:none、arrow"1" 到 "6" 之间,或者是合法十六进制值(如 "#FF0000")如果校验失败,优先检查重复 ID、悬空边引用,或格式错误的 JSON 字符串,尤其是文本内容中未转义的换行。
完整 canvas 示例,包括思维导图、项目看板、研究画布和流程图,见 references/EXAMPLES.md。
何时使用需要为编程项目、monorepo 或多级目录创建/更新 AGENTS.md、CLAUDE.md 软链接、项目级 agent 操作手册、子目录局部规则、验证命令和 Coding Agent 上下文边界时使用。
分析代码库结构并生成中文 token-lean 架构文档。
用于构建或维护个人 LLM 驱动的知识库。触发词:将资料导入 wiki、查询 wiki 知识、检查 wiki 质量、'添加到 wiki'、'我了解什么关于',或任何提到 'LLM wiki' 的场景。
当有书面实施计划要在单独会话中执行并带审查检查点时使用
用户明确要求隔离工作区、并行分支验证或临时试验时使用 - 创建隔离的 git worktree
开始开发编程相关对话时使用 - 建立如何查找和使用 skills,在做出任何响应前要求先检查适用的 skill