关于 umbraco-skill-validator
用于检查仓库中 SKILL.md 文件的技能,可发现失效链接、缺失的技能引用及无效路径或导入。它结合确定性验证与 AI 修复流程,先提出修改方案,获批后再应用。
主要功能
- 01检查外部 URL 与内部链接
- 02验证技能引用和文件路径
- 03校验 Umbraco 与导入路径
- 04生成结构化 JSON 报告
- 05提供待审批的修复建议
适用场景
- 01发布前检查技能文件
- 02在 CI/CD 中运行链接验证
- 03编辑前审阅修复建议
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ umbraco/ umbraco-cms-backoffice-skills --skill umbraco-skill-validator安装后在 Claude Code 中输入/umbraco-skill-validator确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
scripts/.gitignorepackage-lock.jsonpackage.jsonvalidate-links.ts详细介绍
技能内容验证器
验证仓库中的所有 SKILL.md 文件,检查失效链接、缺失引用和无效路径。
此技能的功能
- 运行确定性验证脚本 - 快速、一致地检查所有链接
- 生成结构化报告 - 以 JSON 格式输出发现的所有问题
- 启动修复子 Agent - 使用 AI 为问题提供修复建议
- 呈现修复计划 - 以 diff 样式展示更改,供用户批准
- 执行已批准的修复 - 仅应用用户批准的更改
验证检查项
| 检查类型 | 说明 |
|---|---|
| 外部 URL | 发送 HTTP HEAD 请求,验证链接是否可访问 |
| 技能引用 | 验证引用的技能是否存在(例如,umbraco-dashboard) |
| 内部链接 | 检查相对路径是否有效(例如,patterns/foo.md) |
| 文件路径 | 如果本地不存在,则通过 GitHub API 验证 Umbraco-CMS 路径 |
| 导入路径 | 检查 @umbraco-cms/backoffice/* 导入是否有效 |
运行验证器
通过斜杠命令
/validate-skills
直接通过脚本运行(CI/CD)
cd .claude/skills/umbraco-skill-validator/scripts
npm install
npm run validate
报告格式
脚本输出的 JSON 将格式化为:
# Skill Validation Report
## Summary
- Skills scanned: 25
- Issues found: 3
- Auto-fixable: 2
## Issues by Skill
### `umbraco-dashboard`
| Line | Type | Issue | Status |
|------|------|-------|--------|
| 45 | Broken URL | [example-broken-url] returns 404 | :x: |
### `umbraco-tree`
| Line | Type | Issue | Status |
|------|------|-------|--------|
| 72 | Missing skill | [example-missing-skill] not found | :x: |
修复计划格式
发现问题时,修复子 Agent 会生成:
# Fix Plan
## Fix 1: Update broken URL
**File:** plugins/.../umbraco-dashboard/SKILL.md
**Line:** 45
**Action:** Replace with current documentation URL
- [Dashboard docs][old-url]
+ [Dashboard docs][new-url]
## Approval
- [ ] Fix 1: Update broken URL
- [ ] Fix 2: ...
检测到的链接模式
外部 URL
https://docs.umbraco.com/...
https://github.com/umbraco/...
技能引用
`umbraco-dashboard`
`umbraco-workspace`
内部模式链接
[Pattern Name](patterns/pattern-name.md)
[Example](examples/example-name/)
文件路径
/Umbraco-CMS/src/Umbraco.Web.UI.Client/...
src/packages/core/...
导入路径(在代码块中)
import { ... } from '@umbraco-cms/backoffice/notification';
工作流说明
调用此技能时:
-
运行验证脚本
cd .claude/skills/umbraco-skill-validator/scripts npx tsx validate-links.ts -
读取 JSON 输出,内容来自标准输出或
validation-report.json -
使用上面的模板将其格式化为 Markdown 报告
-
如果发现问题,启动
skill-content-fixerAgent:- 将 JSON 报告作为上下文传入
- 请求提供带 diff 的修复建议
-
使用 AskUserQuestion 向用户呈现修复计划
-
仅使用 Edit 工具执行已批准的修复
边界情况
- 速率限制:脚本以 100ms 的间隔批量检查 URL
- 重定向:作为警告报告,并提供新 URL 建议
- 缺少 Umbraco-CMS:改用 GitHub API
- 超时:每个 URL 请求的超时时间为 5 秒
- 大型仓库:每批处理 10 个文件
评论
支持 Markdown