# Obsidian

> Use the Obsidian MCP server to read, write, and search your Obsidian vault from Claude Code. Trigger when the user asks to save notes, check their vault, log meeting output, write to a daily note, search for prior context, or do anything involving Obsidian. Also trigger when asked to "remember" something that should persist as a note rather than a Claude memory.

- Skill: `juliushamm/obsidian` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add juliushamm/obsidian`
- Raw SKILL.md: https://api.skillmd.com/api/skills/juliushamm/obsidian/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: juliushamm (https://skillmd.com/u/juliushamm)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/juliushamm/obsidian

---


# Obsidian MCP Skill

Use the Obsidian MCP server to interact with the user's vault — read notes, write new content,
search, append to daily notes, and persist information across sessions.

---

## Available Tools

These tools are provided by the `obsidian` MCP server. All paths are relative to the vault root.

| Tool | When to use |
|---|---|
| `obsidian_get_file_contents` | Read a specific note by path |
| `obsidian_batch_get_file_contents` | Read multiple notes at once |
| `obsidian_list_files_in_dir` | List notes in a folder |
| `obsidian_list_files_in_vault` | Get the full vault file list |
| `obsidian_simple_search` | Full-text search across the vault |
| `obsidian_complex_search` | Search with filters (tags, frontmatter, date ranges) |
| `obsidian_append_content` | Add content to the end of a note |
| `obsidian_patch_content` | Replace a specific section in a note (by heading) |
| `obsidian_get_periodic_note` | Get today's / this week's daily or weekly note |
| `obsidian_get_recent_changes` | List recently modified notes |
| `obsidian_get_recent_periodic_notes` | List recent daily/weekly notes |
| `obsidian_delete_file` | Delete a note (confirm with user first) |

---

## Core Behaviors

### Writing a new note

Use `obsidian_append_content` to a new path — it creates the file if it doesn't exist.

Always include frontmatter when creating a new note:
```markdown
---
created: YYYY-MM-DD
tags: [relevant, tags]
---

# Note Title

Content here.
```

### Appending to an existing note

Use `obsidian_append_content`. Don't rewrite the whole file — append only what's new.

### Updating a section

Use `obsidian_patch_content` with the heading as the target. This replaces content under
that heading without touching the rest of the file.

### Daily notes

Use `obsidian_get_periodic_note` to get today's daily note before appending to it.
If it doesn't exist yet, `obsidian_append_content` to the expected path will create it.

### Searching before writing

Before creating a note, search for existing related content with `obsidian_simple_search`.
Prefer appending to an existing note over creating a duplicate.

---

## Rules

- **Never delete a file without explicit user confirmation** — ask first, always
- **Never overwrite entire notes** — use `patch_content` for sections, `append_content` for additions
- **Keep frontmatter intact** — don't strip or reformat existing frontmatter
- **Use the vault's existing folder structure** — check `obsidian_list_files_in_vault` to understand where things live before creating new paths
- **Prefer atomic appends** — small, specific additions over large rewrites
- **Tag consistently** — check existing tags in related notes before making up new ones

---

## Common Patterns

### Log a meeting or decision

```
1. obsidian_get_file_contents → check if a note already exists for this topic
2. If not: obsidian_append_content → create a new note under Meetings/ or Decisions/
3. If yes: obsidian_patch_content → update the relevant section
```

### Save a code snippet or reference

```
1. obsidian_simple_search → check for existing note on the topic
2. obsidian_append_content → add to existing, or create under References/
```

### Check prior context before starting work

```
1. obsidian_simple_search → search for the project, feature, or decision name
2. obsidian_batch_get_file_contents → read the top results
3. Summarize relevant context to the user before proceeding
```

### End-of-session summary

```
1. obsidian_get_periodic_note → get today's daily note
2. obsidian_append_content → append a brief session summary with decisions made
```

---

## Vault Structure Tips

A clean vault structure makes these patterns reliable. Suggested folders:

```
vault/
├── Daily/          ← Daily notes (YYYY-MM-DD.md)
├── Meetings/       ← Meeting notes by date or project
├── Projects/       ← One note or folder per project
├── Decisions/      ← Architecture decisions, design choices
├── References/     ← Code snippets, links, docs
└── Inbox/          ← Quick captures, unsorted
```

If the vault uses a different structure, discover it first with `obsidian_list_files_in_vault`
before writing anywhere.

