Agent skill

Obsidian Vault

by espennilsen in espennilsen/pi

Read, create, and update notes in Espen's Obsidian vault (PARA method).

MITAuto-check passedKnowledge Management

Install Obsidian Vault

skills CLI
$ npx skills add espennilsen/pi --skill obsidian-vault -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install espennilsen/pi obsidian-vault --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/espennilsen/pi.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/obsidian-vault .claude/skills/obsidian-vault && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
obsidian-vault
GitHub stars
122
Token cost
~1.4k tokens
SKILL.md length
251 words
Files
1
Skills in repo
36
Repo updated
First seen
Licence
MIT

At a glance

Read, create, and update notes in Espen's Obsidian vault (PARA method).

  • Works in 3 steps: Read the vault's own AGENTS.md for full… → Read the relevant _Index.md file for the… → Check the 🏷️ Tag Taxonomy.md for…
  • Asked about notes
  • SKILL.md covers Vault Location, ⚠️ Safety, Before Making Changes and Structure (PARA), plus 2 more sections
  • Calls curl; needs OBSIDIAN_API_KEY

What it does

Obsidian Vault is an agent skill from espennilsen/pi. Read, create, and update notes in Espen's Obsidian vault (PARA method). Use when asked about notes, tasks, projects, dashboards, daily logs, or anything in the vault.

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Knowledge Management. It works with Obsidian. The licence is MIT.

When your agent uses it

  • Asked about notes
  • Anything in the vault

Example prompts

  • “/obsidian-vault”

Requirements

  • A credential in OBSIDIAN_API_KEY

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Read the vault's own AGENTS.md for full context on structure, plugins, workflows, and conventions
  2. Read the relevant _Index.md file for the section you're working in
  3. Check the 🏷️ Tag Taxonomy.md for correct tag usage

What it can do on your machine

Read from SKILL.md and the folder at commit 79d019b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use curl, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • OBSIDIAN_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Obsidian Vault loads about 1.4k tokens when it runs. Until then it costs about 45 tokens; SKILL.md has 251 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~45
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from espennilsen/pi at commit 79d019b, republished under its MIT licence (© espennilsen). 251 words, ~1,402 tokens.

