Cross-Linker (Automated Wiki Cross-Referencing)
Scans an Obsidian vault for pages that should reference each other, inserts the missing [[wikilinks]], and records typed relationships in frontmatter.
Docs & OfficeIntermediate★ 3,702⑂ 371AI score 9/10Last updated: Nov 9, 2026
What it does
- Greps frontmatter across all vault
.mdfiles (titles, aliases, tags, categories) to build a registry of valid link targets. - Detects unlinked mentions with case-insensitive and diacritic-insensitive (NFKD) matching, skipping code blocks, self-references and duplicate links.
- Scores every candidate (exact match, shared tags, cross-category, peripheral→hub reach) and labels it EXTRACTED (≥6) / INFERRED (3–5) / AMBIGUOUS (1–2) — only the first two are applied.
- Inserts inline links at the first natural mention, or falls back to a
## Relatedsection when no natural mention exists. - Infers a semantic relationship type (
uses,extends,contradicts,derived_from,related_to...) and writes it into the page'srelationships:frontmatter block. - Recomputes project affinity scores for
misc/pages and flags promotion candidates. - Takes a pre-write Git snapshot commit when the vault is a standalone repo, so an entire run can be reverted.
Who it's for
- Obsidian users running a second-brain or research vault that keeps accumulating orphan notes.
- Anyone who just did a bulk ingest (web clips, papers) and wants the knowledge graph re-woven.
- People who want a typed knowledge graph, not just bare links.
- Requires the sibling
llm-wikiframework and theobsidian-wikiCLI from the same repo.
Examples
- "I just ingested 30 articles — cross-link the new pages." → Scans new pages, adds ~23 links across 12 pages, prints a confidence-labeled report.
- "Clean up my orphan notes." → Finds pages with no incoming/outgoing links and connects them to hub concept pages (peripheral→hub bonus), then lists remaining orphans.
- "Anything in misc/ ready to become a project doc?" → Computes per-project affinity and lists pages scoring 3+ as promotion candidates.
· · · Install guide · · ·
Try it now, no install
Paste this into Claude to use the skill without installing anything.
Read the instructions in this file and follow them to help me: https://raw.githubusercontent.com/Ar9av/obsidian-wiki/HEAD/skills/cross-linker/SKILL.md What I want: (describe your task here)
If Claude can't open the link, open it yourself and paste the contents instead.
↓ If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on AI Skill Mart. Copy the skills/cross-linker folder from the GitHub repo Ar9av/obsidian-wiki into my ~/.claude/skills/ar9av-cross-linker/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/Ar9av/obsidian-wiki.git && mkdir -p ~/.claude/skills && cp -r obsidian-wiki/skills/* ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Open a terminal and clone the repo:
git clone https://github.com/Ar9av/obsidian-wiki.git - Create the skills folder:
mkdir -p ~/.claude/skills - Copy all skills (this one depends on
llm-wiki):cp -r obsidian-wiki/skills/* ~/.claude/skills/ - Follow the repo README to install the
obsidian-wikiCLI and setOBSIDIAN_VAULT_PATH(via a.envfile or the global config). - Inside your vault folder, run
git initand make one commit so the skill can take its pre-write snapshot and you can roll back easily. - Restart Claude Code, then ask something like "find and add the missing cross-references in my wiki".
- Try it on a copy of your vault or a small subfolder first to review the link quality before running it on everything.
View source on GitHub ↗License: MIT