<< All versions

Skill v2.3.0

currentLLM-judged scan90/100
zhuzhaoyun/molio/wiki-lint
──Details
PublishedOctober 22, 2026 at 08:48 PM
Content Hashsha256:03833ce23894ee91...
Git SHA2ff62ff23ced
──Files
Files (1 file, 6.7 KB)
SKILL.md6.7 KBactive
SKILL.md · 112 lines · 6.7 KB

name: wiki-lint description: 对本地知识库的 Wiki 做健康检查/质量审查。查孤立页、断链、断引用、frontmatter 缺失、空段落、内容矛盾、过时内容、INDEX 偏差、知识缺口,生成 lint 报告并给出补充方向建议。Triggers on: 健康检查, 检查 wiki 健康状况, lint, clean up wiki, wiki 维护, check the wiki, wiki audit, find orphans, 审查 wiki. version: 2.3.0


wiki-lint: Wiki 健康检查

审查 wiki 的一致性、完整性、知识网络健康度和内容质量。

核心原则

  • 源文件不可变:只能读取源文件,绝对不能修改或删除。Lint 过程中只读不写源文件。
  • wiki 是复利资产:检查的不只是单个页面的质量,更要关注整个知识网络是否在不断积累和深化。
  • 高效检查:不要逐个读取所有 wiki 页面。优先使用批量方式获取信息,只在需要深入检查特定页面时才单独读取。

Vault 结构

vault 根目录就是当前工作目录。源文件在子目录中(如 raw/、notes/、docs/)。 wiki 相关内容的目录结构:

  • wiki/ — 所有 wiki 页面的根目录
  • wiki/INDEX.md — 根索引:只列目录级概览(各目录页数 + 覆盖范围)与概述入口页,不逐页罗列
  • wiki/<dir>/INDEX.md — 每个内容目录自己的索引,列全该目录页面及一句话摘要
  • wiki/log.md — 操作日志(最新条目在最上面)
  • wiki/hot.md — 近期上下文缓存
  • wiki/meta/ — 元数据目录(lint 报告等)
  • wiki/sources/ — 源文件摘要页
  • wiki/entities/、wiki/concepts/、wiki/comparisons/、wiki/questions/ 等

检查方法

按以下顺序操作,尽量用最少的工具调用获取最多信息:

  1. 读取根 wiki/INDEX.md — 了解目录级概览;分层布局下再读各内容目录的 wiki/<dir>/INDEX.md,获取所有页面的清单和摘要(旧单索引库的根 INDEX 本身逐页列全,直接用它即可,并记为检查项 13)
  2. 读取 wiki/log.md — 了解最近的构建和导入历史
  3. 使用 Bash 一次性提取所有 wiki 页面的 [[wiki 链接]]:

``bash grep -roh '\[\[[^]]*\]\]' wiki/ | sort | uniq -c | sort -rn ` 这一步能同时得到:所有被引用的页面名、引用频次,用于检测断链/缺失页面和引用结构。注意 grep 不会跳过代码块——**代码块/行内代码里的 [[...]] 是字面文本、不算链接**(与 deadcheck、图谱同口径),数到它们不要当断链报;断链的精确判定直接用专用脚本: `bash node ".claude/skills/wiki-build/scripts/deadcheck.mjs" --vault . ` **孤立页的判定不靠这里的计数**——grep 会把 INDEX 的枚举链接算进入度,导致"每个 stub 都被 INDEX 链过 → 永远测不出孤儿",用专用脚本(口径:排除 INDEX/log/hot 结构页): `bash node ".claude/skills/wiki-build/scripts/orphan-audit.mjs" --vault . ` 含图库再查图版(悬空图片引用 / 孤儿图 / 裸文件名歧义 / [Image: untitled] 的笔记相对路径): `bash node ".claude/skills/wiki-build/scripts/media.mjs" check --vault . ``

  1. 使用 Bash 检查实际文件与索引的一致性(两层对比):

``bash find wiki/ -name '*.md' ! -name 'INDEX.md' ! -name 'log.md' ! -name 'hot.md' | sort ``

  • 目录层:各目录 INDEX.md 条目 ↔ 目录内实际文件,找出未列入索引的页面和索引中存在但文件缺失的页面
  • 根层:根 INDEX.md 的目录行 ↔ 实际存在的内容目录(目录缺失、页数严重不符、漏列目录)
  1. 如果上述批量检查发现可疑问题,再针对性地读取相关页面做深入检查。

检查清单

知识网络(结构检查)

#检查项严重度说明
1孤立页面info没有任何其他页面链接指向的 wiki 页面。判定用 `orphan-audit.mjs`(见检查方法 3:排除 INDEX/log/hot 的枚举链接,因为枚举链接会掩盖真实孤儿)。入度=0 的 stub 多为"背景挂点误建页",详见 wiki-build「建页粒度」的孤儿审计
2无出链页面info页面没有引用任何其他页面的 [[wiki 链接]]
3断链warning[[wiki 链接]] 指向不存在的页面。判定用 `deadcheck.mjs`(见检查方法 3):代码块/行内代码里的 [[...]] 是字面文本、不算链接,要跳过(与 deadcheck、图谱同口径)
4缺失交叉引用info应该互相链接但没有链接的相关页面
5INDEX.md 偏差warning存在但未列出的页面,或列出但不存在的页面(目录索引与目录文件两层都查)
13旧单索引布局warning根 INDEX.md 仍逐页罗列、内容目录无 INDEX.md。建议触发一次「入库/归档」自动升级,或显式说「重构索引」(见 wiki-build 的索引分层迁移)
14图版问题warning![[图片]] 或普通 Markdown 图片指向不存在的文件(裂图)、裸文件名匹配到多张同名图。普通 Markdown 路径按笔记所在目录解析。判定用 `media.mjs check`(见检查方法 3);孤儿图只报告不算错。规范见 wiki-build「含图源文件(图版)处理」

内容质量(深度检查)

#检查项严重度说明
6内容矛盾error不同页面对同一主题有相互冲突的说法
7过时内容warningwiki 页面引用的信息已被更新的源文件取代
8Frontmatter 不完整warning页面缺少必需的 frontmatter 字段(type/title/tags/related/sources)
9空段落/占位内容info页面有空章节或只有标题没有实质内容
10论点缺失infooverview 页面只是摘要罗列,缺少跨源文件的综合论点

知识缺口

#检查项严重度说明
11主题盲区info源文件涉及但 wiki 未覆盖的重要概念或实体
12深度不足info已有页面过于浅显,可以通过补充源文件来深化

输出格式

对发现的每个问题:

### [严重度] 问题标题
- **类型**:检查项编号和名称
- **位置**:wiki/path/to/page.md
- **描述**:问题是什么
- **建议**:如何修复(给出具体操作步骤)

将完整报告写入 wiki/meta/lint-report-YYYY-MM-DD.md(YYYY-MM-DD 为当天日期)。

同时在对话中给出总结:

  • 发现问题总数:N
  • 严重问题(error):N
  • 中等问题(warning):N
  • 次要问题(info):N
  • 建议补充的源文件方向(具体到主题和资料类型)

如果 wiki 状态良好,直接说明 — 不要凭空编造问题。

All versions