From vault-pkm
Creates task notes in PKM vaults from title, optional priority, due date, and description. Detects project from CLAUDE.md, checks duplicates via semantic search, and confirms creation.
How this skill is triggered — by the user, by Claude, or both
Slash command
/vault-pkm:add-taskThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create a task note with minimal friction. Duplicate check → create → confirm. Done in one pass.
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):
01-Projects/Obsidian-MCP)00-Inbox for unassigned tasksTask path: <project>/tasks/<kebab-title>.md
<kebab-title> = title lowercased, spaces → -, strip characters other than a-z0-9-<project-folder-name> for the project: frontmatter field is the basename of the vault path (e.g., Obsidian-MCP from 01-Projects/Obsidian-MCP)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>.mdPriority:<priority>· Due:<due or none>· Status:pending
npx claudepluginhub adrianv101/obsidian-pkm-plugin --plugin obsidian-pkmManages vault tasks: resolves by path/title, assesses complexity tier (trivial/standard/significant), explores context, executes workflow, and closes properly. Use on task mentions or triage output.
Creates sequential tasks with priority, status, due dates in secondbrain's .claude/data/tasks YAML shards. Activates on 'create task', 'add todo', or similar requests.
Manages Obsidian tasks via official CLI: lists open tasks across vault, creates tasks in notes, marks tasks complete by ID. Useful for todo and checklist operations.