cross-linker

Discover unlinked mentions and insert missing wikilinks between wiki pages.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/Michael1Peng/watson --skill cross-linker-michael1peng
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: cross-linker
Source: https://github.com/Michael1Peng/watson/tree/main/.agents/skills/cross-linker
Command: npx skills add https://github.com/Michael1Peng/watson --skill cross-linker-michael1peng

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill weaves the wiki's knowledge graph tighter by automatically discovering and inserting missing [[wikilinks]] between pages that should reference each other but currently don't. It is a write-heavy operation — it actually modifies pages to add links, unlike simple link-checkers that only report issues.

Core Features & Use Cases

  • Build a page registry from frontmatter to know valid wikilink targets.
  • Detect unlinked mentions in page text and prefer the shortest unambiguous wikilink path.
  • Apply inline links on natural mentions or generate a Related section when inline placement isn't possible.
  • Improve navigation by surfacing orphan pages and strengthening cross-page connections for large ingestions.

Quick Start

Ingest new notes and run the cross-linker to automatically weave related pages together.

Frequently Asked Questions about cross-linker

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automatically add missing wikilinks between Obsidian pages?

To automatically add missing wikilinks between Obsidian pages, you can use a cross-linker to detect unlinked mentions and insert inline links. It builds a page registry from frontmatter to ensure valid targets and strengthen the knowledge graph.

How does cross-linking detect unlinked mentions without breaking existing wiki structure?

Cross-linking detects unlinked mentions by reading frontmatter to build a page registry, scoring candidates, and applying inline links only when natural. It preserves existing structure by avoiding self-links and preventing duplicate links.

What is the best way to link orphan pages during a large Obsidian data ingestion?

The best way to link orphan pages during large ingestions is to run an automated cross-linker. It surfaces orphan pages by discovering unlinked mentions and weaving related pages together to strengthen cross-page connections.

What happens when inline wikilink placement isn't natural in a wiki page?

When inline wikilink placement isn't natural, the cross-linker generates a Related section at the bottom of the page. This ensures connections are still made without disrupting the existing text flow.

Can I use frontmatter to build a page registry for automated wikilinks?

Yes, you can use frontmatter to build a page registry for automated wikilinks. The cross-linker reads frontmatter to identify valid wikilink targets, ensuring links point to existing pages and preventing self-links.

Does cross-linking modify existing wiki pages or just report missing links?

Cross-linking actually modifies existing wiki pages to add links, unlike simple link-checkers that only report issues. It is a write-heavy operation that directly inserts inline links or generates a Related section.