SuperAPI AI 工具集

fixing-broken-links

通用与其它

查看项目

更新于 10-16 02:05

技能介绍

Fixing Broken Links 是一个用于检查并修复文件或项目中失效链接的技能。

用途

扫描一个文件或一组文件中的 URL,测试每个链接是否有效,并修复其中失效的链接。

主要能力

  1. 提取所有链接:读取目标文件,收集 Markdown 链接 text、裸 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 状态码,并可批量并行检查以提速。结果分类为:200–299 表示正常;301/302 表示正常但需记录重定向目标;403 可能有效(部分站点会拦截 curl),可尝试带浏览器 user-agent 请求头;404 表示失效;429 表示被限流,短暂停顿后重试一次;000 或超时则重试一次,仍失败则标记为不可达。对本地文件路径,使用 [ -f "path" ] 检查文件是否存在,相对路径从文件所在目录解析。

  3. 修复失效链接:对每个失效链接,先在网上搜索正确或当前的 URL(资源可能已迁移);若找到则替换旧 URL;若资源已不存在,则记录并选择移除链接保留文本、注释掉并加说明,或替换为存档版本(web.archive.org)。

  4. 报告:生成汇总表,包含 URL、状态、操作三列,例如 https://example.com/page 状态 200 动作为 OK;https://old.example.com/moved 状态 404 → 301 动作为更新为 https://new.example.com/page;./docs/missing.md 状态 MISSING 动作为移除链接。

使用方式

按上述工作流依次执行:提取链接、测试链接、修复链接、输出报告。

适用场景

适用于维护文档、README、项目文件中的链接有效性,尤其适合链接较多、需要批量检查与修复的场景。

限制与提示

对含大量链接的大文件,应批量执行 curl 调用以避免变慢;部分站点(如 GitHub、npm)限流较严格,需间隔请求;修改后应重新读取文件,确认替换未破坏格式;对 Markdown 文件需验证链接语法保持为 text,而非 text(无多余空格)。