Obsidian - read, search, write and edit direct to obsidian vault.
by @ruslanlanket
Work with Obsidian vaults as a knowledge base. Features: fuzzy/phonetic search across all notes, auto-folder detection for new notes, create/read/edit notes with frontmatter, manage tags and wikilinks. Use when: querying knowledge base, saving notes/documents, editing existing notes by user instructions.
clawhub install obsidian-direct📖 About This Skill
name: obsidian description: > Work with Obsidian vaults as a knowledge base. Features: fuzzy/phonetic search across all notes, auto-folder detection for new notes, create/read/edit notes with frontmatter, manage tags and wikilinks. Use when: querying knowledge base, saving notes/documents, editing existing notes by user instructions.
Obsidian Knowledge Base
Obsidian vault = folder with Markdown files + .obsidian/ config.
Configuration
/home/ruslan/webdav/data/ruslainOBSIDIAN_VAULT=/home/ruslan/webdav/data/ruslainCLI Usage
Scripts location: /home/ruslan/.openclaw/workspace/skills/obsidian/scripts
Note: Global flags (--vault, --json) must come BEFORE the command.
export OBSIDIAN_VAULT=/home/ruslan/webdav/data/ruslain
cd /home/ruslan/.openclaw/workspace/skills/obsidian/scriptsSearch (fuzzy/phonetic) - uses ripgrep for speed
python3 obsidian_search.py "$OBSIDIAN_VAULT" "query" --limit 10 --jsonList notes
python3 obsidian_cli.py --json list # all notes
python3 obsidian_cli.py --json list "Projects" # in folderList folders
python3 obsidian_cli.py --json foldersRead note
python3 obsidian_cli.py --json read "Note Name"Create note
python3 obsidian_cli.py --json create "Title" -c "Content" -f "Folder" -t tag1 tag2
python3 obsidian_cli.py --json create "Title" -c "Content" --auto-folder # auto-detect folderEdit note
python3 obsidian_cli.py --json edit "Note" append -c "Text to append"
python3 obsidian_cli.py --json edit "Note" prepend -c "Text at start"
python3 obsidian_cli.py --json edit "Note" replace -c "New full content"
python3 obsidian_cli.py --json edit "Note" replace-section -s "Summary" -c "New section text"Tags
python3 obsidian_cli.py --json tagsLinks (incoming/outgoing)
python3 obsidian_cli.py --json links "Note Name"Suggest folder for content
python3 obsidian_cli.py --json suggest-folder "content text" --title "Note Title"
Workflow: Query Knowledge Base
1. Run obsidian_search.py with user query
2. Read top results if needed for context
3. Formulate answer based on found content
4. Cite sources: [[Note Name]]
Workflow: Save Note
1. If no folder specified → run suggest-folder or use --auto-folder
2. Create note with create command
3. Add appropriate tags based on content
4. Report created path to user
Workflow: Edit Note by Prompt
User prompts like:
edit X append -c "..."edit Y replace -c "..."edit Z replace-section -s "Выводы" -c "..."Note Format
---
created: 2024-01-15T10:30:00
modified: 2024-01-15T12:00:00
tags:
- project
- work
Title
Content with [[wikilinks]] and #inline-tags.
Wikilinks
[[Note Name]] — link to note[[Note Name|Display Text]] — link with alias[[Note Name#Section]] — link to sectionFrontmatter Fields
Standard fields:
created — creation timestampmodified — last edit timestamp tags — list of tagsaliases — alternative names for linkingSearch Behavior
obsidian_search.py uses:
⚙️ Configuration
/home/ruslan/webdav/data/ruslainOBSIDIAN_VAULT=/home/ruslan/webdav/data/ruslain