New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

Scans a website to find broken links

Broken link checker

by nowork-studio · MIT license · ★ 3,853 on GitHub · updated Sep 24

Broken link checker cover

Scans a website to find broken links (404s, 500s). Crawls internal pages, identifies broken outbound links, and reports source pages for easy fixing.

---
name: broken-link-checker
argument-hint: "<URL to check, e.g. https://example.com>"
description: >
  Scans a website to find broken links (404s, 500s). Crawls internal pages,
  identifies broken outbound links, and reports source pages for easy fixing.
  Use this when the user asks to "check for broken links", "find 404s",
  "audit my links", or "is my site healthy".
---

# Broken Link Checker

You are a technical SEO specialist focused on website health and crawlability.
Broken links hurt user experience and waste "crawl budget" from search engines.

Your goal is to identify broken links and provide a clear path to fixing them.

---

Overview

You are a technical SEO specialist focused on website health and crawlability. Broken links hurt user experience and waste "crawl budget" from search engines.

Manual install (npx, ZIP)
Claude Codenpx skills add nowork-studio/notfair-plugin --skill broken-link-checker -g -a claude-code
Claude Code (manual)mkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/nowork-studio/notfair-plugin/tar.gz/5229d2163795 \ | tar -xz -C ~/.claude/skills --strip-components=2 notfair-plugin-5229d2163795/seo/broken-link-checker
Windows (PowerShell)New-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/ab0d3c2f5402ddf26a02/broken-link-checker.zip" -OutFile "$env:TEMP\broken-link-checker.zip"; Expand-Archive "$env:TEMP\broken-link-checker.zip" -DestinationPath "$HOME\.claude\skills" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md2.0 KB
  • evals/1 file · 737 B
  • scripts/1 file · 6.4 KB
Read the files here
nowork-studio/5229d213 files
SKILL.md
Show the full text59 lines

You are a technical SEO specialist focused on website health and crawlability. Broken links hurt user experience and waste "crawl budget" from search engines.

Your goal is to identify broken links and provide a clear path to fixing them.


Step 1 — Identify the Target URL

If the user didn't provide a URL, ask:

"Which website should I check for broken links?"

Once you have the URL, store it as $TARGET_URL.


Step 2 — Run the Scan

Run the broken link checker script:

python3 seo/broken-link-checker/scripts/checker.py --url "$TARGET_URL" --max-pages 50

Note: You can adjust --max-pages if the user wants a deeper scan.


Step 3 — Analyze and Report

The script will output a JSON report. Analyze the broken_links array:

  1. Group by Status: Group 404s (Not Found) vs 5xx (Server Errors).
  2. Identify Internal vs External: Note if the broken link is on the same domain or an external site.
  3. Map to Source: For each broken link, identify which page(s) it was found on (source field).
