ワンクリックで
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