obsidian-bases
作者 kepanoobsidian-bases 可帮助创建和编辑 Obsidian `.base` 文件,支持 filters、formulas、summaries,以及 table、cards、list 或 map 视图。它特别适合把笔记元数据整理成可用的知识库视图,并通过 skill 文件中的 YAML 校验与函数参考指引,减少配置出错和语法猜测。
该 skill 评分为 82/100,属于质量扎实的目录条目:从仓库内容来看,它提供了一个真实且可复用的流程,用于创建和编辑包含 filters、formulas 及多种视图类型的 Obsidian `.base` 文件;同时也为 agent 提供了足够的 schema 和校验指引,相比通用提示词更能减少猜测。不过,目录用户仍应预期在 Obsidian 中自行测试结果,因为它主要依赖文档说明,而不是由工具直接驱动。
- 触发场景明确:描述直接对应 Obsidian 中的 `.base` 文件、Bases、table/card 视图、filters 和 formulas。
- 操作层面内容充实:`SKILL.md` 提供了具体工作流、YAML schema 结构、校验检查以及常见报错模式。
- 对 agent 很有帮助:内置的函数参考能显著帮助生成 formulas,避免凭空编造语法。
- 没有 install 命令或可执行辅助文件;是否采用主要取决于是否愿意阅读并手动应用 markdown 指南。
- 最终校验仍需在 Obsidian 中打开 `.base` 文件,因此在渲染或语法问题上仍可能需要反复试错。
obsidian-bases 技能概览
obsidian-bases 擅长解决什么问题
obsidian-bases 可以帮助智能体创建和编辑 Obsidian 的 .base 文件,用来生成类似数据库的笔记视图。它最适合在你需要可直接运行的 YAML 时使用,尤其是涉及 Bases 的 filters、formulas、summaries,以及 table、cards、list、map 等视图布局的场景。
最适合知识库类工作流
如果你把 vault 当作知识库、项目追踪器、阅读清单或内容仪表盘来管理,obsidian-bases 技能会非常合适。它真正解决的问题并不是“帮我写 YAML”,而是“把我的笔记和元数据整理成一个在 Obsidian 里真正能渲染、能使用的视图”。
为什么用 obsidian-bases,而不是泛用提示词
obsidian-bases 的核心优势在于结构化。这个技能给智能体提供了明确的工作流:先用 filters 确定范围,再添加可选的 formulas,然后配置视图,最后校验 YAML 和属性引用。相比普通提示词,这能明显减少常见失败情况,比如 .base 语法无效、公式引用损坏,或者视图与 vault 的 schema 对不上。
如何使用 obsidian-bases 技能
安装背景与优先阅读顺序
这个技能本身没有单独的安装命令;它是 kepano/obsidian-skills 里的一个指导型技能。建议先看 skills/obsidian-bases/SKILL.md,再看 skills/obsidian-bases/references/FUNCTIONS_REFERENCE.md。阅读顺序上,先读 workflow 部分,再看 schema 示例,最后只在需要某个公式时查对应的函数说明。
使用 obsidian-bases 需要提供哪些输入
想让 obsidian-bases 发挥效果,最好给智能体这些信息:
- 这个 base 的目标,例如“显示进行中的项目”
- 示例笔记路径或文件夹
- 相关的 frontmatter 属性、标签和日期字段
- 期望的视图类型:
table、cards、list或map - 你想要的计算字段,例如是否逾期、阅读时长
- 展示层面的要求,例如属性顺序或 summary 字段
较弱的输入: “Make me a base for tasks.”
较强的输入: “Create a .base file for notes in Projects/, include only notes where status != done, show title, status, due, and a formula is_overdue, default to table view, and add a cards view for mobile.”
如何把模糊目标改写成可执行的提示词
一个实用的 obsidian-bases 提示词,应该明确要求输出完整 .base 文件,并附带校验检查。例如:
“Using obsidian-bases, create a valid .base YAML file for notes in Areas/Research/ tagged #paper. Add filters for only unread items from 2024 onward, define formulas for age_days and is_recent, create a table view ordered by title, author, year, and formula.age_days, and explain any quoting needed to avoid YAML errors.”
这种写法效果更好,因为它把范围、元数据、公式、显示顺序都说清楚了,同时还要求输出具备语法意识,而不是只给一个“看起来像对的”结果。
实用工作流与输出检查项
建议按这个顺序来:
- 先让它生成最小可用的
.base - 在增加复杂度前先校验 YAML 语法
- 一次只加一个公式
- 先确认第一个视图能正常渲染,再添加第二个视图
这个技能强调的关键检查项包括:
- 当字符串里含有可能破坏 YAML 解析的特殊字符时,要加引号
- 视图里用到的每个
formula.X,都必须先在formulas中定义 - 确认属性名与你笔记中的实际字段完全一致
- 一定要在 Obsidian 里测试,不要只在文本编辑器里看起来没问题就算完成
obsidian-bases 技能常见问题
obsidian-bases 适合新手吗?
适合,但前提是你已经理解 Obsidian 的基础属性和 frontmatter。相比从零学习整个格式,obsidian-bases 技能更容易上手,因为它提供了一个相对安全的创建顺序。不过如果你的 vault 元数据本身不一致,完全新手仍然会比较吃力。
它和直接让 AI 生成 .base 文件有什么不同?
普通提示词可能会生成“看起来合理”但实际上不能渲染的 YAML。obsidian-bases 更可靠,因为它围绕真实的 .base 工作流来设计:先 filters,再 formulas,再 views,最后 validation。遇到公式相关需求时,它还会明确引导你去看函数参考文件。
什么情况下 obsidian-bases 不是合适工具?
如果你的真正问题是元数据缺失、笔记结构不一致,或者你自己还不清楚这个 base 到底要展示什么,那就不该优先用 obsidian-bases。它也不能替代 Bases 格式之外的插件文档。如果你的 vault schema 很混乱,应该先把 schema 整理好。
obsidian-bases 能帮助处理公式和函数吗?
可以。对于安装前评估来说,内置的 references/FUNCTIONS_REFERENCE.md 是这个技能最有价值的部分之一。它特别适合你需要处理日期运算、条件显示、类型转换、链接、图标,或在公式驱动属性里输出 HTML 渲染时使用。
如何提升 obsidian-bases 的使用效果
先整理更干净的 vault schema,再让它生成输出
影响结果质量最大的因素,是输入质量。在请求完整 base 之前,先列出 3-5 条笔记中的准确属性名和示例值。如果一条笔记用 due-date,另一条又用 due,智能体就无法稳定地设计 filters 或 formulas。
提前规避 obsidian-bases 最常见的失败点
常见失败模式包括:
- 字符串未加引号,导致 YAML 无效
- 公式引用在定义之前就被使用
- filters 指向了不存在的标签或属性
- 第一版就塞入多个视图和 summaries,导致草稿过于复杂
更好的首次请求应该尽量收窄范围:一个文件夹、一个过滤条件、一个视图、一个公式。
从可运行的最小结果逐层迭代
想提高 obsidian-bases 的成功率,建议按层次请求修改:
- first pass:一个有效的
.base,包含一个 filter 和一个 view - second pass:加入计算字段
- third pass:加入替代视图和 summaries
- final pass:让它说明有哪些假设,以及哪些地方可能和你的 schema 不匹配
这样做更可靠,因为你能清楚看到到底是哪一步新增内容导致渲染失败。
有策略地使用参考文件
想让 obsidian-bases 输出更稳,不要抽象地要求“advanced formulas”。应直接说明你要的运算或显示效果,再让智能体根据 references/FUNCTIONS_REFERENCE.md 映射到已知函数。这样输出会更贴近文档支持的函数集合,也能减少编造语法的情况,尤其是在日期、布尔值、链接和显示格式这几类需求上。
