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.