tests-local-test-local-site-links
SKILL.md
Check Local Site Links
Check all links and anchors on the LOCAL development server (http://localhost:4000) using lychee link checker.
Prerequisites
-
lychee must be installed:
brew install lychee -
LOCAL Jekyll server must be running:
bundle exec jekyll serveThe server should be accessible at http://localhost:4000
URLs to check
Main pages (index)
- http://localhost:4000/ (English)
- http://localhost:4000/ru/ (Russian)
- http://localhost:4000/ua/ (Ukrainian)
- http://localhost:4000/es/ (Spanish)
Instructions
-
Check if lychee is installed:
which lychee || echo "lychee not found - install with: brew install lychee" -
Check if LOCAL server is running:
curl -s -o /dev/null -w "%{http_code}" http://localhost:4000/ || echo "LOCAL server not running - start with: bundle exec jekyll serve" -
Run lychee for each page with anchor fragment checking enabled:
lychee --include-fragments --exclude "ec.europa.eu/taxation_customs/vies" --exclude "bit.ly" "URL" 2>&1The
--excludeflags skip:- EU VIES VAT validation page (uses JavaScript routing - false positive)
- bit.ly links (tested separately in
/tests-prod-test-bitly-linksto avoid inflating Bitly analytics)
-
Run all 4 checks in parallel using the Task tool for efficiency, or run sequentially:
# Example for one page: lychee --include-fragments --exclude "ec.europa.eu/taxation_customs/vies" --exclude "bit.ly" "http://localhost:4000/ru/" 2>&1 -
Parse the output for each page:
- Total links checked
- OK links (β )
- Errors (β) - broken links or missing anchors
- Excluded (π») - mailto links, etc.
- Redirects (π)
Known Exclusions
Some links may show errors but are false positives:
- JavaScript-based anchors (e.g.,
https://ec.europa.eu/taxation_customs/vies/#/vat-validation) - these use client-side routing and cannot be validated by lychee - Rate-limited sites - some external sites may temporarily block requests
Output Format
Summary Table
## LOCAL Site Link Check Results
| Page | Total | OK | Redirects | Excluded | Errors | Status |
|------|-------|-----|-----------|----------|--------|--------|
| EN Index (/) | 150 | 138 | 10 | 2 | 0 | β
|
| RU Index (/ru/) | 171 | 158 | 10 | 3 | 0 | β
|
| UA Index (/ua/) | 165 | 152 | 10 | 3 | 0 | β
|
| ES Index (/es/) | 150 | 138 | 10 | 2 | 0 | β
|
Note: Total = OK + Redirects + Excluded + Errors
Errors Report (if any)
## β Errors Found
### RU Index (/ru/)
1. [ERROR] http://localhost:4000/ru/#broken-anchor | Cannot find fragment
2. [ERROR] https://broken-link.com | Network error
### Action Required
- Fix broken links listed above
- For anchor errors: verify the target section exists on the page
Final Status
End with a clear summary:
## Final Status
β
**ALL LOCAL LINKS VALID** - All 4 pages passed (X total links, Y anchors verified)
OR
## Final Status
β **LOCAL ISSUES FOUND** - X broken link(s) across Y page(s)
Action required: Fix the errors listed above before deploying.
Important Notes
--include-fragmentsenables anchor/fragment checking (critical for internal navigation)- lychee downloads full HTML to verify anchors exist on pages
- Exit code 0 = all OK, exit code 2 = errors found
- Some JavaScript-rendered anchors cannot be validated (known limitation)
- External sites may rate-limit or block requests - retry if needed
- LOCAL server must be running at http://localhost:4000 before running this check
- Important: Use
localhost(not127.0.0.1) to match Jekyll's generated URLs and get accurate link counts - Use this to validate changes BEFORE deploying to PROD
Weekly Installs
1
Repository
v112263/it-autoβ¦os-spainGitHub Stars
223
First Seen
Mar 3, 2026
Security Audits
Installed on
amp1
cline1
opencode1
cursor1
continue1
kimi-cli1