SKILL.md 5.2 KB


name: kb-lint tags: [knowledge-base, quality, maintenance, health-check] creator: 传鹏 description: |- 知识库健康检查与修复。检测死链、孤儿页、陈旧页、源漂移、索引漂移、空壳页,按严重度分派修复,输出健康分与维护建议。

触发词:检查知识库、库健康、整理得乱不乱、有没有死链、知识库体检、修复知识库、lint

知识库体检

跑起来

python 90-工具/kb.py check        # 结构 + 内容,两项一起过(推荐)
python 90-工具/kb.py lint --json  # 只查结构,机器可读
python 90-工具/check-content.py   # 只查内容(AI 腔 / 长句 / 没出处的数字)

lint 返回 summary(页数/源数/问题数/健康分/待重建数)+ issues(每条带 kind、page、detail)。 check-content.py 是另一个文件,因为结构对了不等于内容能用,两者职责不同,混在一起以后没人敢改。

健康分算法:100 - 问题数×3 - 待重建数×2,最低 0。

  • ≥ 90 绿:健康
  • 70–89 黄:能用,但有腐化
  • < 70 红:结构性问题,停下来修

问题类型与修法

按根因 → 表象的顺序修。先修下面的,上面的会自动消失。

第一梯队(根因,必须先修)

kind 含义 修法
DANGLING_SOURCE 页面引用的源已不在 manifest 分两种:① 源是被误删的 → 恢复文件后 kb.py scan + mark;② 源确实作废了 → kb.py retract 走正规回滚。不要直接手改 frontmatter 删掉那条 sources,那样 sources 与事实脱节,下次同步还会错
SOURCE_DRIFT 源文件内容变了,页面没更新 走 kb-sync 的 CHANGED 分支
STALE 页面被标记待重建 读完 stale_reason 再动手:源还在就重合成,源没了就降级为 draft 并在正文注明依据缺失

证据类(最容易被糊弄过去的一组)

kind 含义 修法
MISSING_EVIDENCE 页面没标 evidence 按 kb-ingest 的「定证据等级」三问补上。拿不准就往低了定
BAD_EVIDENCE 等级写成了 A/B/C/D 以外的东西 改成单字母
EVIDENCE_INFLATED 声明的等级比它来源最低级还强 降级,不要改来源。 合成不会提高证据强度。如果确实有更强的来源,先把那个源补进来
D_IN_MODULE 模块页是 D 级 D 级是推断和假设,不许进课件。要么补证据升到 C 以上,要么把这段挪进「待验证」区

EVIDENCE_INFLATED 是这个库最隐蔽的腐化方式:一开始某个 topic 页只用了 1 份讲师经验(C),后来补了 3 份报告,作者顺手把等级改成 A —— 但那 3 份报告本身是 B 级测算,最低级仍是 B。等级只会被最弱的那条拖住。

第二梯队(结构问题)

kind 含义 修法
DEAD_LINK [[X]] 没有对应页面 三选一:① 页面名写错了 → 改链接;② 该页还没建 → 建它(有价值时);③ 引用没意义了 → 删掉这句话连同链接
ORPHAN 无 sources 且无入链 孤立的知识碎片。要么挂到某个 topic 的 related 里、或在正文被引用;要么它其实是独立主题,那就从 index.md 业务地图里给个入口。实在没价值就归档,别留着占地方
NO_FM / MISSING_FIELD frontmatter 缺失或不完整 补齐。title/type/summary 三个必须有,summary ≤ 40 字
THIN 正文 < 100 字 补内容,或者合并进别的页。空壳页比没有页更糟——它会让索引显得很丰满,实际查不到东西

修复动作的边界

  • ✅ 改正文、补 frontmatter、改链接、合并页面
  • ✅ 把无价值页面移入 _archive/
  • ❌ 删原材料
  • ❌ 改 _index.md(会被 graph 覆盖,改 frontmatter)
  • ❌ 为了让 lint 数字好看而删问题条目(比如把坏链接删掉但不修内容)——lint 是体检,不是评分游戏

修完必做

python 90-工具/kb.py graph && python 90-工具/kb.py lint

分数没回去说明没修到根上。别在分数没变的情况下汇报"已修复"。


定期体检节奏

频率 检查什么
每次同步后 自动跑一次,只看有没有新增问题
每周 全量 lint + 清 rebuild_queue
每月 看 topics/_index.md,找"同一件事拆成好几页"的;看长期没被引用的页,考虑合并;抽 5 个 topic 页对比数字,看有没有互相打架
每季度 看 index.md 的业务地图是否还反映真实业务;删掉已不再做的业务分区

报告格式

知识库体检 · 健康分 87/100(黄)

42 页 / 18 源 / 6 个问题 / 2 项待重建

根因(先修这两个)
1. DANGLING_SOURCE — topics/客户画像.md 引用了已删除的《2025客户访谈.docx》
   建议:源确实作废 → 跑 retract,用剩余 3 个源重合成
2. STALE — modules/D2-Agent编排.md 待重建

结构问题
3. DEAD_LINK ×3 — 都指向 `提示词案例集`(该页已归档)
   建议:改成直接引用 sources/提示词方法.md

顺手可做
- THIN — entities/某银行.md 只有 60 字,建议合并进 topics/客户画像