mcpField
F
fixing-broken-links

fixing-broken-links

github.com/revitalb-port测试与质量072 次安装10 周前更新
代码仓库

关于 fixing-broken-links

这是一个用于扫描文件链接并修复失效链接的 Skill,面向维护 Markdown、HTML 等文档的人。它涵盖外部 URL 和本地路径检查,并要求汇总链接状态及处理结果。

主要功能

  1. 01提取文档中的各类链接
  2. 02检查外部 URL 状态
  3. 03验证本地相对路径
  4. 04查找失效链接的新地址
  5. 05汇总状态与修复操作

适用场景

  1. 01检查 Markdown 文档中的链接
  2. 02验证 HTML 页面资源地址
  3. 03排查文档引用的本地文件缺失
  4. 04整理链接修复记录

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/revitalb-port/skills-registry-demo --skill fixing-broken-links

安装后在 Claude Code 中输入/fixing-broken-links确认已加载。

详细介绍

修复失效链接

扫描一个或多个文件中的 URL,测试每个链接,并修复失效链接。

工作流

1. 提取所有链接

读取目标文件并收集其中的所有 URL:

  • Markdown 链接:[text](url)
  • 纯文本 URL:https://...
  • HTML href 和 src 属性
  • 引用式链接定义:[id]: url
  • 本地相对路径:./path/to/file、resources/foo/SKILL.md
2. 测试每个链接

对于外部 URL:

  • 使用 curl -sL -o /dev/null -w "%{http_code}" --max-time 10 "<url>" 获取 HTTP 状态码
  • 并行运行多个 curl 命令,或快速依次执行,以批量检查互不依赖的链接,提高速度
  • 对结果分类:
    • 200–299 → 正常
    • 301/302 → 正常,但需记录重定向目标
    • 403 → 可能有效(有些网站会拦截 curl);尝试添加浏览器 user-agent 请求头
    • 404 → 失效
    • 429 → 请求过于频繁;短暂等待后重试一次
    • 000 或超时 → 重试一次;若仍失败,则标记为无法访问

对于本地文件路径:

  • 使用 [ -f "path" ] 检查文件是否存在
  • 如果是相对路径,则从文件所在目录解析
3. 修复失效链接

对于每个失效链接:

  1. 在网上搜索正确的当前 URL(资源可能已迁移)
  2. 如果找到,则将旧 URL 替换为新 URL
  3. 如果资源已不存在,则注明这一情况,并选择以下一种处理方式:
    • 移除链接并保留文本
    • 添加注释说明
    • 替换为存档版本(web.archive.org)
4. 报告

生成汇总表:

| URL | Status | Action |
|-----|--------|--------|
| https://example.com/page | 200 | OK |
| https://old.example.com/moved | 404 → 301 | Updated to https://new.example.com/page |
| ./docs/missing.md | MISSING | Removed link |

提示

  • 对于包含大量链接的大型文件,批量调用 curl,避免速度变慢
  • 有些网站(GitHub、npm)会严格限制请求频率,应适当间隔请求
  • 修改后务必重新读取文件,确认替换没有破坏格式
  • 对于 Markdown 文件,检查链接语法是否保持原样:[text](url),而非 [text]( url )(不要添加额外空格)

评论

支持 Markdown