umbraco-skill-validator

v2026.09.25

Validate links and references in SKILL.md files using deterministic scripts

GitHub
Install command
npx skhub add umbraco/umbraco-skill-validator
Markdown
SKILL.md

Skill Content Validator

Validates all SKILL.md files in the repository for broken links, missing references, and invalid paths.

What This Skill Does

  1. Runs deterministic validation script - Fast, consistent checking of all links
  2. Generates structured report - JSON output with all issues found
  3. Spawns fixer subagent - AI-powered fix suggestions for issues
  4. Presents fix plan - Diff-style changes for approval
  5. Executes approved fixes - Only applies changes user approves

Validation Checks

Check TypeDescription
External URLsHTTP HEAD request to verify accessibility
Skill referencesVerify referenced skills exist (e.g., umbraco-dashboard)
Internal linksCheck relative paths resolve (e.g., patterns/foo.md)
File pathsVerify Umbraco-CMS paths via GitHub API if not local
Import pathsCheck @umbraco-cms/backoffice/* imports are valid

Running the Validator

Via Slash Command

/validate-skills

Via Script Directly (CI/CD)

cd .claude/skills/umbraco-skill-validator/scripts
npm install
npm run validate

Report Format

The script outputs JSON that gets formatted as:

# 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: |

Fix Plan Format

When issues are found, the fixer subagent generates:

# 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: ...

Link Patterns Detected

External URLs

https://docs.umbraco.com/...
https://github.com/umbraco/...

Skill References

`umbraco-dashboard`
`umbraco-workspace`

Internal Pattern Links

[Pattern Name](patterns/pattern-name.md)
[Example](examples/example-name/)

File Paths

/Umbraco-CMS/src/Umbraco.Web.UI.Client/...
src/packages/core/...

Import Paths (in code blocks)

import { ... } from '@umbraco-cms/backoffice/notification';

Workflow Instructions

When this skill is invoked:

  1. Run the validation script

    cd .claude/skills/umbraco-skill-validator/scripts
    npx tsx validate-links.ts
    
  2. Read the JSON output from stdout or validation-report.json

  3. Format as markdown report using the template above

  4. If issues found, spawn the skill-content-fixer agent:

    • Pass the JSON report as context
    • Request fix suggestions with diffs
  5. Present fix plan to user with AskUserQuestion

  6. Execute only approved fixes using Edit tool

Edge Cases

  • Rate limiting: Script batches URL checks with 100ms delays
  • Redirects: Reported as warnings with new URL suggestion
  • Missing Umbraco-CMS: Falls back to GitHub API
  • Timeouts: 5 second timeout per URL request
  • Large repos: Processes files in batches of 10
Discovery
Tags

No tags published for this skill.

Version
Latest version metadata

Version

v2026.09.25

Published

Sep 25, 2026

Category

Uncategorized

License

Not specified

Source path

.claude/skills/umbraco-skill-validator

Default branch

main

Latest commit

78b551b

Tree SHA

09faac3