Skip to content
Back to skills

Wikilink Weaver

ASecurity

Use when a note's body mentions other notes by title without linking them, when applying or repairing wikilinks, or when listing orphan notes. This is the skill that edits notes to add links. For conceptual discovery instead, use connection-finder.

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 4, 2026
ai-agentsgo

Works with

  • claude code
  • cli
  • mcp

Security analysis

A100/100

Scanned September 24, 2026

npx -y skills add cavi-ai/obsidian-agent --skill wikilink-weaver --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Wikilink Weaver?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Wikilink Weaver
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/cavi-ai-wikilink-weaver/badge)](https://www.skillsdirectory.com/skills/cavi-ai-wikilink-weaver)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: wikilink-weaver
description: Use when a note's body mentions other notes by title without linking them, when applying or repairing wikilinks, or when listing orphan notes. This is the skill that edits notes to add links. For conceptual discovery instead, use connection-finder.
---

# Wikilink weaver

Find real, missing connections and weave them in — without inventing links.

**REQUIRED SUB-SKILL:** obsidian-agent:vault-grounding

## Process

1. **Get the vocabulary of paths.** Run
   `obsidian vault=<vault> files ext=md`. Treat these as candidates, not proof:
   successfully read a target with `obsidian vault=<vault> read path=<path>`
   before proposing its wikilink.
2. **Read the source note** with `obsidian vault=<vault> read path=<path>` and
   scan its body for mentions of verified note titles that are not linked.
3. **Check what's already linked.** Run
   `obsidian vault=<vault> links path=<path>` and
   `obsidian vault=<vault> backlinks path=<path> format=json`.
4. **Propose links with evidence.** For each candidate: the phrase in the body,
   the target note, and why it's a real reference (not a coincidental word
   match). Skip weak/ambiguous matches.
5. **Apply on confirmation.** Show the complete note diff, then run
   `obsidian vault=<vault> create path=<path> content=<complete-markdown> overwrite`.
   Re-read the source and list its outgoing links to verify the change.

## Finding orphans

A note is an orphan only when it has neither incoming nor outgoing links.
Intersect `obsidian vault=<vault> orphans` with
`obsidian vault=<vault> deadends`, then verify each candidate with
`obsidian vault=<vault> backlinks path=<path> format=json` and
`obsidian vault=<vault> links path=<path>`. List them for the user; never
auto-link them.

## Common mistakes

- Linking to a target that was never successfully read.
- Re-adding a link that already exists (didn't check `obsidian links`).
- Matching a common word as if it were a note reference.
- Overwriting the note without showing the complete diff.

## Companion bridge (optional)

If tools from the `obsidian-vault` MCP server are available (Claude Code
shows them as `mcp__obsidian-vault__<tool>`), use them for the steps below;
otherwise follow the CLI steps above. Never require them.

- Get the vocabulary of paths: `related_notes` path=<path>, limit 15 — replaces the full `files ext=md` candidate scan in step 1.
- Check what's already linked: `get_backlinks` and `get_outgoing_links` path=<path> — replaces the `links`/`backlinks` calls in step 3.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.