用途:审计 wiki 健康问题,包括页面间矛盾、孤立页面、失效交叉引用、过时声明、缺失页面与覆盖缺口。采用四阶段流水线,避免把页面正文载入主上下文。
前置条件:从当前目录向上或 ~/wikis/ 查找 SCHEMA.md;找不到则提示先运行 wiki-init。读取其中的 wiki 根路径与约定。链接风格读取 link_style;缺失或 <wiki-root>/config/link-style.md 不存在时默认 obsidian([[slug]])。
流程:Phase 0 运行 python bin/generate-index.py 重建索引。Phase 1 运行 python bin/lint-mechanical.py,解析其 JSON,得到 broken_links、missing_frontmatter、orphans、slug_collisions、stale_date、missing_concept 及 clusters,脚本为这些确定性检查的唯一来源。Phase 2 按标签簇派发子代理,每个只读本簇页面,报告 contradiction、missing-xref、merge-candidate、chronological-section、addable-line-range,主线程按 (type, sorted(pages), detail-entity) 去重。Phase 3 读取 wiki/overview.md 标记覆盖缺口,然后写入 wiki/pages/lint-<today>.md,合并各阶段发现。
报告含摘要与错误、警告、信息分级,覆盖失效链接、缺失 frontmatter、孤立页面、矛盾、过时声明、slug 冲突、按日期分节的更新、缺失概念页、覆盖缺口、缺失交叉引用、合并候选、可添加行号范围。报告 frontmatter 带 category: Maintenance,自动进入索引,不要手改 index.md,运行 python bin/generate-index.py。
修复:对可修复类别提供具体建议,写入前展示精确 diff,确认后应用。slug 冲突与合并候选不在本技能内修复,交给 wiki-merge。
记录:按 SCHEMA 的操作日志与提交约定,git wiki 建议提交(应用修复用 fix:,仅报告用 chore:,附 trailer Wiki-Op: lint);非 git wiki 追加到 wiki/log.md。
限制:Phase 2 为簇范围检查,与其他页面无共享标签的页面不做正文级检查,这是标签簇范围的已知召回限制;Phase 1 的图与字符串检查仍覆盖全部页面。簇被拆分时矛盾召回降低。PDF、转录、实时 URL 不标记行号范围。