Claude-skill-registry link-validation
Universal link validation using lychee for Claude Code sessions. Runs at session end to detect broken links and path policy violations.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/link-validation" ~/.claude/skills/majiayu000-claude-skill-registry-link-validation && rm -rf "$T"
manifest:
skills/data/link-validation/SKILL.mdsource content
Link Validation Skill
Validates markdown links in your workspace using lychee.
What It Does
At session end (Stop hook), this skill:
- Discovers all markdown files in your workspace
- Runs lychee to check for broken links
- Lints paths for policy violations (absolute paths, excessive traversal)
- Outputs JSON results for programmatic consumption
Requirements
- lychee installed (
)brew install lychee - Python 3.11+ and uv
Output
Results are written to
.link-check-results.md in your workspace:
# Link Check Results **Correlation ID**: `01JEGQXV8KHTNF3YD8G7ZC9XYK` ## Lychee Link Validation No broken links found. ## Path Policy Violations No path violations found.
Path Policy Rules
| Rule | Severity | Description |
|---|---|---|
| NO_ABSOLUTE_PATHS | Error | Filesystem absolute paths not allowed |
| NO_PARENT_ESCAPES | Warning | Excessive may escape repository |
| MARKETPLACE_RELATIVE | Warning | Plugins should use relative paths |
Configuration
Override the default lychee config by placing
.lycheerc.toml in your workspace root.
See config/lychee.toml for the default configuration.