pkm-explore
Use when researching what the vault knows about a topic — performs graph + semantic exploration with gap analysis to map existing knowledge and find missing…
Use when you want to quickly capture a new task in the vault from a title, with optional priority and due date.
$ npx -y skills add AdrianV101/obsidian-pkm-plugin --skill add-task --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/add-taskContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when you want to quickly capture a new task in the vault from a title, with optional priority and due date.
name: add-task description: Use when you want to quickly capture a new task in the vault from a title, with optional priority and due date.
Create a task note with minimal friction. Duplicate check → create → confirm. Done in one pass.
Extract from skill arguments or the user's message:
| Field | Source | Default | |---|---|---| | **title** | args / message | required — ask if missing | | **priority** | args | `normal` | | **due** | args (any recognisable date) | none | | **description** | remaining text after title/priority/due | none |
Priority shorthands: `h` / `hi` / `high` → `high`; `u` / `urg` / `urgent` → `urgent`; `l` / `lo` / `low` → `low`; anything else → `normal`.
Read CLAUDE.md for the `# PKM: <path>` line (regex: `/^#\s+PKM:\s*(.+)$/m`):
Task path: `<project>/tasks/<kebab-title>.md`
vault_semantic_search({ query: "<title>", folder: "<project>", limit: 3, threshold: 0.7 })If unavailable (no `VAULT_PKM_OPENAI_KEY`):
vault_search({ query: "<title>", folder: "<project>" })
vault_query({ type: "task", folder: "<project>" })If a similar task exists (similarity > 0.8 or exact/near-exact title in search results): > "Similar task found: `<path>` — `<title>`. Create a new one anyway, or skip?"
If skipping, exit cleanly. If creating anyway, proceed.
vault_write({
template: "task",
path: "<task-path>",
frontmatter: {
tags: ["task"],
status: "pending",
priority: "<priority>",
project: "<project-folder-name>",
...(due ? { due: "<YYYY-MM-DD>" } : {}) // omit due entirely if not provided
}
})If a description was given in Step 1, append it into the Description section:
vault_append({
path: "<task-path>",
heading: "## Description",
position: "after_heading",
content: "<description>"
})Skip if no description was provided — leave the section blank for later.
Report the created task concisely:
> **Task created**: `<project>/tasks/<kebab-title>.md` > Priority: `<priority>` · Due: `<due or none>` · Status: `pending`
Give Claude persistent, structured memory across conversations using your Obsidian vault. Read, write, search, and navigate your knowledge base — all from within Claude Code.
Repo: AdrianV101/obsidian-pkm-plugin
Use when researching what the vault knows about a topic — performs graph + semantic exploration with gap analysis to map existing knowledge and find missing…
Use when wrapping up a work session — creates devlog entry, captures undocumented decisions/research/debugging, audits link health of session work, and updates…
Use when writing to the vault — creating new notes (vault_write), editing existing notes (vault_edit, vault_append, vault_update_frontmatter). Handles…
Use when starting work on a specific vault task, when a task title or path is mentioned, or when coming from triage output.
Use when you want to review and batch-update open vault task statuses for the current project or across all projects.