Skip to content
Back to skills

Obsidian Graph Traversal

ASecurity

Semantic link traversal for Obsidian Vaults. Builds an in-memory graph index from wikilinks and provides instant forward-link, backlink, and multi-degree connection queries. Use when exploring note relationships or finding orphaned notes.

  • 5 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 7, 2026
toolspythonrustbashperformance

Security analysis

A100/100

Pro scans all 10 files and shows the line behind each finding

Scanned September 7, 2026

npx -y skills add richfrem/Project_Sanctuary --skill obsidian-graph-traversal --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Obsidian Graph Traversal?

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

Security grade badge for Obsidian Graph Traversal
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/richfrem-obsidian-graph-traversal-project-sanctuary/badge)](https://www.skillsdirectory.com/skills/richfrem-obsidian-graph-traversal-project-sanctuary)

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: obsidian-graph-traversal
description: "Semantic link traversal for Obsidian Vaults. Builds an in-memory graph index from wikilinks and provides instant forward-link, backlink, and multi-degree connection queries. Use when exploring note relationships or finding orphaned notes."
allowed-tools: Bash, Read
---
# Obsidian Graph Traversal

**Status:** Active
**Author:** Richard Fremmerlid
**Domain:** Obsidian Integration
**Depends On:** `obsidian-markdown-mastery` (WP05, `obsidian-parser`)

## Purpose

This skill transforms static vault notes into a queryable semantic graph. It answers
questions like "What connects to Note X?" and "What are the 2nd-degree connections
of Concept A?" — instantly, without rescanning the vault.

**Performance Target**: < 2 seconds for deep queries across 1000+ notes.

## Available Commands

### Build the Graph Index
```bash
python ./scripts/graph_ops.py build --vault-root <path>
```

### Get Forward Links (outbound)
```bash
python ./scripts/graph_ops.py forward --note "Note Name"
```

### Get Backlinks (inbound)
```bash
python ./scripts/graph_ops.py backlinks --note "Note Name"
```

### Get N-Degree Connections
```bash
python ./scripts/graph_ops.py connections --note "Note Name" --depth 2
```

### Find Orphaned Notes
```bash
python ./scripts/graph_ops.py orphans --vault-root <path>
```

## Architecture

### In-Memory Graph Index
- On `build`, every `.md` file in the vault is parsed using the `obsidian-parser`
- Wikilinks are extracted; embeds (`![[...]]`) are filtered out
- A bidirectional adjacency map is built: `{source: [targets], ...}` and `{target: [sources], ...}`
- The index is cached as `.graph-index.json` at the vault root
- Invalidation uses file `mtime` — if a file changed since last build, only that file is re-indexed

### The Primary Agent as Librarian
The graph index enables the agent to:
- **Detect blind spots**: Orphaned notes indicate areas where agents act without historical context
- **Resolve conflicts**: If two agents update the same note, the graph shows the impact radius
- **Enforce schema**: Frontmatter metadata (status, trust_score) tracked across linked notes

Files in this skill

  • SKILL.md2.1 KB
  • evals/evals.json1.2 KB
  • obsidian-parser/parser.py5.6 KB
  • obsidian-parser/tests/test_parser.py2.7 KB
  • references/acceptance-criteria.md690 B
  • references/fallback-tree.md877 B
  • resources/architecture-background.md2.8 KB
  • resources/kepano-analysis-summary.md1.7 KB
  • resources/safety-learnings.md2.7 KB
  • scripts/graph_ops.py10 KB

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…