mcpbeat

Obsidian Knowledge

pandazki/obsidian-knowledge

> {{customDescription}}

741 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
153
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/pandazki/pneuma-skills --skill obsidian-knowledge

The instruction itself

4 sections, as written by the author

Obsidian Knowledge Base

Every session starts from zero context. But the user has been thinking about these topics for weeks, months, sometimes years — and that thinking lives in their Obsidian vault. Notes, bookmarks, project docs, design decisions, research findings. When you search the vault before starting work, you're not just gathering information — you're respecting the context the user has already built, and producing output that fits into their existing mental model rather than a generic one.

The difference between good and great output is often grounding: the same presentation about "AI agent sandboxes" is dramatically better when it references the specific project the user bookmarked last month, uses their terminology, and connects to their existing knowledge graph.

Search when the answer might already exist in the user's own words:

  • Starting a new creative task — the user says "make a deck about X" or "write a doc about Y". Before planning, search for X or Y. Even a single related note changes your approach.
  • A specific name appears — project names, tool names, people, concepts. If the user mentions "sandbox" or "better-auth" or any proper noun, search it. They bookmarked it for a reason.
  • "Look up" / "check" / "find" / "reference" — the user is explicitly asking you to search. Their vault first, web second.
  • You're about to use general knowledge — pause and consider: does the user have their own take on this? A quick search costs nothing; missing their existing notes costs relevance.

When a search returns nothing, that's fine — proceed with your own knowledge. The point is to check, not to force-find.

API

All endpoints use the Pneuma server's base URL.

Search — find notes by keyword:

POST /api/plugins/obsidian-memory/search
Body: { "query": "search terms", "limit": 5 }
→ { results: [{ entry: { path, title }, score, snippet }] }

Read — get full content of a note:

GET /api/plugins/obsidian-memory/read/{path}
→ { entry: { path, title, content } }

Write — create or update a note (only when user asks):

POST /api/plugins/obsidian-memory/write
Body: { "path": "folder/file.md", "content": "...", "tags": ["..."] }

Status — check availability (call once per session):

GET /api/plugins/obsidian-memory/status
→ { available: true/false }

Patterns

Search → Read: Search returns paths and snippets. If a snippet looks relevant, read the full note. One search + one read is the typical flow.

Cite casually: "I found a note in your vault about X" — not formally, not with full paths.

Don't over-search: One or two searches per topic. No results = the user doesn't have notes on this, move on.

Write sparingly: Only when the user explicitly asks to save something to their vault.

{{customGuidance}}

How to use it

Copy the folder

Take pandazki/obsidian-knowledge from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.