Skip to content
Back to skills

Pkm Explore

ASecurity

Use when researching what the vault knows about a topic — performs graph + semantic exploration with gap analysis to map existing knowledge and find missing connections. Primarily used via the vault-explorer agent. Not for routine session-start context loading (hooks handle that).

  • 13 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added May 26, 2026
ai-agentsgoapi

Works with

  • api

Security analysis

A100/100

Scanned May 27, 2026

npx -y skills add AdrianV101/obsidian-pkm-plugin --skill pkm-explore --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Pkm Explore?

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

Security grade badge for Pkm Explore
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/adrianv101-pkm-explore/badge)](https://www.skillsdirectory.com/skills/adrianv101-pkm-explore)

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: pkm-explore
description: Use when researching what the vault knows about a topic — performs graph + semantic exploration with gap analysis to map existing knowledge and find missing connections. Primarily used via the vault-explorer agent. Not for routine session-start context loading (hooks handle that).
---

# PKM Explore — Knowledge Discovery and Gap Analysis

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.

## Step 1: Identify Seed Note

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:**

- If a specific note path was provided, use that directly as the seed.
- Otherwise: read the top result with `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.
- If the top result is tangential or off-topic, corroborate with one `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.

## Step 2: Graph Context

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`.

## Step 3: Semantic Expansion

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.

## Step 4: Gap Analysis

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.

## Step 5: Synthesize

Return findings organized as:

1. **What exists**: Key notes on this topic with brief summaries (type, status, tags)
2. **How it's connected**: Graph structure — which notes link to which, at what depth
3. **Missing links**: Conceptually related notes not yet in the graph (candidates for linking — note reduced precision if semantic search was unavailable)
4. **Knowledge gaps**: Topics referenced but not covered by any note — candidates for new notes via pkm-write

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.