Agent skill

Cross Linker

by thoreinstein in thoreinstein/gemini-obsidian

A skill your agent uses when the user wants to find and insert missing wikilinks across vault notes.

ISCAuto-check passed

Install Cross Linker

skills CLI
$ npx skills add thoreinstein/gemini-obsidian --skill cross-linker -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install thoreinstein/gemini-obsidian cross-linker --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/thoreinstein/gemini-obsidian.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/cross-linker .claude/skills/cross-linker && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
cross-linker
GitHub stars
102
Token cost
~878 tokens
SKILL.md length
351 words
Files
1
Skills in repo
12
Repo updated
First seen
Licence
ISC

At a glance

A skill your agent uses when the user wants to find and insert missing wikilinks across vault notes.

  • Works in 5 steps: Build Page Registry → Scan for Unlinked Mentions → Score and Rank → …
  • The user wants to find and insert missing wikilinks across vault notes
  • SKILL.md covers Workflow, Arguments and Tips
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Cross Linker is an agent skill from thoreinstein/gemini-obsidian. Use when the user wants to find and insert missing wikilinks across vault notes. Triggers on "cross-link", "find missing links", "weave links", "unlinked mentions", "add wikilinks", or "link notes together".

Its SKILL.md is about 880 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It works with Obsidian. The repository describes itself as: A Gemini CLI extension for interfacing with an Obsidian vault with local first RAG capabilities. The licence is ISC.

When your agent uses it

  • The user wants to find and insert missing wikilinks across vault notes
  • Find missing links
  • Unlinked mentions
  • Link notes together

Example prompts

  • “cross-link”
  • “find missing links”
  • “weave links”
  • “/cross-linker”

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Build Page Registry
  2. Scan for Unlinked Mentions
  3. Score and Rank
  4. Present Findings
  5. Apply Links

What it can do on your machine

Read from SKILL.md and the folder at commit 9156cba. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Cross Linker loads about 878 tokens when it runs. Until then it costs about 55 tokens; SKILL.md has 351 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~55
When it runs · the whole SKILL.md, loaded when a task matches
~878

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from thoreinstein/gemini-obsidian at commit 9156cba, republished under its ISC licence (© thoreinstein). 351 words, ~878 tokens.

