Agent skill · Audited from source
Internal Linking Optimizer
skill · Affitor/affiliate-skillsMIT licenceAudited 15 Oct 2026 · source 2515ce9634da
Is it safe? Yes — SAFE, grade B (89/100). We read this skill's source at commit 2515ce9634da and found no filesystem, network or shell access and no hard-coded secrets. What it does: Analyze site's internal link structure and optimize for hub-and-spoke SEO architecture. Triggers on: "optimize internal links", "internal linking", "link structure", "hub and spoke links", "orphan pages", "link equity",…
Cite
Cite this page
ModelsAtlas. “Internal Linking Optimizer (Affitor/affiliate-skills)”. Retrieved 15 Oct 2026. https://modelsatlas.com/skills/affitor/internal-linking-optimizer
Trust audit
Audit 0.4.1 · source read 15 Oct 2026
SAFE means nothing in the source contradicts what the skill says it does. Grade B is shared by 13,985 of 14,816 audited skills.
What the source does
- FilesystemNone observedNo reads or writes in the source
- NetworkNone observedNo outbound calls in the source
- ShellNone observedNo commands run in the source
- DependenciesPinnedNothing floats
- SecretsNone foundNo keys in source
Five audit layers
| Layer | What we check | Result | Findings |
|---|---|---|---|
L0 Provenance | Repo owner, licence, archive status, activity | PASS | 0 |
L1 Static source | Secrets, path traversal, supply chain, hidden code | NA | 0 |
L2 Instructions | Prompt injection, authority framing, hidden directives | PASS | 0 |
L3 Inventory | The files and declarations match the source | PASS | 0 |
L4 Sandbox | Run in isolation and watch behaviour | SKIPPED why | 0 |
Gates applied: no behavioural pass.
Findings (0)
No findings at any severity. We re-audit when the source changes.
Audit 0.4.1 · source sha 2515ce9634da · 15 Oct 2026Report an issue or request a re-scan
Provenance
Who published it, and what the verdict is pinned to
- PublisherAffitor GitHub organizationOwner of the repository this skill is read from
- Source folderAffitor/affiliate-skills/skills/analytics/internal-linking-optimizerThe exact folder we audited
- LicenceMITAs the repository states it
- Commit pinned for this verdict2515ce9634daA new audit runs when the source changes
- Repository statusNot archivedLast push 2 days ago
- Sandboxed runNot runSkills are read, not executed; layer L4 is skipped
What it tells the agent
Full source on GitHub ↗Its description: Analyze site's internal link structure and optimize for hub-and-spoke SEO architecture. Triggers on: "optimize internal links", "internal linking", "link structure", "hub and spoke links", "orphan pages", "link equity",…
---
name: internal-linking-optimizer
description: >
Analyze site's internal link structure and optimize for hub-and-spoke SEO architecture.
Triggers on: "optimize internal links", "internal linking", "link structure",
"hub and spoke links", "orphan pages", "link equity", "internal link audit",
"fix my internal links", "link architecture", "site structure optimization",
"internal linking strategy", "link flow", "improve site structure",
"find orphan pages", "maximize link equity", "internal link map".
license: MIT
version: "1.0.0"
tags: ["affiliate-marketing", "analytics", "optimization", "tracking", "internal-links", "site-structure"]
compatibility: "Claude Code, ChatGPT, Gemini CLI, Cursor, Windsurf, OpenClaw, any AI agent"
metadata:
author: affitor
version: "1.0"
stage: S6-Analytics
---
# Internal Linking Optimizer
Analyze your site's internal link structure and generate an optimized hub-and-spoke linking plan. Finds orphan pages (no internal links pointing to them), identifies link equity bottlenecks, and creates specific linking instructions to maximize SEO impact.
## Stage
S6: Analytics & Optimization — This is analytics/audit work on existing content. Internal linking is the most underutilized SEO lever — it's 100% in your control and costs nothing.
## When to Use
- User wants to improve their site's SEO through better internal linking
- User asks about "orphan pages", "link structure", "hub and spoke"
- User says "internal linking", "link audit", "link equity"
- After publishing new content — new pages need internal links within 48 hours
- After `keyword-cluster-architect` — cluster structure defines the ideal link architecture
- Monthly maintenance task alongside `content-decay-detector`
## Input Schema
```yaml
site_url: string # REQUIRED — site to analyze
# e.g., "myblog.com"
pages: object[] # OPTIONAL — known pages with their topics
- url: string
title: string
topic_cluster: string # Which topical cluster it belongs to
is_hub: boolean # Is this a hub page?
hub_pages: string[] # OPTIONAL — URLs of your hub/pillar pages
# Default: auto-detected
new_pages: string[] # OPTIONAL — recently published pages needing links
# Default: none
```
**Chaining from S3 keyword-cluster-architect**: Use `keyword_clusters.hub` and `keyword_clusters.clusters` to define ideal link architecture.
## Workflow
### Step 1: Discover Site Structure
1. `web_search`: `site:[site_url]` — discover indexed pages
2. Map pages to topic clusters (if not provided)
3. Identify current hub pages (pages that link to many others)
4. Note orphan pages (pages with few/no internal links pointing to them)
### Step 2: Analyze Current Link Structure
Read `shared/references/seo-strategy.md` for internal linking rules.
For each page group:
- Count internal links TO this page (inlinks)
- Count internal links FROM this page (outlinks)
- Check link depth from homepage (should be ≤ 3 clicks)
- Identify the anchor text used
### Step 3: Identify Issues
Flag:
1. **Orphan pages** — no or few internal links pointing to them
2. **Hub pages with weak linking** — hub should link to ALL spokes in its cluster
3. **Missing spoke-to-spoke links** — related spokes should link to each other
4. **Broken contextual flow** — pages that should link to each other but don't
5. **Over-linked pages** — too many outlinks dilute link equity
6. **Missing reverse links** — spoke links to hub but hub doesn't link back
### Step 4: Generate Linking Instructions
For each issue, provide specific instructions:
```
Page: [URL]
Action: Add internal link to [target URL]
Anchor text: "[suggested anchor]"
Location: [where in the content to add it]
Priority: [P0/P1/P2]
Reason: [why this link matters]
```
### Step 5: Self-Validation
- [ ] Instructions are specific (exact URLs, anchor text, location)
- [ ] Hub-and-spoke architecture is logical
- [ ] Anchor text is natural and keyword-relevant
- [ ] No recommendations to over-link (max 3-5 internal links per 1000 words)
- [ ] New pages have at least 2-3 internal links pointing to them
## Output Schema
```yaml
output_schema_version: "1.0.0"
internal_links:
site: string
pages_analyzed: number
issues_found: number
links_to_add: number
orphan_pages: string[] # Pages with zero/few inlinks
hub_pages: string[] # Identified hub pages
link_actions:
- source_url: string # Page to add the link ON
target_url: string # Page to link TO
anchor_text: string # Suggested anchor text
location: string # Where in the content
priority: string # "P0" | "P1" | "P2"
reason: string
link_structure: # Current state summary
total_pages: number
avg_inlinks: number
avg_outlinks: number
max_depth: number
chain_metadata:
skill_slug: "internal-linking-optimizer"
stage: "analytics"
timestamp: string
suggested_next:
- "seo-audit"
- "content-decay-detector"
- "affiliate-blog-builder"
```
## Output Format
```
## Internal Link Audit: [Site]
### Structure Overview
- **Pages analyzed:** XX
- **Orphan pages:** XX (need links urgently)
- **Hub pages:** XX
- **Links to add:** XX
- **Average inlinks per page:** X.X
### Orphan Pages (P0 — fix immediately)
These pages have no/few internal links and are invisible to Google:
1. [URL] — [title] — 0 inlinks
2. [URL] — [title] — 1 inlink
### Link Actions
#### P0 — Critical
| Source Page | → | Target Page | Anchor Text | Location |
|---|---|---|---|---|
| [source] | → | [target] | "[anchor]" | After paragraph about [topic] |
#### P1 — High
[same table]
#### P2 — Maintenance
[same table]
### Hub-and-Spoke Health
| Hub Page | Expected Spokes | Linked Spokes | Missing Links |
|---|---|---|---|
| [hub] | XX | XX | [list missing] |
### Quick Wins
1. [EasiesExcerpt, first 6,000 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.
Install
Pinned to the audited commit 2515ce9
git clone https://github.com/Affitor/affiliate-skills git -C affiliate-skills checkout 2515ce9634da
The author documents no install command, so this uses the repository directly. Our verdict covers commit 2515ce9634da only.
Works in which agents?
What its own text says, not a test
| Agent | Status | More |
|---|---|---|
| Claude Code | Mentioned in its text, not tested | Skills for Claude Code · About Claude Code |
| Cursor | Mentioned in its text, not tested | Skills for Cursor · About Cursor |
| Gemini CLI | Mentioned in its text, not tested | Skills for Gemini CLI · About Gemini CLI |
| OpenClaw | Mentioned in its text, not tested | Skills for OpenClaw · About OpenClaw |
| Windsurf | Mentioned in its text, not tested | Skills for Windsurf · About Windsurf |
Audit history
Every audit, every source change
- ✓SAFE B 89 / 100
first audit · source
2515ce9634da
README badge
For maintainers · shows the latest audit
[](https://modelsatlas.com/skills/affitor/internal-linking-optimizer/)
The badge shows our verdict and grade for this skill, and links back to this page. It changes when the audit does.
Similar skills
Affitor/affiliate-skills
Generate A/B test variants for affiliate content. Triggers on: "create A/B test", "test my headline", "optimize my CTA", "generate variants", "split test ideas", "improve click-through rate", "test my landing page…
Affitor/affiliate-skills
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",…
Affitor/affiliate-skills
Research and evaluate affiliate programs to find the best ones to promote. Use this skill when the user asks anything about finding affiliate programs, comparing commission rates, evaluating affiliate opportunities,…
Affitor/affiliate-skills
Create a Linktree-style bio link hub page as a single self-contained HTML file. Triggers on: "create a bio link page", "make a linktree", "link in bio page", "bio link", "link hub", "create my link page", "all my links…
Affitor/affiliate-skills
Design exclusive bonus packages that make YOUR affiliate link the obvious choice. Triggers on: "create bonuses for", "bonus stack", "what bonuses should I offer", "bonus ideas for", "exclusive bonuses", "differentiate…
Affitor/affiliate-skills
Define a new category where your product wins by default. Reframe the buying decision. Triggers on: "create a category", "category design", "define my category", "category of one", "reframe the market", "position as…
Add this badge to your README
[](https://modelsatlas.com/skills/affitor/internal-linking-optimizer/)
<a href="https://modelsatlas.com/skills/affitor/internal-linking-optimizer/"><img src="https://modelsatlas.com/skills/affitor/internal-linking-optimizer/badge.svg" alt="ModelsAtlas: SAFE B"></a>
Questions about Internal Linking Optimizer
What does the Internal Linking Optimizer skill do?
Is Internal Linking Optimizer safe to install?
What can Internal Linking Optimizer access on my machine?
Which assistants does Internal Linking Optimizer work with?
How current is this page?
Sources
- github.com/Affitor/affiliate-skills/tree/main/skills/analytics/i — the audited source at commit 2515ce9634da and every finding aboveObserved · 15 Oct 2026
Spotted something wrong? Report a correction · Methodology
Keep going in your AI
Opens with this page as the source. We add nothing else to the prompt.
- What does the Internal Linking Optimizer skill do?
- Is Internal Linking Optimizer safe to install?
- What can Internal Linking Optimizer access on my machine?