关于 link-validator
link-validator 是用于检查 Claude Code 技能中 Markdown 链接可移植性的技能,重点识别安装到其他位置后会失效的仓库绝对路径。它提供单个技能或插件的验证流程及违规修复指引。
主要功能
- 01检查 Markdown 链接路径
- 02标记仓库绝对路径
- 03允许相对路径、网址和锚点
- 04支持技能及插件目录验证
- 05提供违规修复与复查流程
适用场景
- 01发布技能或插件前检查链接
- 02新增 Markdown 链接后进行验证
- 03排查 CI 中的链接检查失败
- 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
更改后检查清单
修改此技能后:
- 脚本与最新模式保持同步
- 添加新模式时更新参考文档
- 使用存在违规项的实际技能进行测试
快速开始
# 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,了解详细的修复策略 |
执行后反思
此技能执行完毕后,在结束前检查:
- 命令是否成功? — 如果没有,请修复导致失败的说明或错误表格。
- 参数或输出是否发生变化? — 如果底层工具的接口有所变化,请更新用法示例和参数表,使其保持一致。
- 是否需要变通方法? — 如果你需要临时调整(使用不同的标志、增加步骤),请更新此 SKILL.md,以便下次调用时无需重复采用相同的变通方法。
仅在问题真实且可复现时更新,不要基于猜测进行更新。
评论
支持 Markdown