Back to skills
SKILL.md
Wiki Lint
ASecurity对本地知识库的 Wiki 做健康检查/质量审查。查孤立页、断链、断引用、frontmatter 缺失、空段落、内容矛盾、过时内容、INDEX 偏差、知识缺口,生成 lint 报告并给出补充方向建议。Triggers on: 健康检查, 检查 wiki 健康状况, lint, clean up wiki, wiki 维护, check the wiki, wiki audit, find orphans, 审查 wiki.
- 431 stars
- 0 votes
- 0 copies
- 2 views
- Added September 3, 2026
Security analysis
100/100npx -y skills add zhuzhaoyun/Molio --skill wiki-lint --agent claude-codeAre you the author of Wiki Lint?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/zhuzhaoyun-wiki-lint)---
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.1.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 .
```
4. 使用 Bash 检查实际文件与索引的一致性(两层对比):
```bash
find wiki/ -name '*.md' ! -name 'INDEX.md' ! -name 'log.md' ! -name 'hot.md' | sort
```
- 目录层:各目录 INDEX.md 条目 ↔ 目录内实际文件,找出未列入索引的页面和索引中存在但文件缺失的页面
- 根层:根 INDEX.md 的目录行 ↔ 实际存在的内容目录(目录缺失、页数严重不符、漏列目录)
5. 如果上述批量检查发现可疑问题,再针对性地读取相关页面做深入检查。
## 检查清单
### 知识网络(结构检查)
| # | 检查项 | 严重度 | 说明 |
|---|--------|--------|------|
| 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 | 应该互相链接但没有链接的相关页面 |
| 5 | INDEX.md 偏差 | warning | 存在但未列出的页面,或列出但不存在的页面(目录索引与目录文件两层都查) |
| 13 | 旧单索引布局 | warning | 根 INDEX.md 仍逐页罗列、内容目录无 INDEX.md。建议触发一次「入库/归档」自动升级,或显式说「重构索引」(见 wiki-build 的索引分层迁移) |
### 内容质量(深度检查)
| # | 检查项 | 严重度 | 说明 |
|---|--------|--------|------|
| 6 | 内容矛盾 | error | 不同页面对同一主题有相互冲突的说法 |
| 7 | 过时内容 | warning | wiki 页面引用的信息已被更新的源文件取代 |
| 8 | Frontmatter 不完整 | warning | 页面缺少必需的 frontmatter 字段(type/title/tags/related/sources) |
| 9 | 空段落/占位内容 | info | 页面有空章节或只有标题没有实质内容 |
| 10 | 论点缺失 | info | overview 页面只是摘要罗列,缺少跨源文件的综合论点 |
### 知识缺口
| # | 检查项 | 严重度 | 说明 |
|---|--------|--------|------|
| 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 状态良好,直接说明 — 不要凭空编造问题。
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.