home / skills / openclaw / skills / obsidian

obsidian skill

/skills/steipete/obsidian

This skill helps you manage Obsidian vaults and automate tasks with obsidian-cli, improving note organization and script reliability.

npx playbooks add skill openclaw/skills --skill obsidian

Review the files below or copy the command above to add this skill to your agents.

Files (2)
SKILL.md
2.3 KB
---
name: obsidian
description: Work with Obsidian vaults (plain Markdown notes) and automate via obsidian-cli.
homepage: https://help.obsidian.md
metadata: {"clawdbot":{"emoji":"đź’Ž","requires":{"bins":["obsidian-cli"]},"install":[{"id":"brew","kind":"brew","formula":"yakitrak/yakitrak/obsidian-cli","bins":["obsidian-cli"],"label":"Install obsidian-cli (brew)"}]}}
---

# Obsidian

Obsidian vault = a normal folder on disk.

Vault structure (typical)
- Notes: `*.md` (plain text Markdown; edit with any editor)
- Config: `.obsidian/` (workspace + plugin settings; usually don’t touch from scripts)
- Canvases: `*.canvas` (JSON)
- Attachments: whatever folder you chose in Obsidian settings (images/PDFs/etc.)

## Find the active vault(s)

Obsidian desktop tracks vaults here (source of truth):
- `~/Library/Application Support/obsidian/obsidian.json`

`obsidian-cli` resolves vaults from that file; vault name is typically the **folder name** (path suffix).

Fast “what vault is active / where are the notes?”
- If you’ve already set a default: `obsidian-cli print-default --path-only`
- Otherwise, read `~/Library/Application Support/obsidian/obsidian.json` and use the vault entry with `"open": true`.

Notes
- Multiple vaults common (iCloud vs `~/Documents`, work/personal, etc.). Don’t guess; read config.
- Avoid writing hardcoded vault paths into scripts; prefer reading the config or using `print-default`.

## obsidian-cli quick start

Pick a default vault (once):
- `obsidian-cli set-default "<vault-folder-name>"`
- `obsidian-cli print-default` / `obsidian-cli print-default --path-only`

Search
- `obsidian-cli search "query"` (note names)
- `obsidian-cli search-content "query"` (inside notes; shows snippets + lines)

Create
- `obsidian-cli create "Folder/New note" --content "..." --open`
- Requires Obsidian URI handler (`obsidian://…`) working (Obsidian installed).
- Avoid creating notes under “hidden” dot-folders (e.g. `.something/...`) via URI; Obsidian may refuse.

Move/rename (safe refactor)
- `obsidian-cli move "old/path/note" "new/path/note"`
- Updates `[[wikilinks]]` and common Markdown links across the vault (this is the main win vs `mv`).

Delete
- `obsidian-cli delete "path/note"`

Prefer direct edits when appropriate: open the `.md` file and change it; Obsidian will pick it up.

Overview

This skill automates working with Obsidian vaults (plain Markdown notes) using obsidian-cli. It helps discover the active vault, search notes and content, and perform safe create/move/delete operations while preserving wiki links and vault integrity. Use it to script backups, batch edits, or integrate Obsidian with other tools.

How this skill works

The skill reads Obsidian's desktop config to locate vaults (typically at ~/Library/Application Support/obsidian/obsidian.json) and can set or print a default vault. It calls obsidian-cli commands to search filenames or note contents, create notes via Obsidian URI, and perform safe refactors that update [[wikilinks]] and common Markdown links. For simple changes it also supports direct edits of the Markdown files, letting Obsidian pick up filesystem changes.

When to use it

  • Automating backups or archival tasks across multiple Obsidian vaults.
  • Batch searching or refactoring notes while preserving internal links.
  • Creating templated notes programmatically and opening them in Obsidian.
  • Scripting vault discovery so tools don’t rely on hardcoded paths.
  • Deleting or moving notes safely with automatic link updates.

Best practices

  • Read obsidian.json to discover active vaults; don’t hardcode paths.
  • Use obsidian-cli move for renames to update wikilinks and avoid broken links.
  • Prefer direct file edits for simple content changes; Obsidian will sync them.
  • Avoid creating notes under hidden dot-folders via URI—Obsidian may refuse.
  • Set a default vault with obsidian-cli for predictable scripted behavior.

Example use cases

  • Set a default vault then run a nightly script to export or back up all Markdown files.
  • Search-content for a term across a vault and generate a summary report of matches.
  • Create new meeting notes from a template via obsidian-cli create and open them in Obsidian.
  • Refactor a folder structure by moving notes with obsidian-cli move to update all internal links.
  • Clean up obsolete notes programmatically using obsidian-cli delete after validation.

FAQ

How does the skill find which vault to operate on?

It reads Obsidian's desktop config (obsidian.json) to find vault entries and the one marked open, or uses the vault set via obsidian-cli set-default.

When should I edit files directly instead of using obsidian-cli?

For single-file content tweaks or programmatic edits, direct file changes are fine; use obsidian-cli for operations that must update wiki links or interact with Obsidian URIs.