mcpField
U
umbraco-skill-validator

umbraco-skill-validator

github.com/umbraco测试与质量27378 次安装6 周前更新
代码仓库

关于 umbraco-skill-validator

用于检查仓库中 SKILL.md 文件的技能,可发现失效链接、缺失的技能引用及无效路径或导入。它结合确定性验证与 AI 修复流程,先提出修改方案,获批后再应用。

主要功能

  1. 01检查外部 URL 与内部链接
  2. 02验证技能引用和文件路径
  3. 03校验 Umbraco 与导入路径
  4. 04生成结构化 JSON 报告
  5. 05提供待审批的修复建议

适用场景

  1. 01发布前检查技能文件
  2. 02在 CI/CD 中运行链接验证
  3. 03编辑前审阅修复建议

安装

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

$npx skills add https://github.com/umbraco/umbraco-cms-backoffice-skills --skill umbraco-skill-validator

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

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

scripts/
.gitignore
package-lock.json
package.json
validate-links.ts

详细介绍

技能内容验证器

验证仓库中的所有 SKILL.md 文件,检查失效链接、缺失引用和无效路径。

此技能的功能

  1. 运行确定性验证脚本 - 快速、一致地检查所有链接
  2. 生成结构化报告 - 以 JSON 格式输出发现的所有问题
  3. 启动修复子 Agent - 使用 AI 为问题提供修复建议
  4. 呈现修复计划 - 以 diff 样式展示更改,供用户批准
  5. 执行已批准的修复 - 仅应用用户批准的更改

验证检查项

检查类型说明
外部 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';

工作流说明

调用此技能时:

  1. 运行验证脚本

    cd .claude/skills/umbraco-skill-validator/scripts
    npx tsx validate-links.ts
    
  2. 读取 JSON 输出,内容来自标准输出或 validation-report.json

  3. 使用上面的模板将其格式化为 Markdown 报告

  4. 如果发现问题,启动 skill-content-fixer Agent:

    • 将 JSON 报告作为上下文传入
    • 请求提供带 diff 的修复建议
  5. 使用 AskUserQuestion 向用户呈现修复计划

  6. 仅使用 Edit 工具执行已批准的修复

边界情况

  • 速率限制:脚本以 100ms 的间隔批量检查 URL
  • 重定向:作为警告报告,并提供新 URL 建议
  • 缺少 Umbraco-CMS:改用 GitHub API
  • 超时:每个 URL 请求的超时时间为 5 秒
  • 大型仓库:每批处理 10 个文件

评论

支持 Markdown