link-rot

Checks external links in the built site and fixes dead ones on a local branch.

1|Updated Feb 14, 2026
One-click install
npx skills add https://github.com/robritacca-dotcom/design-system --skill link-rot-robritacca-dotcom
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: link-rot
Source: https://github.com/robritacca-dotcom/design-system/tree/main/.claude/skills/link-rot
Command: npx skills add https://github.com/robritacca-dotcom/design-system --skill link-rot-robritacca-dotcom

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? External links on a published site rot silently over time as profiles move, articles get deleted, and products shut down, and the build process can only guard internal links. This Skill runs a monthly loop that finds and fixes that decay before visitors hit dead ends. ## Core Features & Use Cases - Automated probing: Builds the site and runs scripts/check-external-links.mjs to extract and probe every external href in the prerendered HTML, with HEAD-then-GET fallback and a KNOWN_BLOCKERS list for bot-blocking hosts. - Manual verification: Every probe failure is retried with curl and a browser user agent, then loaded in a real browser, because bot-blockers fake failures and only confirmed-dead links get touched. - Safe fixing on a branch: Real rot is fixed on a local links/YYYY-MM-DD branch in a temporary worktree, never pushed or merged, with judgment-call replacements reported as proposals for approval. - Use Case: Run the monthly loop on a portfolio site to discover a deleted article referenced in a case study, verify it is truly gone, and hand off a branch with the href updated for review. ## Quick Start Ask the AI to run the link rot loop and check the external links on the site.

Frequently Asked Questions about link-rot

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I check for broken external links on my website?▼

Build the site, then run a script that extracts every external href from the prerendered HTML and probes each one with a HEAD-then-GET fallback. Verify any reported failures manually in a real browser before treating them as dead, since many hosts block scripted requests.

Why do link checkers report false positives on working links?▼

Many hosts answer scripts with 403, 429, or 999 status codes while serving real browsers fine, so a probe failure is only a lead. Retry with curl and a browser user agent, then load the URL in an actual browser before calling a link dead.

Can a build process catch broken external links automatically?▼

A build can validate internal links and make broken internal hrefs impossible, but it offers no guarantee for external URLs. External rot requires a separate scheduled loop that probes outbound links and verifies failures by hand.

What should I do when a dead link has no obvious replacement?▼

Only swap an href for a clear new home or remove the dead anchor with minimal wording changes. When the replacement requires a judgment call, such as choosing which article now makes the point, record it as a proposal for human approval instead of guessing.

How do I handle sites that block automated link checkers?▼

Maintain a known-blockers list of hosts that reject scripted requests on principle, with a written reason for each entry. Spot-check those links manually on every run, since the script never probes them and the manual pass is their only coverage.