# Obsidian

Read, search, create, edit, organize, and inspect Obsidian vault notes, tasks, links...

- Repository: https://github.com/EKKOLearnAI/ekko-studio (11634 stars)
- Category: Writing
- License: see repository
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

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

## Description

Read, search, create, edit, organize, and inspect Obsidian vault notes, tasks, links, properties, and plugins with the official CLI.

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

# Obsidian

Use the official `obsidian` CLI for Obsidian-aware vault operations. Vault notes are Markdown, so direct file reads and edits are appropriate when the exact vault path is known and the change does not require Obsidian to update links or metadata.

## Prerequisites

- Obsidian 1.12.7 or newer is installed.
- **Settings > General > Command line interface** is enabled.
- `obsidian` is registered on `PATH`.
- Obsidian is running; the CLI connects to the desktop application.

Check without changing the vault:

```bash
obsidian version
obsidian help
```

If the CLI is absent, explain how to enable the official CLI in Obsidian. Do not silently install a third-party `obsidian-cli` package.

## Vault selection

Multiple vaults are common. Use `vault="<name>"` when the target is ambiguous, and ask the user to choose rather than guessing. Prefer `path="Folder/Note.md"` for exact vault-relative resolution; `file=<name>` uses Obsidian's name-based resolution.

Do not edit `.obsidian/` configuration unless the user explicitly requested a settings or plugin change. Avoid reading or exposing unrelated notes from a private vault.

## Command pattern

```bash
obsidian <command> [name=value] [flag]
obsidian vault="Notes" search query="meeting notes" format=json
```

Quote parameter values containing spaces. Prefer structured output such as `format=json` when available.

## Open and read

```bash
obsidian open file=Recipe
obsidian open path="Inbox/Idea.md" newtab
obsidian read
obsidian read file=Recipe
```

## Search

```bash
obsidian search query="TODO" matches
obsidian search query="status::active" format=json
obsidian search:open query="project notes"
```

## Create and modify

```bash
obsidian create name="New Note"
obsidian create path="Inbox/Idea.md" content="# Idea"
obsidian append file=Note content="New line"
obsidian prepend file=Note content="After frontmatter"
```

The rest: https://github.com/EKKOLearnAI/ekko-studio/blob/HEAD/packages/ekko-agent/skills/obsidian/SKILL.md