Download SKILL.mdSave it as .claude/skills/cross-linker/SKILL.md (or your agent's skills folder).
name
cross-linker
description
Use when the user wants to find and insert missing wikilinks across vault notes. Triggers on "cross-link", "find missing links", "weave links", "unlinked mentions", "add wikilinks", or "link notes together".

Cross-Linker

Discover unlinked mentions of vault concepts and insert [[wikilinks]]. Complements link-audit (which finds broken/orphan links) by finding links that should exist but don't.

Workflow

Phase 1 — Build Page Registry
  1. Call obsidian_list_notes on the target scope (default: Engineering/).
  2. For each note, call obsidian_read_note and extract from frontmatter:
    • Title (from # heading or filename)
    • Aliases (from aliases: frontmatter field, if present)
    • Type (pattern, trap, decision, concept)
  3. Build a registry: { title, aliases[], path, type } for each note.

For large scopes (>50 notes), batch reads and process incrementally.

Phase 2 — Scan for Unlinked Mentions

For each note in scope:

  1. Call obsidian_read_note to get the full body text.
  2. For each other page in the registry, check if the page's title or any alias appears in the body text without being wrapped in [[...]].
  3. Skip matches inside:
    • Existing wikilinks [[...]]
    • Code blocks (fenced or inline)
    • Frontmatter
    • The note's own title/heading
  4. Record each match: { source_note, target_note, matched_text, line_context, confidence }
Phase 3 — Score and Rank

Assign confidence to each proposed link:

  • High — exact title match (case-insensitive), target is a Pattern/Trap/Decision note
  • Medium — alias match, or title match in a less structured note
  • Low — partial match or only semantically related (use obsidian_rag_query to verify)

Sort findings: high confidence first, grouped by source note.

Show full SKILL.md (142 more words)Show less
Phase 4 — Present Findings

Show the user a report:

## Cross-Link Report for: Engineering/

### High Confidence (auto-apply)
- Engineering/Patterns/table-driven-tests.md
  Line 12: "table driven tests" → [[Table-Driven Tests]]

### Medium Confidence (confirm each)
- Engineering/Traps/mock-drift.md
  Line 8: "interface injection" → [[Interface Injection]]

### Low Confidence (review)
- working/appiary/knowledge/auth.md
  Line 23: "token" → possibly [[Token Rotation]] ?

### Summary
- X high-confidence links ready to apply
- Y medium-confidence links for review
- Z low-confidence suggestions
  • High confidence: Apply automatically using obsidian_replace_in_note, replacing the first unlinked mention with [[Target Title]] or [[path/to/note|display text]].
  • Medium confidence: Apply one at a time, asking user to confirm each.
  • Low confidence: List for reference only — don't auto-apply.

Only link the first unlinked mention of each target per source note. Repeated mentions stay as plain text (standard wiki convention).

Arguments

  • Optional scope: /cross-linker Engineering/Patterns/ (default: Engineering/)
  • Optional depth: /cross-linker --deep to include working/ and reference/ scopes

Tips

  • Run on a narrow scope first (Engineering/Patterns/) to calibrate before going vault-wide
  • If a note has many false positives, it may need aliases: in frontmatter to disambiguate
  • Short titles (1-2 words like "Testing" or "Auth") generate noise — prefer linking specific concept names
  • After running, consider /link-audit to verify no broken links were introduced

© thoreinstein, ISC. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/cross-linker of thoreinstein/gemini-obsidian.

Open the folder on GitHubat commit 9156cba

Compare with similar skills

Cross Linker next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Cross Linker compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Cross Linker this skillthoreinstein/gemini-obsidian102—~878Automated safety check: PassISC
Obsidian BasesAtmosphere/atmosphere3.8k22 repos~3.2kAutomated safety check: PassApache-2.0
Knap Markdown Templateskepano/obsidian-skills49k2 repos~986Automated safety check: PassMIT
JSON Canvasheyitsnoah/claudesidian2.6k18 repos~3.5kAutomated safety check: PassMIT
Obsidian MarkdownAtmosphere/atmosphere3.8k20 repos~1.3kAutomated safety check: PassApache-2.0
Obsidian CLIAtmosphere/atmosphere3.8k13 repos~795Automated safety check: PassApache-2.0

Similar skills

  • Obsidian Bases

    Atmosphere/atmosphere

    Create and edit Obsidian Bases (.base files) with views, filters, formulas, and summaries.

    3.8k GitHub starsUsed in 22 repos~3.2k tokens
    Backend & APIsAuto-check passed
  • Knap Markdown Templates

    kepano/obsidian-skills

    Renders Markdown notes from Knap templates and JSON data on the command line, including notes built from Defuddle web page output.

    49k GitHub starsUsed in 2 repos~986 tokens
    Documents & OfficeAuto-check passed
  • JSON Canvas

    heyitsnoah/claudesidian

    Create and edit JSON Canvas files (.canvas) with nodes, edges, groups, and connections.

    2.6k GitHub starsUsed in 18 repos~3.5k tokens
    DevelopmentAuto-check passed
  • Obsidian Markdown

    Atmosphere/atmosphere

    Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax.

    3.8k GitHub starsUsed in 20 repos~1.3k tokens
    Documents & OfficeAuto-check passed
  • Obsidian CLI

    Atmosphere/atmosphere

    Interact with Obsidian vaults using the Obsidian CLI to read, create, search, and manage notes, tasks, properties, and more.

    3.8k GitHub starsUsed in 13 repos~795 tokens
    Knowledge ManagementAuto-check passed
  • Obsidian Canvas Creator

    axtonliu/axton-obsidian-visual-skills

    Create Obsidian Canvas files from text content, supporting both MindMap and freeform layouts.

    3.6k GitHub stars~1.6k tokensUpdated 3 mo ago
    Auto-check passed

More from thoreinstein/gemini-obsidian

All 12 skills in this repo
  • Vault Lint

    thoreinstein/gemini-obsidian

    A skill your agent uses when the user wants a health audit of the vault — stale content, provenance drift, frontmatter compliance, or MOC coverage gaps.

    102 GitHub stars~920 tokensUpdated 2 mo ago
    Auto-check passed
  • Wiki Ingest

    thoreinstein/gemini-obsidian

    A skill your agent uses when the user wants to ingest external sources into the vault — PDFs, markdown files, transcripts, Readwise exports, or any document.

    102 GitHub stars~1.2k tokensUpdated 2 mo ago
    Auto-check passed
  • Compound

    thoreinstein/gemini-obsidian

    A skill your agent uses when the user wants to promote cross-project knowledge to the global Engineering/ folder, or says "promote knowledge", "compound notes", "knowledge synthesis", or "find…

    102 GitHub stars~454 tokensUpdated 2 mo ago
    Auto-check passed
  • Journal

    thoreinstein/gemini-obsidian

    A skill your agent uses when the user wants to work with their daily note — view today's entry, add a log, do a daily review, or capture quick thoughts.

    102 GitHub stars~283 tokensUpdated 2 mo ago
    Auto-check passed
  • Link Audit

    thoreinstein/gemini-obsidian

    A skill your agent uses when the user wants to audit vault link health, find broken wikilinks, orphaned notes, or semantic clusters.

    102 GitHub stars~408 tokensUpdated 2 mo ago
    Auto-check passed
  • Links

    thoreinstein/gemini-obsidian

    A skill your agent uses when the user wants to explore connections between notes, see what links to or from a note, or says "links", "backlinks", "connections", or "graph".

    102 GitHub stars~232 tokensUpdated 2 mo ago
    Auto-check passed

Works with

Questions about Cross Linker

What does Cross Linker do?

A skill your agent uses when the user wants to find and insert missing wikilinks across vault notes. Cross Linker is an agent skill from thoreinstein/gemini-obsidian. Use when the user wants to find and insert missing wikilinks across vault notes.

When should I use Cross Linker?

Cross Linker fits situations like: the user wants to find and insert missing wikilinks across vault notes; find missing links; unlinked mentions; link notes together.

How do I install Cross Linker in Claude Code?

Run `npx skills add thoreinstein/gemini-obsidian --skill cross-linker -a claude-code`. Or copy the skill folder (skills/cross-linker in thoreinstein/gemini-obsidian) into .claude/skills/cross-linker in your project. Claude Code loads it when a task matches its description.

How do I install Cross Linker in Codex?

Run `npx skills add thoreinstein/gemini-obsidian --skill cross-linker -a codex`. Or copy the skill folder (skills/cross-linker in thoreinstein/gemini-obsidian) into .agents/skills/cross-linker in your project. Codex loads it when a task matches its description.

Can I use Cross Linker in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add thoreinstein/gemini-obsidian --skill cross-linker -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cross-linker, .gemini/skills/cross-linker, .github/skills/cross-linker and .opencode/skills/cross-linker in your project.

What does Cross Linker need to run?

SKILL.md names no scripts, command-line tools or credentials: Cross Linker is instructions for the agent only.

Does Cross Linker access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Cross Linker safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Cross Linker use?

Cross Linker is published under the ISC licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Cross Linker use?

About 878 tokens (SKILL.md is roughly 3.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Cross Linker?

Skills that share tags, products or a category with Cross Linker: Obsidian Bases (Atmosphere/atmosphere, 3.8k stars), Knap Markdown Templates (kepano/obsidian-skills, 49k stars), JSON Canvas (heyitsnoah/claudesidian, 2.6k stars) and Obsidian Markdown (Atmosphere/atmosphere, 3.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Cross Linker?

thoreinstein (a GitHub user) maintains it in thoreinstein/gemini-obsidian, which has 102 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on July 31, 2026.

Source: thoreinstein/gemini-obsidian on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.