首页 / 全部技能 / 内容创作 / json-canvas
内容创作 · freestylefly/canghe-skills

json-canvas

Create and edit JSON Canvas files (.canvas) with nodes, edges, groups, and connections. Use when working with .canvas files, creating visual canvases, mind maps, flowcharts, or when the user mentions Canvas files in Obsidian.

L1 基础 · 登记来源即可V1 已固定Dual-pass Audit
Author freestyleflyGitHub freestylefly/canghe-skills ↗License MIT(仓库根 LICENSE)Commit dd0bf35595
管控等级描述 skill 的能力与建议配套的管控措施,不代表质量或安全认证,也不表示可用或不可用。是否使用由用户和管理者决定。不同 agent 宿主对权限的约束各不相同,请勿假定宿主一定会提供安全兜底。第三方 skill 版权归原作者,使用风险由使用者自行承担。

1实现原理 · 为什么它能做到

把 .canvas 定义为只含两个顶层数组的 JSON 文件:nodes 与 edges(均可选)。

skills/json-canvas/SKILL.md
- `nodes` (optional): Array of node objects
这里在做什么:先给出最小合法骨架,后续所有节点/边都挂在这两个数组下。

节点分四类:text / file / link / group,各自附加字段(text、file+subpath、url、label/background)。

skills/json-canvas/SKILL.md
- `group` - Visual container for other nodes
这里在做什么:用类型枚举覆盖画布上会出现的所有元素,编辑时有明确落点。

节点共有必填属性 id/type/x/y/width/height 与可选 color;数组顺序即 z-index(先底后顶)。

skills/json-canvas/SKILL.md
| `id` | Yes | string | Unique identifier for the node |
这里在做什么:把几何与层级规则写死,保证生成的画布可被应用正确渲染。

边 edges 连接节点,支持 fromSide/toSide/fromEnd/toEnd/color/label 等可选修饰。

skills/json-canvas/SKILL.md
| `toEnd` | No | string | `arrow` | Shape at edge end |
这里在做什么:把「谁连谁、从哪边、有无箭头、什么颜色」全部参数化。

颜色 canvasColor 支持 hex 或预设编号 "1"-"6",且预设具体值故意不定义。

skills/json-canvas/SKILL.md
Note: Specific color values for presets are intentionally undefined, allowing applications to use their own brand colors.
这里在做什么:让配色随宿主应用品牌走,规范只固定语义档位。

约定 ID 为 16 位小写十六进制(64 位随机值),并要求全局唯一。

skills/json-canvas/SKILL.md
This format is a 16-character lowercase hex string (64-bit random value).
这里在做什么:统一 ID 生成口径,避免跨节点/边冲突。

给出布局指南:坐标可为负、y 向下增大、推荐尺寸表与 20-50px 内边距、50-100px 节点间距。

skills/json-canvas/SKILL.md
- Space nodes 50-100px apart for readability
这里在做什么:把「排版好看」量化为可执行的间距/尺寸建议。

结尾附 8 条校验规则(唯一 id、引用存在、必填字段、枚举取值合法等),并外链 JSON Canvas Spec 1.0。

skills/json-canvas/SKILL.md
1. All `id` values must be unique across nodes and edges
这里在做什么:给出可自查的正确性清单,降低生成非法文件概率。

2核心能力

01创建/编辑 Obsidian 兼容的 .canvas 文件
02生成文本节点(Markdown 内容)
03文件/附件节点(含指向标题或块的 subpath)
04链接节点(外部 URL)
05分组容器节点(label 与背景图/背景样式)
06边连接:方向、端点形状、颜色、标签
07颜色:hex 或预设编号 1-6
08布局与校验:推荐尺寸、间距与 8 条合法性规则

4管控建议与判定依据

建议配套管控措施
面向 Agent
可自动加载
面向管理者
登记来源与版本
判定依据(文件路径与关键语句摘要)
  • SKILL.md: 纯提示词指令与规则文本,无脚本执行与外部影响
审计说明: 绿色:本 skill 目录仅一份 Markdown 指令,无脚本执行、无网络请求、无凭证读取、无写盘代码;不读取任何外部输入去执行,纯知识/规范编排。按统一分档准则取绿色。

5第二遍独立确认

  • [ok] 是否存在可执行脚本 — 目录清单仅 SKILL.md;扫描「执行外部程序」0 命中。
  • [ok] URL 命中性质 — §3 5 条 URL 均为规范链接(jsoncanvas.org/github.com/obsidianmd)或示例值(obsidian.md/example.com),非运行期请求。
  • [ok] 凭证/环境变量 — 0 命中,正文无 env/keychain 读取。
  • [ok] 写盘 — 0 命中;skill 只描述生成 JSON 内容,实际落盘由宿主完成。
  • [ok] 能力声明与内容相符 — description 声称创建/编辑 .canvas,正文含完整节点/边/示例/校验,无夸大。
  • [ok] 规范引用可定位 — 结尾 References 与开头 Overview 均指向 JSON Canvas Spec 1.0,口径一致。

6结论

  • 围绕开放规范 JSON Canvas Spec 1.0 编写,格式定义完整且可用于 Obsidian 等应用。
  • 文档自洽:属性表+完整示例+校验规则齐备,agent 可直接据此生成合法文件。
  • 零执行面、零依赖,纯知识型 skill,安全面极干净。
  • 适合: 需要为 Obsidian/支持 JSON Canvas 的应用生成思维导图、流程图或视觉画布的用户与代理。
    不适合: 需要运行时校验/渲染 .canvas,或使用其它画布格式的场景。
    Install Agent-Ready
    ① Verified Mirror 2026-10-10
    Option A · Direct DownloadDownload json-canvas.tar.gz
    sha256: c5f293ab4ece925e…
    Option B · Copy Guide for Agent
    install.json
    agent 读 JSON 指南后会自动从本站下载安装,无需更多说明。
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit dd0bf35595.