Install
$ agentstack add skill-levi-qiao-obsidian-llm-wiki-lint ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Lint 技能
核心目标
定期"体检"知识库,自动修复安全问题,对需要人工决策的问题生成报告。
核心原则:保守修复,不确定的操作生成报告供人工决策。
触发条件
- 用户输入
/lint - 用户询问"我的知识库健康状况如何"
- 用户要求"检查知识库状态"或"检查健康"
知识库路径
使用 Glob 工具动态定位当前工作区下的 wiki/ 目录
工作流程
步骤 1:索引同步检查(自动修复)
读取总索引:
Read wiki/index.md
检查项:
- 提取索引中注册的所有页面
- 扫描
wiki/下所有.md文件(排除 index.md、log.md、README.md 和 _conflicts/ 目录) - 比对差异
自动修复:
- 文件存在但未注册 → 读取文件的 frontmatter,自动添加到 index.md 对应的 domain + type 分组
- 已注册但文件不存在 → 从 index.md 删除该条目,记录到 log.md
修复日志:
## [YYYY-MM-DD] lint | 索引同步修复
- 新增到索引:[[页面1]], [[页面2]]
- 从索引删除:[[不存在的页面]]
步骤 2:死链检测(生成报告)
扫描所有 .md 文件,提取所有 [[双链]] 格式的链接
检查项:
- 如果链接指向的页面不存在 → 标记为死链
生成建议报告(不自动修复):
- 相似页面替换建议:
- 计算编辑距离(Levenshtein distance "
created: YYYY-MM-DD pages: [[页面A]], [[页面B]] ---
冲突描述
- 页面 A ([[页面A]]) 说:[摘录冲突内容]
- 页面 B ([[页面B]]) 说:[摘录冲突内容]
来源
- 页面 A 来源:[sources 字段]
- 页面 B 来源:[sources 字段]
建议
[LLM 分析后的建议]
决策
[ ] 采纳建议 [ ] 保留页面 A [ ] 保留页面 B [ ] 自定义合并方案:___________
**不自动修复**,等待用户决策。
---
### 步骤 6:标签爆炸检测(生成报告)
**统计标签使用情况**:
- 扫描所有页面的 frontmatter,统计每个标签的使用次数
**检查项**:
1. **单次使用标签** — 只被使用 1 次的标签
2. **相似标签** — 语义相似但拼写不同(如 `深度学习` vs `DeepLearning`)
3. **标签数量异常** — 页面标签数量 5
**生成报告**(不自动修复):
```markdown
## 标签健康报告
### 单次使用标签(建议删除或合并)
- `标签1` — 仅在 [[页面A]] 使用
- `标签2` — 仅在 [[页面B]] 使用
### 相似标签(建议统一)
- `深度学习` (5 次) vs `DeepLearning` (2 次) → 建议统一为 `深度学习`
- `机器学习` (8 次) vs `ML` (3 次) → 建议统一为 `机器学习`
### 标签数量异常
- [[页面C]] — 只有 1 个标签(建议补充)
- [[页面D]] — 有 8 个标签(建议精简)
是否需要批量替换标签?
最终报告输出
扫描和修复完成后,生成报告到 wiki/_lint/report_YYYY-MM-DD.md:
# 知识库健康体检报告 — YYYY-MM-DD
## 总体统计
- 页面总数:N
- 标签总数:N
- 平均每个页面被引用次数:N
## 自动修复完成
- 索引同步:新增 X 个,删除 Y 个
- Frontmatter:补全 X 个页面的缺失字段
## 建议修复(需用户确认)
### 死链检测 (N 处)
- `[[错误链接]]` 在 [[页面A]] → 建议替换为 `[[正确链接]]`
### 孤岛页面检测 (N 个)
- [[孤岛页面A]] → 建议在 [[页面1]], [[页面2]] 中添加链接
### 标签建议
- 单次使用标签:`标签1` (仅在 [[页面A]])
- 相似标签:`深度学习` (5次) vs `DeepLearning` (2次) → 建议统一
## 人工决策(仅报告)
### 知识冲突 (N 个)
- [[页面A]] 与 [[页面B]] 存在观点冲突,详见 `wiki/_conflicts/`
### 页面重复 (N 个)
- [[页面C]] 与 [[页面D]] 标题相似度 85%,建议合并
## 下一步行动
1. 查看 `wiki/_conflicts/` 目录,决策知识冲突
2. 确认是否批量替换相似标签
3. 为孤岛页面添加链接
同时在对话中输出简化版本,提示用户查看完整报告。
操作日志
修复完成后,在 wiki/log.md 末尾追加:
## [YYYY-MM-DD] lint | 周度健康检查
- 自动修复: 索引同步 3 处,Frontmatter 补全 5 处
- 建议修复: 死链 2 处,孤岛页面 1 处
- 人工决策: 知识冲突 1 个
不自动执行 Git 提交,而是提示用户:
✅ Lint 完成
- 自动修复:X 处
- 建议修复:Y 处(详见报告)
- 完整报告:wiki/_lint/report_YYYY-MM-DD.md
使用 `/sync` 提交到 Git
强制约束
- 先检测后修复 — 完成所有检测后,再执行自动修复
- 保守修复 — 不确定的操作不要自动执行,生成报告供人工决策
- 记录所有操作 — 修复的每一步都要记录到 log.md
- 不修改源文件 — 只修复 wiki/ 目录下的文件,不触碰 raw/
关联连接
- [[wiki/index.md]] — 总索引
- [[wiki/log.md]] — 操作日志
- [[wiki/_conflicts/]] — 冲突报告目录
- [[CLAUDE.md]] — Wiki 架构总规范
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: levi-qiao
- Source: levi-qiao/obsidian-llm-wiki
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.