KB Lint 是面向 PARA 知识库的知识库健康检查技能,用于审计仓库中的结构问题、不一致与维护机会。
用途 对 Obsidian 风格的知识库(按 Projects、Areas、Resources、Archive 等 PARA 目录组织)做系统性体检,发现索引与文件不一致、孤立文档、标签规范问题、断链、frontmatter 缺失以及陈旧内容,并给出修复或维护建议。可定期运行,也可作为工作流程的一部分执行。
主要能力
- 索引漂移检查:将 _index.md 内容与磁盘实际文件比对,识别 MISSING(索引列出但文件不存在)、UNLISTED(文件存在但未列入索引)、STALE_COUNT(顶层索引计数不匹配)、STALE_INDEX(updated 日期超过 7 天未更新)。可自动修复:补充未列出的文件、移除缺失条目、更新计数与日期。
- 孤立文档检查:找出 PARA 目录中既无其他文件传入 [[wikilinks]]、也无任何 _index.md 条目、且无标签的文件。0. Common/daily/、0. Common/weekly/、_index.md、AGENTS.md、Dashboard.md 不参与检查。报告会列出孤立文档并建议处理方式(建立链接、添加标签或归档)。
- 标签一致性检查:识别 MISSING_PROJECT_TAG(1. Projects/x/ 下文件缺少 #proj/x)、MISSING_TYPE_TAG(论文文件缺少 #type/paper)、BAD_TAG_FORMAT(标签含空格或大小写异常)、CROSS_REF_TAG(Projects 之外文件带 #proj/x 标签,标记为有意跨引用)。可自动修复:为 frontmatter 补充缺失的 #proj/ 与 #type/ 标签。
- 断链检查:校验仓库文档中每个 [[wikilink]] 的目标文件是否存在,不存在则报告 BROKEN_LINK。有 obsidian CLI 时可用 obsidian links broken,无 CLI 时通过 Grep 匹配 [[.*?]] 并逐个解析目标。
- Frontmatter 质量检查:检查 PARA 目录中文档的必填与推荐字段,title 必填、created 必填、tags 推荐、type 推荐,报告缺失各字段的文档数量并列出问题最多的文档。
- 陈旧内容检查:识别 POSSIBLY_STALE(项目文件超过 30 天未修改)、SHOULD_ARCHIVE(已完成项目仍留在 1. Projects/)、MISPLACED(活跃项目出现在 4. Archive/)。
使用方式 命令形式包括: /kb-lint # 完整报告(只读) /kb-lint --fix # 自动修复安全项 /kb-lint --category Projects # 仅检查一个分类 参数 --fix 用于自动修复安全项(索引漂移、标签补充);--category <name> 限定为 Projects、Areas、Resources、Archive 之一。
输出格式 报告以日期为标题,先给出摘要(通过检查数、警告数、错误数),再分节展示索引漂移、孤立文档、标签问题、断链、frontmatter 质量、陈旧内容的详情,最后列出按优先级排序的建议动作。严重程度分为错误(断链、文件缺失,部分可自动修复)、警告(缺少标签、孤立文档、陈旧内容,大多可自动修复)、信息(优化建议,不可自动修复)。每次运行后向 0. Common/log.md 追加日志:日期、lint 关键字、通过数、警告数、错误数与修复数。
适用场景 适用于以 PARA 结构组织的 Obsidian 知识库或类似 Markdown 仓库的定期维护,适合在整理、迁移、批量编辑后检查一致性,也可纳入周期性或流程化巡检。
限制 资料说明该技能针对特定 PARA 目录结构与命名约定(如 1. Projects/、0. Common/、_index.md),检查规则和排除项基于该约定;断链检查在缺少 obsidian CLI 时依赖文本匹配逐个解析;自动修复仅限索引漂移与标签补充等安全项;具体实现细节与更多使用要求资料未提供。