# Obsidian

Obsidian vault: search/read/write notes, backlinks, Bases, Canvas.

- Repository: https://github.com/steipete/agent-scripts (7431 stars)
- Category: Writing
- License: MIT
- Last updated: 2026-10-30
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add steipete/agent-scripts --skill obsidian -g -a claude-code -y`
Codex: `npx skills add steipete/agent-scripts --skill obsidian -g -a codex -y`
Cursor: `npx skills add steipete/agent-scripts --skill obsidian -g -a cursor -y`
Gemini CLI: `npx skills add steipete/agent-scripts --skill obsidian -g -a gemini-cli -y`

## Description

Obsidian vault: search/read/write notes, backlinks, Bases, Canvas.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Obsidian

Use this for local Obsidian vault work. An Obsidian vault is a normal folder of Markdown files plus `.obsidian/` config.

## Sources

- App config: `~/Library/Application Support/obsidian/obsidian.json`
- Default vault name: `obsidian`
- Usual local vault path: `~/obsidian`
- Official CLI: `obsidian`
- Vault commands resolve the vault from cwd; run them from `~/obsidian`.

## First Checks

```bash
command -v obsidian
obsidian version
obsidian vaults
cd ~/obsidian
obsidian commands filter=search:
```

Global commands like `version` and `vaults` work outside a vault. Vault-content
commands may print `Vault not found.` outside `~/obsidian`. Use `obsidian
commands`, not `obsidian help`, for CLI discovery.

If `obsidian` says CLI is disabled:

1. Prefer asking the user to enable Settings -> General -> Advanced -> Command line interface.
2. If you already confirmed the app config shape, `~/Library/Application Support/obsidian/obsidian.json` uses `"cli": true`.
3. Restart Obsidian after changing app-level CLI config.

## Read Workflow

Prefer official CLI for Obsidian-aware lookups:

```bash
cd ~/obsidian
obsidian search query="OpenClaw" format=json
obsidian search:context query="OpenClaw" limit=20 format=json
obsidian read path="Folder/Note.md"
obsidian file path="Folder/Note.md"
obsidian outline path="Folder/Note.md" format=json
obsidian backlinks path="Folder/Note.md" format=json
obsidian links path="Folder/Note.md"
obsidian properties path="Folder/Note.md" format=json
```

Use direct filesystem reads when you already know the path and need exact bytes:

```bash
sed -n '1,220p' "$HOME/obsidian/Folder/Note.md"
rg -n "term" "$HOME/obsidian"
```

Report which source you used when freshness or vault choice matters.

## Write Workflow

Choose the narrowest write path:

The rest: https://github.com/steipete/agent-scripts/blob/HEAD/skills/obsidian/SKILL.md
