关于 wiki-lint
wiki-lint 是用于 Obsidian 笔记库的只读检查技能,适合需要确定性检查 wiki 结构和元数据的用户。它报告链接、孤立页面、前置元数据、章节、索引和台账契约问题,不会在笔记库中创建修复或报告。
主要功能
- 01扫描链接、页面、元数据和索引
- 02检测失效及有歧义的链接
- 03报告孤立页面和空章节
- 04通过可重复的 glob 规则排除路径
- 05输出文本或 Markdown 格式
适用场景
- 01发布或共享前检查笔记库
- 02查找导航失效和链接歧义
- 03检查必需前置元数据及过期索引
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ agricidaniel/ claude-obsidian --skill wiki-lint安装后在 Claude Code 中输入/wiki-lint确认已加载。
详细介绍
检查 wiki
以便携式检查引擎为准。检查会观察知识库状态;不会创建报告、仪表板、画布、存根或修复内容。
根据此技能自身的位置解析已安装产品的根目录,而不是根据知识库或当前工作目录解析:
PRODUCT_ROOT=/absolute/path/to/installed/claude-obsidian
CORE="$PRODUCT_ROOT/scripts/claude-obsidian.py"
test -f "$CORE"
本文件中的每个 ../wiki/references/ 链接都以相同方式解析:相对于 $PRODUCT_ROOT 下此技能自身所在的目录,绝不相对于所选知识库的 wiki/ 目录。
运行
解析用户的知识库,然后运行以下命令之一:
python3 "$CORE" lint --vault "$VAULT"
python3 "$CORE" lint --vault "$VAULT" --format markdown
python3 "$CORE" lint --vault "$VAULT" --exclude "wiki/scratchpad/*"
可重复使用的 --exclude GLOB 标志可将某个路径(例如临时文件夹)排除在页面、链接解析、孤立页面、frontmatter、空章节和过时索引扫描之外。
仅当自动化流程需要因发现问题而返回非零退出码时,才使用 --strict。无论是否使用该标志,命令都保持只读。
确定性解析器可识别 Obsidian wikilink 和嵌入、Markdown 链接、别名、标题和区块片段、转义别名及代码围栏。默认跳过以点开头的目录,与 Obsidian 自身的索引器保持一致。链接解析会遵循知识库内部的 .gitignore 文件(不调用 git 子进程):当链接在页面与被 Git 忽略的文件(例如构建产物)之间存在歧义时,会排除被 Git 忽略的候选项。
报告的类别包括失效或有歧义的链接、孤立页面、必需 frontmatter 缺失(包括 title)、空章节、过时索引条目,以及来源/声明账本约定违规。只报告其输出中实际包含的检查项和计数;如果没有执行语义、风格或正文级矛盾分析,就不要声称执行过这些分析。
解释检查结果
- 保留引擎提供的路径、行号、目标、类别和计数。
- 按可能的影响对结果分组:导航失效、解析有歧义、元数据质量,然后是可维护性。
- 说明孤立页面可能是有意的,而有歧义的基名需要使用路径限定链接;不要仅凭检查结果推断其意图。
- 将允许列表中的结果视为策略规定,而非目标存在的证明。
- 将确定性事实与建议的补救措施分开。
不要将 Markdown 呈现内容写入知识库。请在聊天中返回,或输出到 stdout。
修复是单独的操作
绝不自动修复检查结果。用户选择要修复的具体问题后:
- 重新读取每个目标并记录其预期的 SHA-256。
- 仅拟定所选的更改;未经明确同意,不要删除或合并页面。
- 使用新的操作 ID 构建一个修复包。
- 检查该修复包并展示准确的变更路径。
- 仅在完成单独审查后应用。
- 以只读方式重新运行检查,并比较相关结果。
遵循操作事务约定。 检查本身不会应用该事务,也不会提交 Git。
检查点
查看确定性报告,思考根本原因而非结果数量;根据当前哈希值验证拟议的修复;通过改进产生重复问题的工作流来持续改进。