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.
npx skills add RightBlogger/bloggingskills --skill internal-linksgit clone --depth 1 https://github.com/RightBlogger/bloggingskillsWrote 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.
[](https://agentmods.dev/skills/rightblogger/bloggingskills/internal-links)<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.
<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>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.
| Model | Per session | Once 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 |
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.
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.
Internal links
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.mdexists, 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.
What makes a good link
Work these in priority order. When two pull against each other, the higher one wins.
- Relevance. The page must directly complement the sentence around it. A tangential match is worse than no link at all.
- 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.
- 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.
- Descriptive anchors. Two to six words that name the destination. Never "click here", "read more", "this article", or "learn more".
- Context alignment. The paragraph should set up the page. If a reader would be surprised by where they land, the link is wrong.
- 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.
- Keep the author's voice. Preserve contractions, rhythm, and word choice. Don't restyle a sentence just to fit a link.
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.
- 12d ago First seen · 80 lines · 134 tokens per session scan A ed0f89447987
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.
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"…
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…
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…
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…
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…
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…