跳至内容
用 Claude Code Skills 管理 Obsidian 知识库(Vault)

用 Claude Code Skills 管理 Obsidian 知识库(Vault)

January 11, 2025·生态观察, 研发实践·Agent Skills, Claude Code, Obsidian, 知识管理

很多团队会把 Obsidian Vault 变成“知识单一事实源”:需求与决策记录、项目日志、会议纪要、架构图、任务清单、轻量数据库视图。Claude Code 能显著提升维护效率——但前提是它必须理解 Vault 的约定与文件格式。

本文给出一种可落地的做法:把 Vault 的“编辑规则”打包成一套 Vault 专用 Skills,让 Claude Code 在读写时遵守约束,避免“看起来改对了、实际改坏了”(断链、Frontmatter 乱序、格式漂移等)。

为什么要做 Vault 专用 Skills?

Obsidian 常见的写法对通用 Markdown 工具并不友好:

  • Wikilinks:[[笔记名]]、[[笔记名#标题]]
  • 嵌入:![[image.png]]
  • Callouts:> [!note]、> [!warning]
  • Frontmatter:YAML 元数据块
  • Canvas:以 .canvas 保存的 JSON 可视化文档

如果没有规则约束,AI 编辑很容易产生“几乎正确”的变化:链接被改写、Frontmatter 键丢失/类型变化、Callout 缩进不一致、Canvas schema 漂移。用 Skills 把不变量写清楚,是最省心的办法。

覆盖 Vault 的三类 Skill

建议按文件类型拆分,保持每个 Skill 目标明确、边界清晰、可验证。

1)obsidian-markdown:增强 Markdown

负责:Vault 内的 *.md。

必须保持:

  • [[...]]、![[...]] 不被随意改写
  • 既有 Frontmatter 键不丢失、值类型不被破坏
  • Callout 的格式与缩进风格保持一致

可以在 SKILL.md 写清楚的规则示例:

规则:
- 除非明确要求,否则不要把 [[wikilinks]] 改成普通 Markdown 链接。
- 修改 frontmatter 时保留既有键;只在用户明确要求时新增键。
- Callout(> [!note])保持同一风格与缩进。

2)obsidian-bases:结构化视图(Bases 风格)

负责:你们约定的“视图定义文件”(或目录),以及笔记属性约定(如 status、priority)。

目标:把“查询/看板”变成可复现的配置,而不是每次临时搜索。

示例(YAML):

filters:
  and:
    - 'status == "in-progress"'
    - 'priority > 3'

views:
  - type: table
    name: "高优先级任务"
    order:
      - file.name
      - priority

3)json-canvas:Canvas 文件

负责:*.canvas。

必须保持:

  • 节点 ID 稳定
  • 边(edge)引用合法
  • 必填字段不缺失

示例(JSON):

{
  "nodes": [
    { "id": "n1", "type": "text", "x": 0, "y": 0, "width": 320, "height": 180, "text": "核心想法" }
  ],
  "edges": []
}

推荐的目录组织

把 Skills 跟 Vault 放在一起(可审查、可版本控制、可复用):

your-vault/
  .claude/
    skills/
      obsidian-vault/
        obsidian-markdown/
          SKILL.md
        obsidian-bases/
          SKILL.md
        json-canvas/
          SKILL.md

一个轻量的 SKILL.md frontmatter 模式:

---
name: "obsidian-markdown"
description: "当需要读写包含 wikilinks / callouts / embeds / YAML frontmatter 的 Vault Markdown 时使用。"
triggers: ["[[", "wikilink", "callout", "frontmatter", ".md"]
---

三个实用工作流

工作流 1:大规模重构笔记但不破坏链接

让 Claude Code 做“重命名 + 标题调整 + 反向链接一致性维护”。关键约束写在 obsidian-markdown 里:不要无故重写 wikilinks。

工作流 2:把笔记变成可复现的“轻量数据库”

通过 obsidian-bases 固化属性约定与视图定义,让“筛选/统计/看板”变成可审查的配置变更。

工作流 3:用 Canvas 维护架构与规划图

用 json-canvas 防止 schema 漂移(字段缺失、重复 ID、边引用错误),让可视化文档能稳定迭代。

延伸阅读

  • Claude Code Skills(官方):https://code.claude.com/docs/en/skills
  • Agent Skills(官方):https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview
  • 站内文档:Skills、创建插件、发现插件

核心目标很简单:让 Vault “可被 AI 编辑”但“不被 AI 破坏”。一套边界清晰、规则明确的 Skills bundle,通常就够了。