Canvas 视觉知识板
把图片、PDF和知识页面整理到可视化画布中。
技能限定为 Read、Write、Edit、Glob、Grep,并要求读取画布后再写入,具备一定范围控制;但添加 URL 图片会无确认地通过 curl 下载,允许复制 vault 外部文件,未说明数据流、来源可信度、回滚或写入失败后的恢复,因此扣分。
操作步骤、默认文件、JSON 结构、ID 生成和自动布局均有明确说明,正常路径较易复现;但 canvas 关键路径没有对应测试,add note 的模糊匹配、URL/文件失败、布局溢出和批量冲突处理不足,且总结中的 wiki/index.md 更新要求与 new 操作要求更新 wiki/overview.md 矛盾,因此受静态上限和一致性问题影响。
触发词、输入类型和主要操作场景清楚,覆盖图片、文本、PDF、笔记和分区;但非适用边界、歧义输入处理和确认条件不完整,URL 下载、Obsidian 和可选 banana/kepano 依赖会影响环境适配,中文支持也未明确说明。
文档结构清晰,包含 frontmatter、操作说明、规范参考、示例、常见错误和相关项目;仓库提供 MIT 许可证、CI 和版本背景,但本技能自身没有明确版本、变更记录、维护责任或更新路径,并存在 wiki/index.md 与 wiki/overview.md 的文档冲突,因此扣分。
技能对创建和维护 Obsidian Canvas 的核心目标描述完整,输出为可直接被 Obsidian 读取的 JSON,并提供自动定位和报告格式;但没有选定技能路径的代表性结果验证,节点不重叠、文件复制、PDF 页数和 URL 下载等结果可能仍需人工修正,因此仅给予中等分数。
提供 JSON Canvas 规范引用、算法、示例和错误清单,具备有限审计依据;仓库 CI 与测试主要覆盖其他脚本,未覆盖 canvas 技能关键路径,缺少独立复现证据,因此分数较低。
- 添加 URL 图片会无确认地下载外部内容;使用前应核对 URL、目标文件名和网络来源。
- 技能未定义写入失败、部分复制、重复节点或布局溢出的恢复流程,重要画布应先备份并人工检查。
- new 操作要求更新 wiki/overview.md,而总结要求更新 wiki/index.md,需先确认实际索引文件。
- 依赖 Obsidian Canvas 以及可选的 banana/kepano 技能;未证明这些组件在中国大陆网络环境中始终可达。
这个 Skill 能做什么,适合哪些场景?
这是 claude-obsidian monorepo 中的 canvas 技能,用于在 Obsidian Canvas 上管理视觉参考资料。它直接读取和写入 JSON Canvas 文件,可添加图片、文本卡片、PDF 与 wiki 页面,并通过分区和自动布局减少重叠。默认画布位于 wiki/canvases/main.canvas。该技能适合已经使用 Obsidian 与 claude-obsidian wiki 结构、希望补充空间化浏览的人。
读取现有的 .canvas JSON,统计节点和分区;在 wiki/canvases/ 下创建或更新画布;将 URL 或本地图片复制或下载到 _attachments/images/canvas/,并按图片比例设置节点尺寸;将 PDF 复制到 _attachments/pdfs/canvas/并创建预览节点;搜索 wiki/中的页面并创建文件节点;创建分区组节点;使用分区边界、节点尺寸和现有内容计算下一位置;支持从 .recent-images.txt 或文件系统发现近期生成的图片。技能要求编辑画布前读取 references/canvas-spec.md,并遵循 JSON Canvas 规范。
- Obsidian 用户想把研究截图和图片按主题分区放到 wiki/canvases/中。
- 知识管理者需要把 PDF 预览、文本说明和 wiki 页面固定在同一块视觉看板上。
- 使用 /banana 生成图片后,想把近期图片批量加入 Obsidian 画布。
- 需要创建多个主题画布,并希望新节点自动排列、避免简单重叠。
这个 Skill 有哪些优点和局限?
- 覆盖图片、文本、PDF和wiki页面等多种节点类型。
- 按分区自动定位节点,并为新节点生成不重复的ID。
- 使用本地 JSON Canvas 文件和普通 vault 路径,便于与 Obsidian 工作流结合。
- 支持从近期图片日志或 _attachments/images 中接入 banana 生成的图片。
- 技能依赖读写本地 vault 文件,并使用 shell 命令、Python 或 ImageMagick 进行部分文件处理。
- URL 图片添加流程需要网络访问;来源未说明下载失败后的恢复策略。
- /banana 集成依赖未随本技能提供的外部技能。
- README 将 JSON Canvas 规范的权威参考指向 kepano/obsidian-skills,且 Codex 等平台仅被描述为实验性兼容。
如何安装这个 Skill?
来源只记录了整个 claude-obsidian 集合的安装方式。可克隆仓库并运行:git clone https://github.com/AgriciDaniel/claude-obsidian && cd claude-obsidian && bash bin/setup-vault.sh;也可运行 claude plugin marketplace add AgriciDaniel/claude-obsidian,然后运行 claude plugin install claude-obsidian@agricidaniel-claude-obsidian。独立安装 skills/canvas/SKILL.md 的步骤未在来源中说明。
如何使用这个 Skill?
在仓库或配置好的 Obsidian vault 中使用 /canvas 查看或创建默认画布;例如使用 /canvas new Research 创建画布,使用 /canvas add image [path or url] 添加图片,使用 /canvas add pdf [path] 添加 PDF,使用 /canvas add note [wiki-page] 固定 wiki 页面,使用 /canvas add text [content] 添加文本卡片,使用 /canvas zone [name] [color] 创建分区,使用 /canvas list 列出画布。完成后在 Obsidian 中打开相应的 .canvas 文件。
这个 Skill 与同类方案有什么区别?
与 kepano/obsidian-skills 的 json-canvas 技能相比,本技能把规范之上的 wiki/canvases/工作流、分区布局和 banana 图片接入作为重点;来源建议将 kepano 版本作为 JSON Canvas 规范参考。与 claude-canvas 相比,本技能处理 claude-obsidian 的 wiki 范围内画布,claude-canvas则提供面向任意项目的完整编排、模板、布局算法和 AI 图像生成。