obsidian-skills 是 Obsidian 作者 kepano 维护的 Agent Skill 集,仓库为 kepano/obsidian-skills。它处理的是 Agent 改笔记时最常见的一类错误:Markdown 会写,但双链、嵌入、callout、properties、Bases 和 JSON Canvas 的语法不一定对。六个 Skill 按 Obsidian 的开放格式拆分,让 Agent 在动手前先知道格式约束。按官方 README 整理,未在本机完整实测。
六个 Skill 分别管什么
| Skill | 负责的内容 |
|---|---|
obsidian-markdown |
Obsidian Flavored Markdown,包括 wikilink、嵌入、callout、properties 等专有语法 |
obsidian-bases |
.base 文件的视图、筛选、公式和汇总 |
json-canvas |
.canvas 文件里的节点、连线、分组和连接 |
obsidian-cli |
通过 Obsidian CLI 操作仓库,也覆盖插件和主题开发 |
defuddle |
从网页提取干净 Markdown,去掉干扰内容以节省 token |
knap |
用 JSON 或 CSV 数据渲染 Markdown 模板,支持批量生成文件 |
这套拆分的好处是职责清楚:整理笔记时不需要加载 Canvas 规则,做图表时也不会把 Markdown 语法混进来。
为什么格式约束值得单独做
通用模型训练时见到的 Markdown 远多于 Obsidian 方言。双链不是标准 Markdown 链接,嵌入要在链接前加感叹号,callout 是引用块里的特殊标记,properties 必须放在笔记开头的 frontmatter 里;这些写法在普通编辑器里未必报错,到了 Obsidian 才暴露问题。Bases 和 JSON Canvas 更不是 Markdown 的变体,而是独立文件格式,靠模型自由发挥很容易写出“看起来像、实际打不开”的文件。
让 Agent 在写之前加载对应 Skill,比事后逐篇修复便宜。尤其是在批量操作里,格式错误会随着文件数量放大。
安装路径因 Agent 而异
Claude Code 有插件市场入口:
/plugin marketplace add kepano/obsidian-skills |
其他支持 Agent Skills 的工具可以用:
npx skills add git@github.com:kepano/obsidian-skills.git |
手动安装时,Claude Code 把仓库内容放进 Obsidian 仓库根目录的 /.claude;Codex 把 skills/ 复制到 ~/.codex/skills;OpenCode 则要把整个仓库克隆到 ~/.opencode/skills/obsidian-skills,只复制内层 skills/ 不行,目录结构必须是 ~/.opencode/skills/obsidian-skills/skills/<skill-name>/SKILL.md。OpenCode 会自动发现所有 SKILL.md,不需要改 opencode.json,重启后生效。
一个整理知识库的场景
一个用了两年的仓库,三百多篇笔记,属性命名不统一,有些链接还是纯文本。可以让 Agent 先按 obsidian-markdown 的规则统一 properties 和 wikilink,再用 json-canvas 生成一个主题索引画布,最后用 knap 从 CSV 批量生成项目笔记。
批量生成时,CSV 可以只放项目名、状态和复盘日期三列,模板里写标题、属性和固定小节,一次生成几十篇初稿,再由人补内容。这样比让模型自由发挥可控,但模板字段必须和仓库现有约定一致,否则会造出第二套命名。执行前先把仓库纳入 Git 或做完整备份,先拿十篇笔记试跑,看完 diff 再扩大范围。
这些 Skill 约束的是语法和文件格式,不替你决定分类体系。标签怎么分层、哪些笔记该合并,仍然要人来判断。
与通用 Markdown 编辑的差别
通用 Agent 容易把 [[双链]] 写成普通 Markdown 链接,或者把 properties 写成正文里的 YAML 代码块;在 Obsidian 里,这些写法可能能显示,却不会被识别为链接或属性。obsidian-skills 把这些格式规则提前写进 Skill,减少“看起来改了、其实没生效”的情况。
如果笔记只用于纯文本环境,或者团队根本不用双链、Bases 和 Canvas,这套规则带来的收益有限,反而增加约束。只需要让 Agent 写普通 .md 文件时,obsidian-markdown 通常已经够用;Bases 和 Canvas 只在确实要维护对应文件时再启用,少一个 Skill 就少一层格式假设。
CLI 与批量操作的边界
obsidian-cli 覆盖 Obsidian CLI 以及插件、主题开发,但 README 没有展开每个平台和版本的差异,本文也没有实测。批量改写是风险更高的部分:Agent 可能一次改动几百个文件,而 Obsidian 没有跨文件撤销。稳妥的做法是限制单次改动范围、保留 Git 历史、对附件和 front matter 单独检查。
defuddle 会抓取网页内容,抓回来的文本属于外部输入,不能当作可信指令;让 Agent 总结网页时,仍要防止提示注入。
项目入口
- 仓库:kepano/obsidian-skills
- Skill 规范:Agent Skills specification
- 许可:以仓库为准
- 适合:用 Obsidian 做个人知识库、想让 Agent 参与整理但又不想改坏格式的人