How to report to the user:
  • Summary: "I scanned X pages and found Y broken links."
  • High Priority: List broken internal links first (these are entirely under the user's control).
  • Secondary: List broken external links.
  • Actionable Fixes:
    • For internal 404s: "Update the link on [Source Page] to point to the correct URL, or set up a 301 redirect."
    • For external 404s: "The external site at [Target URL] is down or moved. Update or remove the link on [Source Page]."

If no broken links are found, congratulate the user on a healthy site!

1---
2name: broken-link-checker
3argument-hint: "<URL to check, e.g. https://example.com>"
4description: >
5 Scans a website to find broken links (404s, 500s). Crawls internal pages,
6 identifies broken outbound links, and reports source pages for easy fixing.
7 Use this when the user asks to "check for broken links", "find 404s",
8 "audit my links", or "is my site healthy".
9---
10 
11# Broken Link Checker
12 
13You are a technical SEO specialist focused on website health and crawlability.
14Broken links hurt user experience and waste "crawl budget" from search engines.
15 
16Your goal is to identify broken links and provide a clear path to fixing them.
17 
18---
19 
20## Step 1 — Identify the Target URL
21 
22If the user didn't provide a URL, ask:
23> "Which website should I check for broken links?"
24 
25Once you have the URL, store it as `$TARGET_URL`.
26 
27---
28 
29## Step 2 — Run the Scan
30 
31Run the broken link checker script:
32 
33```bash
34python3 seo/broken-link-checker/scripts/checker.py --url "$TARGET_URL" --max-pages 50
35```
36 
37*Note: You can adjust `--max-pages` if the user wants a deeper scan.*
38 
39---
40 
41## Step 3 — Analyze and Report
42 
43The script will output a JSON report. Analyze the `broken_links` array:
44 
451. **Group by Status**: Group 404s (Not Found) vs 5xx (Server Errors).
462. **Identify Internal vs External**: Note if the broken link is on the same domain or an external site.
473. **Map to Source**: For each broken link, identify which page(s) it was found on (`source` field).
48 
49### How to report to the user:
50 
51- **Summary**: "I scanned X pages and found Y broken links."
52- **High Priority**: List broken internal links first (these are entirely under the user's control).
53- **Secondary**: List broken external links.
54- **Actionable Fixes**:
55 - For internal 404s: "Update the link on [Source Page] to point to the correct URL, or set up a 301 redirect."
56 - For external 404s: "The external site at [Target URL] is down or moved. Update or remove the link on [Source Page]."
57 
58If no broken links are found, congratulate the user on a healthy site!
59 
View all files on GitHub →

Details

Updated
Sep 24, 2026
License
MIT
Stars on the repo
★ 3,853
Checked
Source
nowork-studio/notfair-plugin ↗
Creator
nowork-studio · 61 listings
View creator

Similar skills

See all →
SkillReverse engineer native, managed, Electron/JavaScriptREAmorluto/rea · by morlutoReverse engineer native, managed, Electron/JavaScript, packaged, firmware, and browser targets with REA. Use shipped-artifact or requested runtime evidence to explain features, compare versions, decompile code, or guide a reconstruction. Skip REA for ordinary source-repository architecture analysis.★ 316k GitHub starsSkillBrainstorms ideas into designs before any creative workBrainstorming Ideas Into Designsobra/superpowers · by obraYou MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.★ 290k GitHub starsSkillRequires technical rigor and verificationCode Review Receptionobra/superpowers · by obraUse when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires technical rigor and verification, not performative agreement or blind implementation★ 290k GitHub starsSkillDiagnosis loop for hard bugs and performance regressionsDiagnosing bugsmattpocock/skills · by mattpocockDiagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.★ 267k GitHub starsSkillImplement the result of /to-spec and /to-tickets in codeImplement specmattpocock/skills · by mattpocockImplement the result of /to-spec and /to-tickets in code.★ 267k GitHub starsSkillWriting a PR bodymattpocock/skills · by mattpocockUse when writing a PR body.★ 267k GitHub stars

More from nowork-studio

SkillConnect a CMS to notfair SEO tools/setup-cmsnowork-studio/notfair-plugin · by nowork-studioConnect a CMS to notfair SEO tools. Guides users through configuring WordPress, Strapi, Contentful, or Ghost — tests the connection, and writes credentials to .env.local. Once set up, seo-analysis automatically cross- references CMS content against Google Search Console data. Use whenever the user says "connect my CMS", "set up WordPress", "configure Strapi", "add Contentful", "connect Ghost", or "CMS setup". Also trigger if the user asks why no CMS data appears in a seo-analysis report.★ 3.9k GitHub starsSkillGenerate and A/B test Google Ads copyAd Copy Generator + A/B Testernowork-studio/notfair-plugin · by nowork-studioGenerate and A/B test Google Ads copy. Use when asked to write ad copy, headlines, descriptions, create ad variants, test ad messaging, improve CTR, or generate RSA (Responsive Search Ad) components. Trigger on "ad copy", "write ads", "headlines", "descriptions", "RSA", "responsive search ad", "ad text", "ad creative", "improve CTR", "ad A/B test", "ad variants", "write me an ad", "ad variation experiment", or when the user wants to improve click-through rate on existing ads.★ 3.9k GitHub starsSkillPlan and review Amazon Ads with margin-aware ACoS, productAmazon Ads Planningnowork-studio/notfair-plugin · by nowork-studioPlan and review Amazon Ads with margin-aware ACoS, product, and search-term guardrails. Use for Amazon advertising, Sponsored Products, Sponsored Brands, Sponsored Display, ASIN targeting, Amazon ACoS, or Amazon Ads performance exports.★ 3.9k GitHub starsSkillBacklink / Off-Page SEO Auditnowork-studio/notfair-plugin · by nowork-studioBacklink / off-page SEO audit. Works WITHOUT a paid tool by default — it uses the Google Search Console Links report (your top linking sites, most-linked pages, and anchor text) plus any backlink export the user provides (Ahrefs / Semrush / Majestic / DataForSEO CSV). Analyzes referring-domain profile, anchor-text distribution (over-optimized / spammy patterns), most-linked pages vs. money pages (internal-linking opportunity), toxic/spam link signals, and link-building priorities. Use this skill when the user asks about backlinks, link building, off-page SEO, referring domains, anchor text, toxic/spam links, disavow, or their link profile. Trigger on: "backlinks", "backlink audit", "link building", "off- page SEO", "referring domains", "anchor text", "toxic links", "spam links", disavow file", "who links to me", "link profile", "domain authority". NOTE: rich third-party metrics (DR/DA, full link index) require a paid data source; this skill is explicit about what it can and can't see without one.★ 3.9k GitHub starsSkillPlan and review ChatGPT Ads experiments without assuming adChatGPT Ads Planningnowork-studio/notfair-plugin · by nowork-studioPlan and review ChatGPT Ads experiments without assuming ad inventory, account access, or platform capabilities. Use for ChatGPT advertising, OpenAI ads, conversational ad concepts, ChatGPT campaign plans, or performance reviews from a verified export.★ 3.9k GitHub starsSkillCompetitor Page Gap Analysisnowork-studio/notfair-plugin · by nowork-studioCompetitor page gap analysis — take a query you want to win and the pages currently outranking you, and produce a concrete brief on what to add or change to compete. Compares content depth and coverage (subtopics they cover that you don't), structure (headings, format, tables, media), search-intent match, E-E-A-T signals, schema/rich-result eligibility, internal linking, and on-page optimization — across your page vs. the top-ranking competitors. Use this skill whenever the user wants to know why a competitor outranks them on a specific query, what a top-ranking page does better, a content-gap analysis against specific competitor URLs, or a brief to beat a specific SERP. Trigger on: why does competitor X outrank me", "content gap analysis", "competitor page analysis", "what does the top result have that I don't", "how do I beat this page", "analyze competitor pages", "SERP gap", "compete for [keyword]". For seed keyword discovery use /keyword-research; for a content calendar use /content-planner.★ 3.9k GitHub stars