internal-links

internal-links is a skill for Claude Code from RightBlogger/bloggingskills. It costs 134 tokens per session (1,021 once invoked), scanned A, original, MIT.

A guide for adding links between pages of the same website using a supplied sitemap, page list, or links tool. These are called internal links because they connect pages within one site.

In plain words
What is it for?
Use it to interlink a draft with real pages from the site, choosing natural descriptive link text and leaving out links that do not fit.
Why use it?
It prevents made-up, broken, or irrelevant links from being added to a draft. It keeps links useful to readers instead of adding them only for search optimisation.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the blogging-skills plugin — 12 skills shipped together

Good fit Use it to interlink a draft with real pages from the site, choosing natural descriptive link text and leaving out links that do not fit.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/rightblogger/bloggingskills/internal-links
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add RightBlogger/bloggingskills --skill internal-links
Clone the repo
git clone --depth 1 https://github.com/RightBlogger/bloggingskills

Made for: Claude Code.

Or install blogging-skills, the plugin that ships this one along with the rest of its 12 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for internal-links

README.md
[![agentmods](https://agentmods.dev/badge/skills/rightblogger/bloggingskills/internal-links/github.svg)](https://agentmods.dev/skills/rightblogger/bloggingskills/internal-links)
Your own site
<a href="https://agentmods.dev/skills/rightblogger/bloggingskills/internal-links"><img src="https://agentmods.dev/badge/skills/rightblogger/bloggingskills/internal-links/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for internal-links

Your own site · 80×15
<a href="https://agentmods.dev/skills/rightblogger/bloggingskills/internal-links"><img src="https://agentmods.dev/badge/skills/rightblogger/bloggingskills/internal-links.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 134 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,021 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00134 $0.01021
Opus 5 $0.00067 $0.00511
Sonnet 5 $0.00027 $0.00204
Haiku 4.5 $0.00013 $0.00102

Measured 12d ago against content hash ed0f89447987, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

internal-links scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/internal-links/SKILL.md · 80 lines

How it starts

The opening of the file, as written. The whole thing — 80 lines — stays where its author put it; the contents beside it link to each section on GitHub.

You add internal links to an existing draft, using only the real pages of the author's site. You are an editor placing links a reader will actually click, not an SEO bot stuffing keywords. A link you can't justify to the reader does not go in.

Initial assessment

  • If .agents/blog-context.md exists, read it. The site domain, audience, and the author's voice live there. A captured voice overrides the rules below: match the author's anchor style and rhythm instead of flattening them.
  • Confirm your two inputs. First, the draft. Second, a source of valid internal URLs: a sitemap, a list the user pasted, or a links tool or MCP you can query. If you have no list and no tool, ask for one. Do not guess pages from the domain.

Hard rules

These are not negotiable.

  • Every internal link uses markdown: [descriptive anchor text](https://example.com/page). Never output a bare internal URL, and never put a URL alone on a line. If no natural anchor fits a good page, leave the link out rather than paste the raw URL.
  • Do not make up or infer URLs. Use only what the user supplied or a links tool returned. If you are unsure a page exists, you do not link it.
  • Use each destination URL at most once across the whole draft.
  • Absolute URLs only, never relative paths.
  • Density: at most about one internal link per 300 words. Fewer is fine.

Work these in priority order. When two pull against each other, the higher one wins.

  1. Relevance. The page must directly complement the sentence around it. A tangential match is worse than no link at all.
  2. Diverse destinations. Prefer deep, specific pages over the homepage or a generic hub. Link the homepage only when it is genuinely the best place to send the reader.
  3. Natural integration. The link has to read like a person wrote it. Rewriting a sentence so it flows beats wrapping a clumsy phrase that only matched on keywords.
  4. Descriptive anchors. Two to six words that name the destination. Never "click here", "read more", "this article", or "learn more".
  5. Context alignment. The paragraph should set up the page. If a reader would be surprised by where they land, the link is wrong.
  6. Reader value first. Add a link only when it helps someone understand or act on the paragraph they're reading. Editorial value comes before SEO.
  7. Keep the author's voice. Preserve contractions, rhythm, and word choice. Don't restyle a sentence just to fit a link.

Read the full file on GitHub · 80 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 12d ago First seen · 80 lines · 134 tokens per session scan A ed0f89447987

Subscribe to this mod's changes

internal-links is a skill published in the GitHub repository RightBlogger/bloggingskills (2 stars, last pushed 2mo ago), licensed MIT. It adds 134 tokens to every session and 1,021 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

affiliate-blog-builder

Write SEO-optimized affiliate blog articles, product reviews, comparison posts, listicles, and how-to guides. Triggers on: "write a blog post about", "review of [product]", "best [category] article", "comparison blog", "affiliate blog", "SEO article", "write a review", "product roundup", "blog content for affiliate"…

Affitor/affiliate-skills · 110 tokens

comparison-post-writer

Write "X vs Y" comparison blog posts that help readers choose between two competing products. Triggers on: "write a comparison post", "X vs Y blog post", "compare [product A] and [product B]", "which is better [A] or [B]", "head to head comparison", "[product] vs [product] article", "comparison review", "write a…

Affitor/affiliate-skills · 115 tokens

how-to-tutorial-writer

Write how-to guides and tutorials that naturally integrate affiliate product recommendations. Triggers on: "write a how-to guide", "tutorial for [task]", "step by step guide to [goal]", "how to [verb] with [product]", "write a tutorial blog post", "guide on how to [task]", "beginner guide to [topic]", "walkthrough for…

Affitor/affiliate-skills · 112 tokens

listicle-generator

Write "Top N best..." listicle articles for affiliate marketing with mini-reviews, pricing, pros/cons, and CTAs per entry. Triggers on: "write a best of list", "top 10 [category] tools", "best [product category] article", "roundup post", "listicle about [category]", "write a top tools article", "best [N] alternatives…

Affitor/affiliate-skills · 117 tokens

content-decay-detector

Monitor existing content for ranking drops and trigger refresh workflows. Triggers on: "check for content decay", "which content needs updating", "content refresh", "ranking drops", "traffic decline", "stale content", "content audit", "what to refresh", "outdated content", "content performance check", "update old…

Affitor/affiliate-skills · 100 tokens

content-moat-calculator

Estimate pages needed for topical authority. Go/no-go decision before investing months in content. Triggers on: "how much content do I need", "topical authority estimate", "content moat", "how many articles", "content gap analysis", "can I compete in this niche", "content investment calculator", "is this niche worth…

Affitor/affiliate-skills · 114 tokens