Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
alphaonedev avatar

Obsidian Direct

  • 88 installs
  • 6 repo stars
  • Updated March 13, 2026
  • alphaonedev/openclaw-graph

obsidian-direct is a Claude skill for direct programmatic manipulation of Obsidian vaults, including file creation, editing, templates, and Dataview queries.

About

obsidian-direct is a skill for direct programmatic access to Obsidian vaults. A developer uses it to automate note-taking workflows: creating and editing files, inserting templates, running Dataview queries, and calling plugin APIs. It exposes a CLI and a REST endpoint and is aimed at scripts and CI/CD pipelines rather than manual editing.

  • Direct programmatic file creation and editing in an Obsidian vault
  • Template insertion and Dataview query execution
  • Calls the Obsidian plugin API via CLI or a REST endpoint

Obsidian Direct by the numbers

  • 88 all-time installs (skills.sh)
  • Ranked #852 of 2,715 Automation & Workflows skills by installs in the Skillselion catalog
  • Data as of Jul 28, 2026 (Skillselion catalog sync)
At a glance

obsidian-direct capabilities & compatibility

Needs OBSIDIAN_API_KEY and a vault id; calls a CLI or the OpenClaw REST endpoint.

Works with
obsidian
Use cases
documentation
Pricing
Bring your own API key
From the docs

What obsidian-direct says it does

This skill enables direct programmatic access to Obsidian vaults for tasks like file creation, editing, template insertion, Dataview queries, and plugin API calls, allowing automation of note-taking w
SKILL.md
Execute Dataview queries to retrieve or manipulate note metadata.
SKILL.md
Avoid concurrent calls to prevent vault conflicts.
SKILL.md
npx skills add https://github.com/alphaonedev/openclaw-graph --skill obsidian-direct

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs88
repo stars6
Last updatedMarch 13, 2026
Repositoryalphaonedev/openclaw-graph

What it does

Automate Obsidian vault file creation, editing, templates, and Dataview queries.

Who is it for?

automating Obsidian interactions in scripts, such as generating daily notes from external data or running Dataview queries

Skip if: concurrent calls, which the docs say to avoid to prevent vault conflicts

When should I use this skill?

manual vault management is inefficient, such as in CI/CD pipelines or AI-driven content creation

What you get

Programmatically created and edited notes, inserted templates, and executed Dataview queries.

  • created and edited vault files
  • Dataview query results
  • inserted templates

By the numbers

  • 5 subcommands (create-file, edit-file, insert-template, run-query, plugin-call)
  • 2 concrete usage examples

Files

SKILL.mdMarkdownGitHub ↗

obsidian-direct

Purpose

This skill enables direct programmatic access to Obsidian vaults for tasks like file creation, editing, template insertion, Dataview queries, and plugin API calls, allowing automation of note-taking workflows.

When to Use

Use this skill for automating Obsidian interactions in scripts, such as generating daily notes from external data, updating files based on user input, or running Dataview queries to fetch metadata. Apply it in scenarios where manual vault management is inefficient, like in CI/CD pipelines or AI-driven content creation.

Key Capabilities

  • Create new files or folders in the vault using specified paths and content.
  • Edit existing files by appending, overwriting, or inserting text at specific lines.
  • Insert templates (e.g., from a predefined .md template file) into new or existing notes.
  • Execute Dataview queries to retrieve or manipulate note metadata.
  • Call Obsidian plugin APIs for custom extensions, such as querying plugin-specific data.

Usage Patterns

Invoke the skill via a function call like call_skill('obsidian-direct', subcommand, params), where subcommand is one of: create-file, edit-file, insert-template, run-query, or plugin-call. Always include required params as a dictionary, e.g., {'path': 'notes/file.md', 'content': 'Text here'}. For authenticated actions, pass the API key via env var $OBSIDIAN_API_KEY. Structure calls sequentially: first create a file, then edit it. Use JSON for complex params, e.g., {'query': '{"from": "folder", "where": "file.name contains \'key\'"}'}. Avoid concurrent calls to prevent vault conflicts.

Common Commands/API

API Endpoint: Use POST to https://api.openclaw.com/v1/obsidian/vault/{vault-id}/files for file operations, with JSON body like {"path": "notes/file.md", "content": "Hello"}. CLI equivalent: obsidian-direct create-file --vault-id myvault --path "notes/file.md" --content "Hello" --api-key $OBSIDIAN_API_KEY.

Code Snippet:

params = {'path': 'Daily/daily.md', 'content': 'Today\'s notes'}
result = call_skill('obsidian-direct', 'create-file', params)
print(result['file_path'])  # Outputs: Daily/daily.md

For Dataview: obsidian-direct run-query --vault-id myvault --query "LIST file.name FROM \"folder\" WHERE file.mtime > date(2023-01-01)" --api-key $OBSIDIAN_API_KEY.

Config Formats: Params must be JSON objects, e.g., {"template": "path/to/template.md", "insert_at": 5} for insert-template. Flags: --vault-id (required), --dry-run (simulates without changes), --force (overwrites files).

Integration Notes

Integrate by passing outputs from other skills as inputs, e.g., use a search skill's result as content for create-file. Authentication: Set $OBSIDIAN_API_KEY in your environment, e.g., export OBSIDIAN_API_KEY=your_api_key, and include it in calls. Ensure the vault is synced via Obsidian's sync plugin if remote. For multi-skill workflows, chain with tools like file-system skills by using the returned file paths as arguments. Test integrations in a local vault first to avoid data loss.

Error Handling

Always wrap skill calls in try-except blocks to catch exceptions like VaultError (e.g., 404 for missing files) or AuthError (e.g., 403 for invalid API key). Check response codes: if result['status'] == 'error', log the message and retry with exponential backoff. Common issues: Handle file conflicts with --force flag, or parse Dataview errors for query syntax. Example:

Code Snippet:

try:
    call_skill('obsidian-direct', 'edit-file', {'path': 'notes/file.md', 'content': 'Updated text'})
except VaultError as e:
    if e.code == 404:
        call_skill('obsidian-direct', 'create-file', {'path': 'notes/file.md', 'content': 'Default'})
    else:
        raise

Concrete Usage Examples

1. Automate daily note creation: First, get current date via another skill, then call obsidian-direct create-file --vault-id myvault --path "Daily/{date}.md" --content "Notes for {date}" --api-key $OBSIDIAN_API_KEY. This creates a new file like Daily/2023-10-01.md with initial content. 2. Run and insert Dataview results: Query tasks with obsidian-direct run-query --vault-id myvault --query "TASK FROM \"Tasks\" WHERE !completed", then use the output in obsidian-direct edit-file --path "Summary.md" --append result['query_output'] to append results to a summary note.

Graph Relationships

  • Related to: community cluster (e.g., shares tags with file-management skills).
  • Connected to: obsidian-related skills like "obsidian-sync" for vault syncing.
  • Links with: general API skills for authentication handling.
  • Overlaps with: note-taking cluster for content manipulation.

Related skills

FAQ

What subcommands does it support?

create-file, edit-file, insert-template, run-query, and plugin-call.

How is it authenticated?

Pass the API key via the OBSIDIAN_API_KEY environment variable.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.