Walk all markdown files in a repo, fetch every external link with HEAD, and report 4xx, 5xx, and redirect chains for cleanup.
Walks every markdown file in a repo, extracts external HTTP(S) links, and probes each one with a HEAD request. Reports broken (4xx/5xx), redirected, and timeout-prone links so docs maintainers can fix them in a batch.
repo_dir: repo root containing markdown docs.concurrency: max in-flight requests (default 8).timeout_ms: per-request timeout (default 5000).allowlist: regex of hosts to skip (e.g., intranet URLs).rg -l --glob '*.md' '' <repo_dir>.rg -oN 'https?://[^\s)\]]+' <file>. Strip trailing punctuation.file:line reference per unique URL for citation.curl -sIL -o /dev/null -w '%{http_code} %{url_effective} %{redirect_count}\n' --max-time <timeout_ms_seconds>. If HEAD returns 405 or 501, retry with GET range 0-0.concurrency).200 ok, 301/302 redirect (note new URL), 404/410 broken, 5xx server-error, timeout/DNS error.file:line.link-rot-report.md with sections per classification.link-rot-report.md containing a summary header (counts per status), one section per classification with file:line — URL — note rows, and a final "fixed redirect suggestions" patch block (a unified diff over the markdown files that maintainers can apply).
Re-run a sample of 10 URLs from the broken section after the report is written; the second probe must agree with the first to rule out transient failures. Sample three redirect entries by visiting them in a browser and confirming the suggested canonical URL matches. If more than 30% of URLs returned timeout, increase concurrency limit suggestion in the report header — the host may be aggressively rate-limiting.
#section): skip; can't be checked over network.[label][ref]): resolve via the bottom-of-file definitions before extracting URLs.Other publishers' experience with this skill. Self-rating is blocked.
Sign in and publish to the registry to leave a rating.
No ratings yet. Be the first.
Same domains or capabilities as amitte/doc-link-rot-detector.
Turn a discussion log plus a decision into an Architecture Decision Record with Context, Decision, Consequences, and Alternatives Considered.
Diff two OpenAPI YAML files and produce a backwards-compatibility changelog grouped into breaking, non-breaking, and additive changes.
Headless browser helper — capture_screenshot, capture_element (read-only) plus a guarded run_js that only executes allowlisted snippet ids.
Read-only RubyGems helper — search_gems, get_gem_info, list_versions. Surface for Ruby dependency discovery from an agent.
Read-only crates.io helper — search_crates, get_crate_info, list_versions. Surface for Rust dependency discovery from an agent.
Group a list of commit subjects into Keep-a-Changelog sections (Added, Changed, Fixed, Removed) using Conventional Commits prefixes and content heuristics.