Help us improve
Share bugs, ideas, or general feedback.
From vault-pkm
Explores knowledge vault on a topic using semantic search, graph neighborhood traversal, and gap analysis to map notes, connections, and missing knowledge before research or note creation.
npx claudepluginhub adrianv101/obsidian-pkm-plugin --plugin obsidian-pkmHow this skill is triggered — by the user, by Claude, or both
Slash command
/vault-pkm:pkm-exploreThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Understand what the vault already knows about a topic before creating new notes or doing research. Combines graph traversal with semantic search to find both explicit connections and hidden relationships.
Analyzes a vault's wikilink structure as a directed graph, computing PageRank, betweenness, orphan detection, cluster analysis, and missing-link discovery. Use for vault health and connection insights.
Proves, disproves, or investigates claims about people, concepts, ideas, and relationships using Obsidian knowledge graph tools like kg_search, kg_paths, and kg_node.
Generates bridge notes within an Obsidian vault by detecting semantic gaps, incomplete MOCs, and implicit concepts. Creates drafts linking existing content without inventing external facts.
Share bugs, ideas, or general feedback.
Understand what the vault already knows about a topic before creating new notes or doing research. Combines graph traversal with semantic search to find both explicit connections and hidden relationships.
When to use: Researching vault knowledge on a topic, finding related notes, exploring a topic area before writing.
Find the most relevant existing note for the topic:
vault_semantic_search({ query: "<topic>", limit: 5 })
A note on score interpretation. vault_semantic_search uses text-embedding-3-large (3072-dim) cosine similarity, which compresses hard. In a typical vault, even genuinely on-topic notes score around 0.45–0.65, and tangential notes that share surface tokens (e.g., "vibration" matching a "vibe coding" note) often score 0.40–0.45 too. Absolute scores cannot reliably separate "topically relevant seed" from "tangential surface match" — you must read and judge.
Routing:
vault_read and judge whether it is topically relevant to the query (not just sharing surface tokens). If yes, use it as the seed and advance to Step 2.vault_search keyword query using a distinctive term from the topic. If vault_search returns zero matches AND the semantic top hits are all tangential on read, the vault has minimal coverage — report that and suggest creating a seed note using pkm-write. Do not advance into Steps 2–5 and do not synthesize from tangential matches.If vault_semantic_search is unavailable (no OPENAI_API_KEY), use vault_search with key terms and vault_query by tags/type to locate a seed note.
Explore the structural neighborhood around the seed note:
vault_neighborhood({ path: "<seed-note-path>", depth: 2, direction: "both" })
This reveals the intentional knowledge structure — what someone explicitly linked. If the seed note has no links (new or isolated note), this is expected — rely on Step 3 results for connection discovery. If vault_neighborhood returns an error (e.g., 'File not found'), the seed note may have been deleted or the path misresolved — try the next-best result from Step 1, or verify with vault_search.
Search for conceptually related notes that may not be in the graph:
vault_semantic_search({ query: "<topic>", limit: 10 })
If vault_semantic_search is unavailable (no OPENAI_API_KEY), use vault_search with multiple keyword variations and vault_query with relevant tags.
Compare the graph results (step 2) with semantic results (step 3):
| Category | Meaning | Action |
|---|---|---|
| In graph AND semantic | Well-connected, established knowledge | No action needed |
| In graph but NOT semantic | Structurally linked but topically distant | May indicate weak/outdated link |
| In semantic but NOT graph | Missing links — conceptually related but unconnected | Highest-value findings — suggest linking |
Note: If Step 3 used vault_search/vault_query (no OPENAI_API_KEY), the gap analysis is less precise — text search misses conceptually related notes that use different terminology. Flag this reduced fidelity when presenting findings.
Return findings organized as: