Obsidian
Work with Obsidian vaults (plain Markdown notes) and automate via obsidian-cli.
$ openclaw install obsidian --registry http://localhost:13001DownloadREADME
--- 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.
Install resolver
{
"artifact": {
"downloadUrl": "/api/v1/download?slug=obsidian&version=1.0.0&ownerHandle=steipete",
"format": "zip",
"generated": true,
"kind": "skillArchive",
"sha256": "92b2b9eba8f802a8e4d4a260ac380ab49d269f12970feb434b599e9f58b53348",
"size": 3433
},
"owner": {
"displayName": "Peter Steinberger",
"handle": "steipete",
"id": "48a27aaa-8614-42e1-9ff1-7d7c299012b4",
"verified": false
},
"skill": {
"displayName": "Obsidian",
"latestVersion": "1.0.0",
"license": "unknown",
"name": "obsidian",
"ownerHandle": "steipete",
"slug": "obsidian",
"stats": {
"downloads": 104290,
"installs": 4110,
"stars": 439
},
"summary": "Work with Obsidian vaults (plain Markdown notes) and automate via obsidian-cli.",
"tags": [
"automation"
],
"type": "skill",
"updatedAt": "2026-07-06T10:48:28.879Z"
},
"sourceHandoff": null,
"version": {
"checksum": null,
"checksumAlgorithm": null,
"id": "f838f070-f856-40aa-8e59-469734178c68",
"publishedAt": "2026-01-04T16:49:22.143Z",
"size": null,
"version": "1.0.0",
"artifactStorageKey": null,
"changelog": "",
"manifest": {
"clawhub": {
"tags": {
"latest": "1.0.0"
},
"owner": "steipete",
"stats": {
"stars": 439,
"comments": 9,
"installs": 4110,
"versions": 1,
"downloads": 104290
},
"topics": [],
"categories": [
"automation"
]
},
"install": "openclaw skills install @steipete/obsidian"
},
"readme": "---\nname: obsidian\ndescription: Work with Obsidian vaults (plain Markdown notes) and automate via obsidian-cli.\nhomepage: https://help.obsidian.md\nmetadata: {\"clawdbot\":{\"emoji\":\"💎\",\"requires\":{\"bins\":[\"obsidian-cli\"]},\"install\":[{\"id\":\"brew\",\"kind\":\"brew\",\"formula\":\"yakitrak/yakitrak/obsidian-cli\",\"bins\":[\"obsidian-cli\"],\"label\":\"Install obsidian-cli (brew)\"}]}}\n---\n\n# Obsidian\n\nObsidian vault = a normal folder on disk.\n\nVault structure (typical)\n- Notes: `*.md` (plain text Markdown; edit with any editor)\n- Config: `.obsidian/` (workspace + plugin settings; usually don’t touch from scripts)\n- Canvases: `*.canvas` (JSON)\n- Attachments: whatever folder you chose in Obsidian settings (images/PDFs/etc.)\n\n## Find the active vault(s)\n\nObsidian desktop tracks vaults here (source of truth):\n- `~/Library/Application Support/obsidian/obsidian.json`\n\n`obsidian-cli` resolves vaults from that file; vault name is typically the **folder name** (path suffix).\n\nFast “what vault is active / where are the notes?”\n- If you’ve already set a default: `obsidian-cli print-default --path-only`\n- Otherwise, read `~/Library/Application Support/obsidian/obsidian.json` and use the vault entry with `\"open\": true`.\n\nNotes\n- Multiple vaults common (iCloud vs `~/Documents`, work/personal, etc.). Don’t guess; read config.\n- Avoid writing hardcoded vault paths into scripts; prefer reading the config or using `print-default`.\n\n## obsidian-cli quick start\n\nPick a default vault (once):\n- `obsidian-cli set-default \"<vault-folder-name>\"`\n- `obsidian-cli print-default` / `obsidian-cli print-default --path-only`\n\nSearch\n- `obsidian-cli search \"query\"` (note names)\n- `obsidian-cli search-content \"query\"` (inside notes; shows snippets + lines)\n\nCreate\n- `obsidian-cli create \"Folder/New note\" --content \"...\" --open`\n- Requires Obsidian URI handler (`obsidian://…`) working (Obsidian installed).\n- Avoid creating notes under “hidden” dot-folders (e.g. `.something/...`) via URI; Obsidian may refuse.\n\nMove/rename (safe refactor)\n- `obsidian-cli move \"old/path/note\" \"new/path/note\"`\n- Updates `[[wikilinks]]` and common Markdown links across the vault (this is the main win vs `mv`).\n\nDelete\n- `obsidian-cli delete \"path/note\"`\n\nPrefer direct edits when appropriate: open the `.md` file and change it; Obsidian will pick it up.\n"
}
}