Download SKILL.mdSave it as .claude/skills/obsidian-vault/SKILL.md (or your agent's skills folder).
name
obsidian-vault
description
Read, create, and update notes in Espen's Obsidian vault (PARA method). Use when asked about notes, tasks, projects, dashboards, daily logs, or anything in the vault.

Obsidian Vault Management

Vault Location

/Users/espen/Library/CloudStorage/OneDrive-Espennilsen.net/2-Areas/Digital_Life/Obsidian/e9n

⚠️ Safety

Always confirm with Espen before creating, modifying, or deleting any vault file.

The vault has established automation (Dataview queries, Templater templates, dashboards). Breaking these patterns can cascade.

Before Making Changes

  1. Read the vault's own AGENTS.md for full context on structure, plugins, workflows, and conventions
  2. Read the relevant _Index.md file for the section you're working in
  3. Check the 🏷️ Tag Taxonomy.md for correct tag usage

Structure (PARA)

1. Projects/     — Active initiatives with deadlines
2. Areas/        — Ongoing responsibilities (Education, Finance, Health, Personal Dev, Romance)
3. Resources/    — Reference materials (AI, Books, Career, Homelab, Languages, Programming)
4. Archive/      — Completed or inactive items
Notes/           — Daily/Weekly/Monthly notes with habit tracking
Tasks/           — TaskNotes (one task per note)
Templates/       — 23+ Templater templates
Weekly Reviews/  — Periodic reflections

Conventions

  • Frontmatter is required on all notes: created, modified, type, tags at minimum
  • Tags follow the taxonomy: #project/active, #type/note, #status/active, #priority/high, #area/professional
  • File naming: Use descriptive names. TaskNotes use format: Project - Task Description.md
  • Templates: Always use existing templates rather than creating notes from scratch. Check Templates/ first.
  • Links: Use [[wiki-links]] for internal references
  • Dataview: Many notes contain Dataview queries. Don't break the query syntax when editing.

Obsidian Local REST API

The vault has the Local REST API plugin (v3.4.3) running. Prefer this over direct filesystem access — it respects Obsidian's internal state, caches, and metadata.

Base URL: http://localhost:27223
API Key:  d4fc944e64f535df05b34c2e8596c4e3eaffc6dfd5b5ee15e76789a4ab96698a
Auth:     Authorization: Bearer <key>
Common Operations
List files in a directory
bash
curl -s "http://localhost:27223/vault/" -H "Authorization: Bearer $OBSIDIAN_API_KEY"
curl -s "http://localhost:27223/vault/1.%20Projects/" -H "Authorization: Bearer $OBSIDIAN_API_KEY"
Read a note (markdown)
bash
curl -s "http://localhost:27223/vault/PATH.md" \
  -H "Authorization: Bearer $OBSIDIAN_API_KEY" \
  -H "Accept: text/markdown"
Read a note (JSON with metadata, tags, frontmatter)
bash
curl -s "http://localhost:27223/vault/PATH.md" \
  -H "Authorization: Bearer $OBSIDIAN_API_KEY" \
  -H "Accept: application/vnd.olrapi.note+json"
Simple text search (⚠️ POST, not GET)
bash
curl -s -X POST "http://localhost:27223/search/simple/?query=TERM&contextLength=100" \
  -H "Authorization: Bearer $OBSIDIAN_API_KEY"

Returns: [{ filename, score, matches: [{ match: {start, end}, context }] }]

Dataview DQL search (POST)
bash
curl -s -X POST "http://localhost:27223/search/" \
  -H "Authorization: Bearer $OBSIDIAN_API_KEY" \
  -H "Content-Type: application/vnd.olrapi.dataview.dql+txt" \
  -d 'TABLE file.ctime AS "Created" FROM "1. Projects" WHERE status = "active" LIMIT 10'
JsonLogic search (POST) — find by frontmatter/tags
bash
# Find notes with a specific tag
curl -s -X POST "http://localhost:27223/search/" \
  -H "Authorization: Bearer $OBSIDIAN_API_KEY" \
  -H "Content-Type: application/vnd.olrapi.jsonlogic+json" \
  -d '{"in": ["project/active", {"var": "tags"}]}'
Create or update a note (PUT)
bash
curl -s -X PUT "http://localhost:27223/vault/PATH.md" \
  -H "Authorization: Bearer $OBSIDIAN_API_KEY" \
  -H "Content-Type: text/markdown" \
  -d '---
created: 2026-02-09
type: note
tags: [type/note]
---
# Title

Content here'
Append to a note (POST)
bash
curl -s -X POST "http://localhost:27223/vault/PATH.md" \
  -H "Authorization: Bearer $OBSIDIAN_API_KEY" \
  -H "Content-Type: text/markdown" \
  -d 'Content to append'
Patch a note (PATCH) — insert relative to heading/block/frontmatter
bash
curl -s -X PATCH "http://localhost:27223/vault/PATH.md" \
  -H "Authorization: Bearer $OBSIDIAN_API_KEY" \
  -H "Content-Type: text/markdown" \
  -H "Operation: append" \
  -H "Target-Type: heading" \
  -H "Target: Heading 1::Subheading" \
  -d 'New content under this heading'
Delete a note
bash
curl -s -X DELETE "http://localhost:27223/vault/PATH.md" \
  -H "Authorization: Bearer $OBSIDIAN_API_KEY"
Get periodic notes (daily/weekly/monthly)
bash
# Current daily note
curl -s "http://localhost:27223/periodic/daily/" \
  -H "Authorization: Bearer $OBSIDIAN_API_KEY" \
  -H "Accept: text/markdown"

# Specific date
curl -s "http://localhost:27223/periodic/daily/2026/2/9/" \
  -H "Authorization: Bearer $OBSIDIAN_API_KEY" \
  -H "Accept: text/markdown"
Filesystem Fallback

If the REST API is down, fall back to direct file access:

bash
VAULT="/Users/espen/Library/CloudStorage/OneDrive-Espennilsen.net/2-Areas/Digital_Life/Obsidian/e9n"

# Read a note
cat "$VAULT/PATH.md"

# Find by name
find "$VAULT" -name "*.md" | grep -i "search term"

# Find by content
grep -rl "search term" "$VAULT" --include="*.md"

# Recent daily notes
ls -lt "$VAULT/Notes/Daily/" | head -10

© espennilsen, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/obsidian-vault of espennilsen/pi.

Open the folder on GitHubat commit 79d019b

Compare with similar skills

Obsidian Vault next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Obsidian Vault compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Obsidian Vault this skillespennilsen/pi122—~1.4kAutomated safety check: PassMIT
Obsidian CLIAtmosphere/atmosphere3.8k13 repos~795Automated safety check: PassApache-2.0
Obsidian Canvas BoardsAgriciDaniel/claude-obsidian15k—~1.4kAutomated safety check: PassMIT
LLM Wikilewislulu/llm-wiki-skill655—~3.7kAutomated safety check: PassNone
Second BrainNicholasSpisak/second-brain737—~1.5kAutomated safety check: NotesNone
Codex History IngestAr9av/obsidian-wiki3.5k—~2.2kAutomated safety check: NotesMIT

Similar skills

  • Obsidian CLI

    Atmosphere/atmosphere

    Interact with Obsidian vaults using the Obsidian CLI to read, create, search, and manage notes, tasks, properties, and more.

    3.8k GitHub starsUsed in 13 repos~795 tokens
    Knowledge ManagementAuto-check passed
  • Obsidian Canvas Boards

    AgriciDaniel/claude-obsidian

    Creates, inspects and updates Obsidian JSON Canvas boards in a vault, with text, file, link, group and edge nodes, using safe recoverable edits.

    15k GitHub stars~1.4k tokensUpdated 29 days ago
    Knowledge ManagementAuto-check passed
  • LLM Wiki

    lewislulu/llm-wiki-skill

    Build and maintain a Karpathy-style LLM knowledge base — a self-compiling Obsidian markdown wiki where an Agent ingests raw sources, compiles cross-linked concept/entity/summary pages, answers…

    655 GitHub stars~3.7k tokensUpdated 5 mo ago
    Knowledge ManagementAuto-check passed
  • Second Brain

    NicholasSpisak/second-brain

    Set up a new Obsidian knowledge base with the LLM Wiki pattern.

    737 GitHub stars~1.5k tokensUpdated 6 mo ago
    Knowledge ManagementAuto-check: notes
  • Codex History Ingest

    Ar9av/obsidian-wiki

    Ingest Codex CLI conversation/session history into Obsidian as distilled knowledge.

    3.5k GitHub stars~2.2k tokensUpdated yesterday
    Knowledge ManagementAuto-check: notes
  • Autograph

    smixs/agent-second-brain

    Schema-as-code enforcement for any Obsidian vault. An agent skill from smixs/agent-second-brain.

    393 GitHub stars~3.7k tokensUpdated 2 mo ago
    Knowledge ManagementAuto-check passed

More from espennilsen/pi

All 36 skills in this repo
  • GitHub

    espennilsen/pi

    Interact with GitHub repos, PRs, issues, CI, and notifications via the pi-github extension commands and gh CLI.

    122 GitHub stars~1k tokensUpdated 18 days ago
    Auto-check passed
  • Skill Creator

    espennilsen/pi

    Create, review, and improve skills for Pi agents. An agent skill from espennilsen/pi.

    122 GitHub stars~2.1k tokensUpdated 18 days ago
    Auto-check passed
  • Dry Code Review

    espennilsen/pi

    Perform a comprehensive DRY (Don't Repeat Yourself) code review on a codebase.

    122 GitHub stars~1.7k tokensUpdated 18 days ago
    Auto-check passed
  • Extract Design System

    espennilsen/pi

    Reverse-engineer a design system from a live website (public URL or localhost).

    122 GitHub stars~2k tokensUpdated 18 days ago
    Auto-check passed
  • PDF Reader

    espennilsen/pi

    Read and extract content from PDF files — text, tables, metadata, and images.

    122 GitHub stars~1.6k tokensUpdated 18 days ago
    Auto-check passed
  • Google Workspace

    espennilsen/pi

    Manage Google Workspace via the gws CLI — Drive, Gmail, Sheets, Docs, Slides, People, Chat, Meet, Forms, and cross-service workflows.

    122 GitHub stars~3.4k tokensUpdated 18 days ago
    Auto-check passed

Works with

Questions about Obsidian Vault

What does Obsidian Vault do?

Read, create, and update notes in Espen's Obsidian vault (PARA method). Obsidian Vault is an agent skill from espennilsen/pi. Read, create, and update notes in Espen's Obsidian vault (PARA method).

When should I use Obsidian Vault?

Obsidian Vault fits situations like: asked about notes; anything in the vault.

How do I install Obsidian Vault in Claude Code?

Run `npx skills add espennilsen/pi --skill obsidian-vault -a claude-code`. Or copy the skill folder (skills/obsidian-vault in espennilsen/pi) into .claude/skills/obsidian-vault in your project. Claude Code loads it when a task matches its description.

How do I install Obsidian Vault in Codex?

Run `npx skills add espennilsen/pi --skill obsidian-vault -a codex`. Or copy the skill folder (skills/obsidian-vault in espennilsen/pi) into .agents/skills/obsidian-vault in your project. Codex loads it when a task matches its description.

Can I use Obsidian Vault in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add espennilsen/pi --skill obsidian-vault -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/obsidian-vault, .gemini/skills/obsidian-vault, .github/skills/obsidian-vault and .opencode/skills/obsidian-vault in your project.

What does Obsidian Vault need to run?

Going by SKILL.md and its folder, Obsidian Vault needs the command-line tools its instructions call (curl) and credentials named OBSIDIAN_API_KEY. Our summary lists: A credential in OBSIDIAN_API_KEY.

Does Obsidian Vault access the network?

SKILL.md contains no URLs. Its commands use curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Obsidian Vault safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Obsidian Vault use?

Obsidian Vault is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Obsidian Vault use?

About 1.4k tokens (SKILL.md is roughly 5.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Obsidian Vault?

Skills that share tags, products or a category with Obsidian Vault: Obsidian CLI (Atmosphere/atmosphere, 3.8k stars), Obsidian Canvas Boards (AgriciDaniel/claude-obsidian, 15k stars), LLM Wiki (lewislulu/llm-wiki-skill, 655 stars) and Second Brain (NicholasSpisak/second-brain, 737 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Obsidian Vault?

espennilsen (a GitHub user) maintains it in espennilsen/pi, which has 122 GitHub stars. The repository holds 36 skills in this directory. The repository was last updated on September 21, 2026.

Source: espennilsen/pi on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.