Agent skill · Security

no-outlinks-audit

Runs a full dead-end page audit for any website. Discovers all blog/content pages, detects which ones have zero outgoing links to any URL on the same domain, fetches keywords, clusters pages by topic, and generates 3 outgoing link suggestions per dead-end page with anchor text, placement guidance, and ready-to-paste context copy. Outputs a styled HTML report matching report-style-reference.html. Automatically detects site framework (Next.js, static, WordPress) and uses the correct detection CMS sites. Trigger when a user provides a domain or URL and asks for a dead-end page audit, outgoing int

Infrasity-Labsgithub.com/Infrasity-LabsGitHub ↗
claude-codeMIT
Install
npx skills add Infrasity-Labs/dev-gtm-claude-skills --skill no-outlinks-audit --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 3
SKILL.md size: 24 KB
Bundled scripts: none
Path: skills/no-outlinks-audit/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 97
Language: Python

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

What it does

Finds every blog/content page on a site that has zero outgoing links to any URL on the same domain. For each dead-end page, it generates 3 suggestions of pages on the same site to link to, including the exact anchor text (the target page's top keyword), where in the dead-end page to place the link, and a ready-to-paste context copy. It outputs a styled HTML report matching report-style-reference.html.

How it works

  • Step 1 discovers all pages via sitemap.xml, sitemap_index.xml, or robots.txt sitemap hints; if none, crawls the blog index to collect blog URLs.
  • Step 2 detects the site framework by checking response headers and HTML signals to choose the correct detection method (Next.js via RSC header or HTML payload, static/WordPress/traditional CMS via standard curl).
  • Step 3 detects outgoing internal links per page using the method chosen in Step 2:
    • For Next.js sites (RSC header method): fetches with RSC: 1 and parses rendered payload for links, excluding assets and internal paths, collecting paths within the same domain.
    • For static/WordPress/traditional CMS: fetches HTML and parses the main content area for <a> tags, converts hrefs to absolute paths within the domain, excludes assets and self-links, and collects internal paths.
    • If framework cannot be determined or pages yield insufficient links, asks the user for clarification or flags for manual review.
  • Step 4 validates results by spot-checking a sample of dead-end and non-dead-end pages and calculating a dead-end rate.
  • Step 5 performs keyword research using Ahrefs:site-explorer-top-pages to map keywords and traffic for the blog, deriving keywords for dead-end pages not present in the map from their URL slug.
  • Step 6 clusters dead-end pages by topic and generates 3 (three) target pages per dead-end page that are topically related, would plausibly follow the dead-end content, and are well-linked already; for each target page, it provides an anchor text (the target page’s top keyword) and guidance for placement.

When to use it

Triggered when a user provides a domain or URL and asks for a dead-end page audit, an outgoing internal links audit, or requests which pages don’t link out.

What it can touch

  • Uses curl via bash_tool for sitemap discovery, framework detection, and outgoing link detection.
  • Uses Ahrefs MCP (site-explorer-top-pages) for keyword research.

Caveats

  • License: MIT
  • Declared tools: claude-code
  • Outputs a styled HTML report matching report-style-reference.html
  • If detection or page fetch fails, manual review may be required; the workflow specifies manual checks and fallback behavior rather than automated outcomes for failed cases.
From the SKILL.md

# SKILL: Dead-End Pages — No Outgoing Internal Links Audit ## DESCRIPTION Finds every blog/content page on a site that has **zero outgoing links to any URL on the same domain** in its body content. These pages absorb link equity but pass none on — they are structural dead-ends that silently suppress topical authority and hurt crawl efficiency across the site. For each dead-end page the skill generates 3 suggestions: pages on the same site that the dead-end page SHOULD link out to, including the exact anchor text (the target page's top keyword), where in the dead-end page to place the link, and a ready-to-paste context copy sentence with the link already embedded. This skill is the structural inverse of the Orphan Pages skill: - **Orphan Pages**: pages with no *incoming* internal links (nobody links TO them) - **Dead-End Pages**: pages with no *outgoing* internal links (they link out to nobody) --- ## TOOLS - Step 1 uses **curl via bash_tool** for sitemap discovery - Step 2 uses **curl via bash_tool** for framework detection - Step 3 uses **curl via bash_tool** for outgoing link detection (method varies by framework) - Step 5 uses **Ahrefs MCP** (`site-explorer-top-pages`) for keywo

What's inside
Steps it walks through
  1. DESCRIPTION
  2. TOOLS
  3. WORKFLOW
Ships with 2 files
  • README.md
  • references/report-style-reference.html
Commands it runs
curl -sL --max-time 15 "https://www.DOMAIN.com/sitemap.xml" | head -50
curl -sL --max-time 15 "https://www.DOMAIN.com/sitemap_index.xml" | head -50
curl -sL --max-time 15 "https://www.DOMAIN.com/robots.txt" | grep -i sitemap
curl -sL "https://www.DOMAIN.com/blog/" | grep -oP 'href="[^"]*"' | grep '/blog/'
curl -sL "https://www.DOMAIN.com/sitemap.xml" \
wc -l /tmp/blog_urls.txt
Check response headers
curl -sI "https://www.DOMAIN.com" | grep -i "x-powered-by\|x-nextjs\|x-vercel\|server\|generator"
Check HTML source for framework signals
curl -sL "https://www.DOMAIN.com" \
More from dev-gtm-claude-skills
All skills →
About this skill
What does the no-outlinks-audit skill do?

Runs a full dead-end page audit for any website. Discovers all blog/content pages, detects which ones have zero outgoing links to any URL on the same domain, fetches keywords, clusters pages by topic, and generates 3 outgoing link suggestions per dead-end page with anchor text, placement guidance, and ready-to-paste context copy. Outputs a styled HTML report matching report-style-reference.html. Automatically detects site framework (Next.js, static, WordPress) and uses the correct detection CMS sites. Trigger when a user provides a domain or URL and asks for a dead-end page audit, outgoing int

How do I install it?

Run `npx skills add Infrasity-Labs/dev-gtm-claude-skills --skill no-outlinks-audit --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From Infrasity-Labs/dev-gtm-claude-skills, a repository with 97 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going