mcpField
L
link-validator

link-validator

github.com/terrylica测试与质量2126 次安装1 天前更新
代码仓库

关于 link-validator

link-validator 是用于检查 Claude Code 技能中 Markdown 链接可移植性的技能,重点识别安装到其他位置后会失效的仓库绝对路径。它提供单个技能或插件的验证流程及违规修复指引。

主要功能

  1. 01检查 Markdown 链接路径
  2. 02标记仓库绝对路径
  3. 03允许相对路径、网址和锚点
  4. 04支持技能及插件目录验证
  5. 05提供违规修复与复查流程

适用场景

  1. 01发布技能或插件前检查链接
  2. 02新增 Markdown 链接后进行验证
  3. 03排查 CI 中的链接检查失败
  4. 04审计现有技能的路径可移植性

安装

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

$npx skills add https://github.com/terrylica/cc-skills --skill link-validator

安装后在 Claude Code 中输入/link-validator确认已加载。

附带文件references/evolution-log.mdreferences/link-patterns.md

详细介绍

链接验证器

验证 Claude Code 技能中的 Markdown 链接,确保它们在不同安装位置均可正常使用。

自我进化技能:此技能会在使用过程中不断改进。如果说明有误、参数发生变化或需要采用变通方法,请立即修复此文件,不要拖延。仅针对真实且可复现的问题进行更新。

问题

使用仓库绝对路径的技能在安装到其他位置时会失效:

路径类型示例安装后是否可用
仓库绝对路径/skills/foo/SKILL.md否 - 路径不存在
相对路径./references/guide.md是 - 始终可以解析
父级相对路径../sibling/SKILL.md是 - 始终可以解析

何时使用此技能

  • 分发技能或插件之前
  • 在技能中创建新的 Markdown 链接之后
  • CI 报告链接验证失败时
  • 审查现有技能的可移植性问题时

TodoWrite 任务模板

模板 A:验证单个技能
1. Identify skill path to validate
2. Run: uv run scripts/validate_links.py <skill-path>
3. Review violation report (if any)
4. For each violation, apply suggested fix
5. Re-run validator to confirm all fixed
模板 B:验证插件(多个技能)
1. Identify plugin root directory
2. Run: uv run scripts/validate_links.py <plugin-path>
3. Review grouped violations by skill
4. Fix violations skill-by-skill
5. Re-validate entire plugin
模板 C:修复违规项
1. Read violation report output
2. Locate file and line number
3. Review suggested relative path
4. Apply fix using Edit tool
5. Re-run validator on file

更改后检查清单

修改此技能后:

  1. 脚本与最新模式保持同步
  2. 添加新模式时更新参考文档
  3. 使用存在违规项的实际技能进行测试

快速开始

# Validate a single skill
uv run scripts/validate_links.py ~/.claude/skills/my-skill/

# Validate a plugin with multiple skills
uv run scripts/validate_links.py ~/.claude/plugins/my-plugin/

# Dry-run in current directory
uv run scripts/validate_links.py .

退出代码

代码含义
0所有链接均有效(相对路径)
1发现违规项(仓库绝对路径)
2错误(路径无效,没有 Markdown 文件)

检查内容

标记为违规项:

  • /skills/foo/SKILL.md - 仓库绝对路径
  • /docs/guide.md - 仓库绝对路径

允许(通过):

  • ./references/guide.md - 同一目录中的相对路径
  • ../sibling/SKILL.md - 父级相对路径
  • https://example.com - 外部 URL
  • #section - 锚点链接

参考文档


故障排除

问题原因解决方案
找不到脚本路径或插件未安装使用 claude plugin list 确认插件已安装
退出代码为 2路径无效或没有 .md 文件检查目标路径是否存在且包含 Markdown 文件
URL 被误报正则表达式匹配到了外部链接应忽略以 http 开头的 URL
锚点链接被标记脚本将 # 视为路径锚点链接(#section)按设计允许
相对路径仍然失败相对方向错误同一目录使用 ./,父级目录使用 ../
本地验证通过CI 使用了不同的工作目录确保 CI 从正确的仓库根目录运行
违规项过多旧代码库逐步修复,优先处理影响较大的文件
无法确定如何修复路径结构复杂阅读 link-patterns.md,了解详细的修复策略

执行后反思

此技能执行完毕后,在结束前检查:

  1. 命令是否成功? — 如果没有,请修复导致失败的说明或错误表格。
  2. 参数或输出是否发生变化? — 如果底层工具的接口有所变化,请更新用法示例和参数表,使其保持一致。
  3. 是否需要变通方法? — 如果你需要临时调整(使用不同的标志、增加步骤),请更新此 SKILL.md,以便下次调用时无需重复采用相同的变通方法。

仅在问题真实且可复现时更新,不要基于猜测进行更新。

评论

支持 Markdown