Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
terrylica avatar

Link Validator

  • 119 installs
  • 62 repo stars
  • Updated August 3, 2026
  • terrylica/cc-skills

Use link-validator for development tasks

About

link-validator: A skill for development. This provides functionality for development workflows.

  • link-validator

Link Validator by the numbers

  • 119 all-time installs (skills.sh)
  • Ranked #2,847 of 4,347 Backend & APIs skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/terrylica/cc-skills --skill link-validator

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs119
repo stars62
Last updatedAugust 3, 2026
Repositoryterrylica/cc-skills

What it does

Use link-validator for development tasks

Files

SKILL.mdMarkdownGitHub ↗

Link Validator

Validates markdown links in Claude Code skills for portability across installation locations.

Self-Evolving Skill: This skill improves through use. If instructions are wrong, parameters drifted, or a workaround was needed — fix this file immediately, don't defer. Only update for real, reproducible issues.

The Problem

Skills with absolute repo paths break when installed elsewhere:

Path TypeExampleWorks When Installed?
Absolute repo/skills/foo/SKILL.mdNo - path doesn't exist
Relative./references/guide.mdYes - always resolves
Relative parent../sibling/SKILL.mdYes - always resolves

When to Use This Skill

  • Before distributing a skill/plugin
  • After creating new markdown links in skills
  • When CI reports link validation failures
  • To audit existing skills for portability issues

---

TodoWrite Task Templates

Template A: Validate Single Skill

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

Template B: Validate Plugin (Multiple Skills)

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

Template C: Fix Violations

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

---

Post-Change Checklist

After modifying this skill:

1. [ ] Script remains in sync with latest patterns 2. [ ] References updated if new patterns added 3. [ ] Tested on real skill with violations

---

Quick Start

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

Exit Codes

CodeMeaning
0All links valid (relative paths)
1Violations found (absolute repo paths)
2Error (invalid path, no markdown files)

What Gets Checked

Flagged as Violations:

  • /skills/foo/SKILL.md - Absolute repo path
  • /docs/guide.md - Absolute repo path

Allowed (Pass):

  • ./references/guide.md - Relative same directory
  • ../sibling/SKILL.md - Relative parent
  • https://example.com - External URL
  • #section - Anchor link

Reference Documentation

  • Link Patterns Reference - Detailed pattern explanations and fix strategies

---

Troubleshooting

IssueCauseSolution
Script not foundPath or plugin not installedVerify plugin installed with claude plugin list
Exit code 2Invalid path or no .md filesCheck target path exists and contains markdown
False positive on URLRegex matched external linkURLs starting with http should be ignored
Anchor link flaggedScript treating # as pathAnchor links (#section) are allowed by design
Relative path still failsWrong relative directionUse ./ for same dir, ../ for parent
Validation passes locallyCI uses different working dirEnsure CI runs from correct repo root
Too many violationsLegacy codebaseFix incrementally, prioritize high-impact files
Can't determine fixComplex path structureRead link-patterns.md for detailed fix strategies

Post-Execution Reflection

After this skill completes, check before closing:

1. Did the command succeed? — If not, fix the instruction or error table that caused the failure. 2. Did parameters or output change? — If the underlying tool's interface drifted, update Usage examples and Parameters table to match. 3. Was a workaround needed? — If you had to improvise (different flags, extra steps), update this SKILL.md so the next invocation doesn't need the same workaround.

Only update if the issue is real and reproducible — not speculative.

Related skills

Backend & APIsbackendintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.