smithery/umbraco

umbraco-skill-validator

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

Installation

$ npx skills add smithery/umbraco --skill umbraco-skill-validator

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery/umbraco · top by installs.

npx skills add smithery/umbraco

Browse all from smithery/umbraco

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Skill metadata

Parsed from SKILL.md frontmatter.

Allowed toolsBash, Read, Glob, Task, AskUserQuestion, Edit
Declared agents claude-code

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,706 B
  • docs SUMMARY.md 106 B

History

  1. First recorded snapshot · 0 installs

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 Type Description
External URLs HTTP HEAD request to verify accessibility
Skill references Verify referenced skills exist (e.g., umbraco-dashboard)
Internal links Check relative paths resolve (e.g., patterns/foo.md)
File paths Verify Umbraco-CMS paths via GitHub API if not local
Import paths Check @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

``bash cd .claude/skills/umbraco-skill-validator/scripts npx tsx validate-links.ts ``

  1. Read the JSON output from stdout or validation-report.json
  1. Format as markdown report using the template above
  1. If issues found, spawn the skill-content-fixer agent:

- Pass the JSON report as context - Request fix suggestions with diffs

  1. Present fix plan to user with AskUserQuestion
  1. 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