obsidian-skills 的 5 个技能:让 AI 代理写出规范的 Obsidian 文件
obsidian-skills 的 5 个技能让 AI 代理写出规范的 Obsidian 文件【免费下载链接】obsidian-skillsAgent skills for Obsidian. Teach your agent to use Obsidian CLI and open formats including Markdown, Bases, JSON Canvas.项目地址: https://gitcode.com/GitHub_Trending/ob/obsidian-skills你让代理给笔记加个标注框它写出来的是标准 Markdown 引用而不是 [!note]你让它建一个 Bases 数据库视图它交出的 YAML 在 Obsidian 里打不开——这类问题正是 obsidian-skills 要解决的。这个项目不写代码、不起服务只用 5 份 SKILL.md 教会代理 Obsidian 在标准 Markdown 之外的扩展语法和两种结构化文件格式把代理改保险库从碰运气变成可验证的流程。代理写 Obsidian 笔记时错在哪Obsidian 的 .md 不是标准 Markdown。维基链接[[链接]]用于内部引用嵌入语法![[嵌入]]可以内联另一篇笔记或 PDF 的某一页标注框用 [!warning]起头文件顶部还有 frontmatter 属性。这些对只见过 CommonMark 的通用代理来说都不在常识里。比 .md 更麻烦的是保险库里还有两类与 Markdown 完全不同的结构化文件**Bases 数据库视图.base**本质是一个 YAML 文件**画布文件.canvas**本质是一段 JSON。代理写这两种文件时连可参照的标准都没有只能靠猜。大多数错误就出在这里YAML 字符串少一个引号整个视图打不开canvas 节点漏掉一个必填字段文件直接失效。SKILL.md 如何自动触发打开仓库第一眼注意到的是结构有多平skills/下五个子目录每个目录一份 SKILL.md必要时配一个references/目录放补充材料比如 obsidian-bases 的 references/ 里就放着完整函数参考 FUNCTIONS_REFERENCE.md。真正的设计点在每份 SKILL.md 的 YAML 头部。name声明技能名description则是用自然语言写的触发条件。以 obsidian-markdown 为例Use when working with .md files in Obsidian, or when the user mentions wikilinks, callouts, frontmatter, tags, embeds…… 也就是说用户说一句把这个标注框改一下代理自己会判断该调哪个技能不需要你指名道姓。五个技能都遵循 Agent Skills 规范所以同一套文件放进 Claude Code、Codex、OpenCode 都能被自动发现。五个技能各管一种文件格式Obsidian Markdown只教标准里没有的obsidian-markdown 明确只覆盖 Obsidian 扩展标题、列表这些默认你会。它的价值在于把判断规则内置进去库内笔记用[[维基链接]]Obsidian 会自动跟踪重命名外部 URL 才用标准 Markdown 链接段落尾加^block-id即可被其他笔记按块引用。完整的属性类型、标注框类型、嵌入类型分别放在 references/ 的 PROPERTIES.md、CALLOUTS.md、EMBEDS.md 里供代理按需查阅。Bases 过滤器与公式YAML 的坑一个 .base 文件就是一套 YAML 数据库filters 决定哪些笔记进入视图formulas 计算派生字段views 决定用表格、卡片、列表还是地图展示。筛出未完成的任务就是视图里一条status ! done的条件。写对这份 YAML 比看上去讲究。技能文档内置了三个坑含冒号等特殊字符的字符串必须加引号两个日期相减得到的是 Duration 而不是数字必须先取.days再做四舍五入这类数值操作属性可能缺失要用if()兜底。算距截止日还有几天就是标准写法formulas: days_until_due: if(due, (date(due) - today()).days, )工作流的最后一步是验证YAML 是否合法、每个被引用的formula.X是否真的在 formulas 里定义过确认无误再交给 Obsidian 渲染。JSON Canvas 的节点与边.canvas 文件只有两个顶层数组nodes 和 edges。技能文档规定了生成纪律每个节点用唯一的 16 位十六进制 ID节点类型只有 text、file、link、group 四种节点之间留 50 到 100 像素间距改完后逐条过验证清单——ID 全文件唯一、每条边的 fromNode 和 toNode 都能解析到真实节点。思维导图、项目看板这类完整示例放在 references/EXAMPLES.md 里。Obsidian CLI直接跟运行中的应用对话前三个技能操作的都是文件obsidian-cli 则直接跟正在运行的 Obsidian 实例对话要求应用处于打开状态。常用操作包括obsidian search query...全库搜索obsidian property:set namestatus valuedone fileMy Note一步改属性obsidian daily:append往每日笔记追加内容。它还覆盖插件开发plugin:reload、dev:errors、dev:screenshot这几个 dev 命令能让代理自己完成改代码、重载、查错误、截图验证的循环不用你盯屏。随时跑obsidian help能拿到最新的命令列表。Defuddle把网页剥成干净 Markdown最后一个技能管资料进库这一端。defuddle parse url --md从网页提取干净 Markdown去掉导航、广告和版式噪音内容入库前就干净了代理读网页的 token 消耗也随之下降。文档里还特意写明以 .md 结尾的 URL 跳过这一步因为本来就是 Markdown没必要二次解析。安装两条命令起步/plugin marketplace add kepano/obsidian-skills /plugin install obsidianobsidian-skills也可以用 npx skills 或手动安装。手动装时三个平台放的位置不同Claude Code 用户把仓库内容放进保险库根目录的.claude文件夹Codex 用户把skills/目录复制到~/.codex/skillsOpenCode 用户则要把整个仓库克隆到~/.opencode/skills/obsidian-skills——README 专门警告不要只复制内层skills/文件夹因为发现机制依赖 SKILL.md 处于再深一层的目录结构里。Obsidian 的文件格式都是纯文本但方言多每一口都有代理会踩的坑。obsidian-skills 的做法是把每口方言写成一份可触发、可验证的 SKILL.md让代理在下笔前先翻书写完先自检。这个模式本身不绑定 Obsidian——任何需要代理写特定方言的场景都可以照此办理。【免费下载链接】obsidian-skillsAgent skills for Obsidian. Teach your agent to use Obsidian CLI and open formats including Markdown, Bases, JSON Canvas.项目地址: https://gitcode.com/GitHub_Trending/ob/obsidian-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考