Read, Search, Create, and Edit Notes in Your Obsidian Vault with Hermes Agent
Read, search, create, and edit notes in the Obsidian vault.
Written by Neura Market from the official Hermes Agent documentation for Obsidian. Commands, paths, and version numbers are reproduced from the source unchanged.
Read the official documentationThe Obsidian skill for Hermes Agent lets you work with a local Obsidian vault using file tools instead of shell commands. You can read, search, create, append, and edit markdown notes, and add wikilinks. This is useful when you want the agent to manage your notes without leaving the safety of structured file operations.
What it does
This skill gives the agent the ability to interact with an Obsidian vault as a filesystem. It uses read_file, write_file, patch, and search_files to handle notes. The agent can list notes, search their contents, create new ones, append to existing ones, and make targeted edits. It also understands the [[Note Name]] wikilink syntax for linking notes.
Before you start
- The vault path must be known. The skill uses the
OBSIDIAN_VAULT_PATHenvironment variable, which can be set in${HERMES_HOME:-~/.hermes}/.env. If that variable is unset, the fallback path is~/Documents/Obsidian Vault. - File tools do not expand shell variables. Do not pass paths containing
$OBSIDIAN_VAULT_PATHtoread_file,write_file,patch, orsearch_files. Resolve the vault path first and pass a concrete absolute path. - Vault paths may contain spaces, which is another reason to prefer file tools over shell commands.
- If the vault path is unknown, you can use
terminalto resolveOBSIDIAN_VAULT_PATHor check whether the fallback path exists. Once the path is known, switch back to file tools. - The skill is bundled with Hermes Agent and works on linux, macos, and windows.
Read a note
Use read_file with the resolved absolute path to the note. Prefer this over cat because it provides line numbers and pagination.
List notes
Use search_files with target: "files" and the resolved vault path. Prefer this over find or ls.
- To list all markdown notes, use
pattern: "*.md"under the vault path. - To list a subfolder, search under that subfolder's absolute path.
Search
Use search_files for both filename and content searches. Prefer this over grep, find, or ls.
- For filenames, use
search_fileswithtarget: "files"and a filenamepattern. - For note contents, use
search_fileswithtarget: "content", the content regex aspattern, andfile_glob: "*.md"when you want to restrict matches to markdown notes.
Create a note
Use write_file with the resolved absolute path and the full markdown content. Prefer this over shell heredocs or echo because it avoids shell quoting issues and returns structured results.
Append to a note
Prefer a native file-tool workflow when it is not awkward:
- Read the target note with
read_file. - Use
patchfor an anchored append when there is stable context, such as adding a section after an existing heading or appending before a known trailing block. - Use
write_filewhen rewriting the whole note is clearer than constructing a fragile patch.
For an anchored append with patch, replace the anchor with the anchor plus the new content.
For a simple append with no stable context, terminal is acceptable if it is the clearest safe option.
Targeted edits
Use patch for focused note changes when the current content gives you stable context. Prefer this over shell text rewriting.
Wikilinks
Obsidian links notes with [[Note Name]] syntax. When creating notes, use these to link related content.
When not to use it
This skill is for filesystem-first Obsidian vault work. If you need to interact with Obsidian's plugin API, sync service, or any feature that requires the Obsidian application to be running, this skill will not help. It treats the vault as a plain directory of markdown files.
Limits and gotchas
- File tools do not expand shell variables. Always resolve
OBSIDIAN_VAULT_PATHto an absolute path before passing it to file tools. - Vault paths with spaces are fine for file tools but can cause issues in shell commands. Stick with file tools.
- The
patchoperation requires stable context in the note. If the note content changes frequently,write_filemay be safer. - The skill does not handle Obsidian-specific features like templates, daily notes, or graph view.
What pairs with this
This skill works well with other note-taking skills in Hermes Agent, such as the generic note-taking skill for plain markdown files. For more complex workflows, consider combining it with the terminal skill for initial vault path discovery.