obsidian

by bassshang

Work with Obsidian vaults (plain Markdown notes) and automate via notesmd-cli.

View Chinese version with editor review

安装

claude skill add --url github.com/openclaw/skills/tree/main/skills/bassshang/obsidian-notesmd-cli

文档

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

notesmd-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: notesmd-cli print-default --path-only
  • Otherwise, read ~/Library/Application Support/obsidian/obsidian.json and use the vault entry with "open": true.

notesmd-cli quick start

Pick a default vault and open behavior (once):

  • notesmd-cli set-default "<vault-folder-name>"
  • notesmd-cli set-default --open-type editor (Sets default to use your terminal/GUI $EDITOR instead of opening the Obsidian app)
  • notesmd-cli print-default / notesmd-cli print-default --path-only

Search

  • notesmd-cli search (Interactive fuzzy search for notes; respects Obsidian's excluded files)
  • notesmd-cli search-content "query" (Searches inside notes; shows snippets + lines)

Create

  • notesmd-cli create "Folder/New note" --content "..."
  • notesmd-cli create "New note" --open (Opens in Obsidian, or $EDITOR if --editor flag is passed)
  • Note: Works directly on disk (headless supported); Obsidian does not need to be running. Reads .obsidian/app.json for default new file locations.

Daily Notes

  • notesmd-cli daily (Creates or opens today's daily note directly on disk)
  • Automatically reads your .obsidian/daily-notes.json for folder, format, and template configurations.

Frontmatter (YAML Metadata)

  • notesmd-cli frontmatter "NoteName" --print
  • notesmd-cli frontmatter "NoteName" --edit --key "status" --value "done"
  • notesmd-cli frontmatter "NoteName" --delete --key "draft"

Move/rename (safe refactor)

  • notesmd-cli move "old/path/note" "new/path/note"
  • Updates [[wikilinks]] and common Markdown links across the vault (this is the main win vs standard mv).

Delete

  • notesmd-cli delete "path/note"

Prefer direct edits when appropriate: open the .md file in any editor (notesmd-cli open "note" --editor) and change it; Obsidian will automatically pick it up.