Skip to content
Agentmart
Submit a tool

elegy-obsidian

Read, write, and search a local Obsidian vault via the official Obsidian Desktop CLI (v1.12.7+).

Skill by Sofreshx

IndexedApache-2.0
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/sofreshx-elegy-obsidian

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Read, write, and search a local Obsidian vault via the official Obsidian Desktop CLI (v1.12.7+). Non-authoritative convenience layer; durable planning state continues to flow through elegy-planning and SQLite. User-invoked; do not auto-load.

Use cases: writing

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/elegy-obsidian

What's inside

Skill name
elegy-obsidian
Description
Read, write, and search a local Obsidian vault via the official Obsidian Desktop CLI (v1.12.7+). Non-authoritative convenience layer; durable planning state continues to flow through elegy-planning and SQLite. User-invoked; do not auto-load.
License
Apache-2.0
Instructions
232 lines in SKILL.md · view on GitHub

Files (4)

  • README.md
  • SKILL.md
  • readiness.json
  • obsidian-cli-catalog.md · references/

SKILL.md (first lines)

> **Invocation posture**: user-invoked only. This skill wraps the Obsidian CLI and can mutate vault content (create, append, patch, move, delete, task toggle). It must not be auto-invoked by the model.
>
> **Readiness: concept; not agent-routable.** The required Obsidian runtime and an installed non-fixture vault task have not been verified.

# Elegy Obsidian

## Purpose

`elegy-obsidian` is a convenience layer over the official `obsidian` CLI
shipped with Obsidian Desktop 1.12.7+. It is a foundation surface only;
it deliberately does **not** mirror, attach, resolve, or list Obsidian
vault state into the Elegy planning authority. That work belongs to a
future `elegy-planning obsidian ...` Rust subcommand set.

Obsidian is treated as a **non-authoritative** mirror:

- The official `obsidian` CLI is a black-box process boundary; the
  skill does not parse or normalize its output into an Elegy
  planning schema.
- Durable cross-session state continues to live in `elegy-planning`
  (goals, roadmaps, plans, todos, issues, review points) backed by
  SQLite.
- Vault reads, file appends, and search results must not be written
  into paths that would shadow planning authority (for example,
  `.elegy/backlogs/`, `roadmaps/`, or any spec/ADR location owned
  by another skill).

## Prerequisite

The official `obsidian` binary must be available. It is shipped with
Obsidian Desktop 1.12.7+; the CLI is not enabled by default. The
Obsidian Desktop app must also be running for the CLI to function —
commands fail if the app is not open.

If the `obsidian` CLI is not installed or not reachable, this skill
cannot function — inform the user and offer to install Obsidian
Desktop or enable the CLI in Obsidian Settings -> General ->
"Command line interface".

## Binary Resolution

The `obsidian` binary must be reachable from the current shell. Use
this resolution order:

1. **Check PATH**: run `obsidian version`. If it resolves, use `obsidian`
   directly for all commands.
2. **WSL / non-PATH fallback**: on Windows Subsystem for Linux, the
   `obsidian` app-execution alias is on the Windows PATH but not the
   WSL PATH. Resolve via:
   ```bash
   cmd.exe /c "where obsidian"
   ```
   This returns the full Windows path.
   Convert to a WSL path and use it for all subsequent invocations.
3. **Known install root**: if `where` fails, check the default
   Obsidian Desktop install location (typically under the user's
   local AppData Programs directory).

Once resolved, use the full binary path for every `obsidian` call in
the session. Do not re-resolve unless the first attempt fails.

If none of the above resolve, the CLI is not installed or not enabled.
Guide the user to install Obsidian Desktop 1.12.7+ and enable the CLI
under Settings -> General -> Command line interface.

## Vault Context

Before invoking any vault command, load the vault context:

1. **Read config**: `~/.elegy/obsidian-vault.json` contains
   `vaultPath` (the vault root). Derive the vault name from the
   folder basename (e.g., a vault at `~/Documents/Dev` → vault
   name `Dev`).
2. **Fallback**: if config is absent, run `obsidian vault list` to
   discover registered vaults. Use the first (or prompt the user
   to choose if multiple).
3. **Pin vault name**: pass `vault=<name>` on every subsequent
   `obsidian` call. The active-vault default is platform-specific
   and unreliable when multiple vaults are registered.

### Vault layout conventions

Obsidian vaults use theme-based subdirectories. The standard layout
(for a vault named `Dev`):

```text
Dev/
  Projects/       ← project notes (theme: Projects)
  Research/       ← research notes (theme: Research)
  Tasks/          ← task lists (theme: Tasks)
  Resources/      ← resource/link collections (theme: Resources)
  Index.md        ← navigation hub (links to all sections)
```

Frontmatter conventions (per the vault-notes spec):

```yaml
---
id: my-note-slug        # derived from filename (My-Note.md → my-note)
title: My Note          # human-readable title
theme: Projects         # derived from parent directory name
tags: [tag1, tag2]      # YAML array
created: ISO-timestamp
updated: ISO-timestamp
archived: false
---
```

These are conventions, not enforced. The `theme` field corresponds to
the parent directory name. `Index.md` at the vault root is the
navigation hub — read it first to orient within the vault.

## Orient-Once Protocol

At the start of each session (or when the user asks to interact with
the vault), run this 3-command bootstrap:

1. `obsidian version` — confirm CLI is reachable, note version.
2. `obsidian vault list` — confirm vault name and path (or read from

From Sofreshx/Elegy, Apache-2.0.

More from Sofreshx/Elegy

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Jul 30, 2026 (3 months ago)
Last release
Jul 16, 2026 (3 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from Sofreshx

Cite this page

elegy-obsidian skill. Agent Mart. https://agentmart.dev/skills/sofreshx-elegy-obsidian (last updated 2026-10-24)