检查链接技能Skill check-links

这个技能用于自动化检查和报告笔记库中损坏的wiki链接,通过提取链接目标、验证文件存在并提供修复建议,适用于笔记管理和文档维护。关键词:wiki链接检查、断链检测、自动化工具、笔记管理。

测试 0 次安装 0 次浏览 更新于 3/9/2026

name: 检查链接 description: 在笔记库中查找损坏的wiki链接。只读分析 — 扫描[[链接]]并验证目标文件是否存在。不写入,无依赖。 allowed-tools: Grep, Glob, Read user-invocable: true

检查链接技能

通过在您的笔记库中提取链接目标并验证每个目标文件是否存在,查找损坏的[[wiki-links]]。只读 — 永不修改文件。

使用方法

/check-links

或者询问:

  • “在我的笔记库中检查损坏的链接”
  • “查找死wiki链接”
  • “有没有损坏的链接?”

如何执行

步骤1: 提取所有wiki链接

使用 Grep 在markdown文件中查找所有[[...]]模式:

Grep:
  pattern: "\\\\[[\\\\[([^\\\\]|]+)"
  glob: "*.md"
  output_mode: content
  -n: true

这捕获链接目标(在任何|别名之前)。从结果中排除.claude/.obsidian/目录。

步骤2: 构建唯一目标列表

从grep结果中,提取唯一的链接目标。对于每个匹配项如[[My Note]][[My Note|display text]],目标是My Note

剥离:

  • 标题锚点: [[Note#heading]] → 目标是Note
  • 块引用: [[Note^block-id]] → 目标是Note
  • 别名: [[Note|alias]] → 目标是Note

步骤3: 验证每个目标是否存在

对于每个唯一目标,使用 Glob 检查是否存在匹配的文件:

Glob:
  pattern: "**/<target>.md"

如果没有文件匹配,链接是损坏的。如果至少有一个文件匹配,链接是有效的

步骤4: 报告结果

按源文件分组损坏的链接:

## 损坏链接报告

### Daily Notes/2024-01-15.md
- [[Projet Alpha]] — 未找到匹配文件
- [[Old Goal]] — 未找到匹配文件

### Projects/Project Beta.md
- [[Meeting Notes Jan]] — 未找到匹配文件

---

**总结:** 在2个文件中发现3个损坏链接(共检查45个链接)

步骤5: 建议修复

对于每个损坏的链接,尝试查找近似匹配:

  1. 使用 Glob 与部分模式: **/*<partial-target>*.md
  2. 如果存在相似文件名,建议它:
    - [[Projet Alpha]] — 您是指[[Project Alpha]]吗?
    
  3. 如果没有近似匹配,只报告"未找到匹配文件"

边缘情况

  • 嵌入式图像 (![[image.png]]) — 跳过这些,它们引用附件
  • 外部链接 ([text](https://...)) — 跳过这些,它们不是wiki链接
  • 模板占位符 ([[{{date}}]]) — 跳过任何目标中包含{{
  • 空链接 ([[]]) — 报告为格式错误,非损坏

无损坏链接

如果所有链接都有效:

✅ 所有wiki链接已验证 — 在X个文件(Y个链接检查)中未发现损坏链接

提示

  • 定期运行/check-links以捕获链接失效
  • 重命名文件后,运行此技能以查找需要更新的链接
  • 结合/search以查找引用已删除内容的笔记