Claude Code plugin that connects your sessions to an Obsidian vault. It auto-loads project notes when a session starts, lets you capture notes and decisions mid-session, writes an end-of-session summary, and turns your daily notes into a Slack standup.
| Skill | Trigger | What it does |
|---|---|---|
obsidian-setup |
"set up obsidian", "/obsidian-setup" | Interactively creates the config file (~/.claude/obsidian.json) |
obsidian-context |
"load context", "what do we know about X" | Loads notes for the current or another project into the session |
obsidian-note |
"remember this", "save that", "note this" | Saves a note or decision to the project's vault folder |
wrap-up |
"wrap up", "done for now", "/wrap-up" | Writes a session summary to the daily note and sessions/ folder |
standup |
"standup", "daily update" | Builds a Slack standup from yesterday's daily note |
A SessionStart hook also auto-loads the current project's notes on startup and resume, so context is already in the conversation before you type anything.
Notes are organized by project under your vault's Projects/ root. A project folder is resolved from your working directory: the path after your local projectsBase (default ~/Projects) becomes the project key, which maps to the same path under projectsRoot in the vault. For example, with the defaults, ~/Projects/h2ik/obsidian-skills maps to Projects/h2ik/obsidian-skills. Both sides are configurable — projectsBase is the local filesystem root your repos are checked out under, and projectsRoot is the vault folder they land in. Git worktree segments (--worktrees/<name>, --claude-worktrees/<name>) are stripped from the key so a worktree resolves to the same folder as its main checkout. To send a project key to a different vault folder, add an entry to projectMappings (full key → folder). Each project keeps freeform notes plus a sessions/ subfolder of dated session logs.
-
Add the marketplace and install the plugin:
/plugin marketplace add jonwhitcraft/obsidian-skills /plugin install obsidian-skills(Or add a local clone:
/plugin marketplace add /path/to/obsidian-skills.) -
Create the config file at
~/.claude/obsidian.json. The easy way — just ask Claude:set up obsidianThe
obsidian-setupskill walks you through it: it asks for your vault path, validates that it exists, auto-detects your daily-notes and projects folders, and writes the config for you.Prefer to do it by hand? Copy the example and edit it:
cp obsidian.json.example ~/.claude/obsidian.jsonField Required Description vaultyes Absolute path to your vault root. ~is expanded.dailyNotesno (default Daily Notes)Daily-notes folder, relative to the vault. projectsBaseno (default ~/Projects)Local filesystem root your repos are checked out under. ~is expanded.projectsRootno (default Projects)Projects folder in the vault, relative to the vault root. projectMappingsno Map a project key (path under projectsBase, e.g.namespace/repo) to a different vault folder. -
jqmust be on your PATH — the hooks and skills use it to read the config.
That's it. Open a session inside a project under your projectsBase (default ~/Projects/) and your notes load automatically.
YourVault/
Daily Notes/YYYY-MM-DD.md # one per day, ## Claude Activity section
Projects/
<namespace>/<project>/
sessions/
sessions.md # reverse-chrono index
YYYY-MM-DD-<slug>.md # individual session logs
*.md # design decisions, gotchas, etc.
jq- A vault that lives on the local filesystem (iCloud Drive paths are fine)
- Repos checked out under your
projectsBase(default~/Projects/) for auto-resolution
Licensed under the Apache License, Version 2.0 — see LICENSE.