用途:管理 Obsidian 笔记顶部的 YAML frontmatter(Obsidian 称为“属性”),覆盖写入、校验、跨笔记统一 schema、更新过期属性、修复格式错误等全生命周期。一致且格式正确的属性是 Dataview 查询与搜索可用的前提。
使用时机:为无属性块的笔记添加 frontmatter;更新单个属性(状态、标签等);多篇笔记统一到共享 schema;追加或移除列表属性项(tags、aliases);为某类笔记(会议、项目、日记)建立模板;定义 Dataview 查询所需属性;修复 Obsidian 显示解析错误的笔记。不适用于正文 wikilink 管理(应用 obsidian-links)、整篇笔记创建(应用 obsidian-note-builder)或非 Obsidian 的 Markdown 文件。
格式规则:--- 必须位于第 1 行且无前置空行;列表用 2 空格缩进、不得用 Tab;列表项用“- ”前缀;tags、aliases 必须为多行列表,禁止 tags: [a, b] 内联写法;含冒号的值需加引号;布尔值用小写 true/false;日期用 ISO 8601(YYYY-MM-DD);frontmatter 中的 wikilink 必须加引号,如 project: "[[Project Alpha]]";属性块内不得有多余空行。标签在属性中不加 #,支持 / 层级,如 project/active。
常用字段:核心为 title、date、tags、aliases、status;按笔记类型可扩展 attendees、project、action_items、start_date、due_date、stakeholders、priority、source、author、read_date、rating、mood、energy、focus_areas 等。
工作流:先读取笔记,判断是否已有属性块、YAML 是否合法、需保留哪些字段、属于哪类笔记;识别错误(Tab 缩进、内联列表、重复键、特殊字符未加引号);确定目标 schema;整体重写属性块并保留原有未改动属性,删除属性需用户确认;添加时插入第 1 行且不空行;最后校验第 1 行 ---、必填字段、多行列表、无 Tab、wikilink 已加引号、日期格式。
批量操作:确定共享 schema,列出缺失属性的笔记,逐篇修改并报告,最后输出汇总(已更新、已修复、已跳过)。
限制:不会静默删除既有属性;不编造 Vault 中不存在的约定,若检测不到既有标签命名规范则不做假设。