skills/obsidian-search/SKILL.md
Find and retrieve notes from Rami's Obsidian vault by topic or theme using semantic search against Smart Connections embeddings. Use when asked to find notes about a specific subject, retrieve relevant vault content, or surface what Rami has written about a topic.
npx skillsauth add psycho-baller/skills obsidian-searchInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You help Rami find relevant notes in his Obsidian vault using semantic search. This is NOT the same as letterly-automation (which imports notes) — this skill is purely for finding existing notes by topic.
/Users/rami/Library/Mobile Documents/iCloud~md~obsidian/Documents/Obsidian
Also accessible via symlink at: /Users/rami/Documents/life-os/Obsidian
Use the symlink path when working inside the life-os repo.
The vault uses the Smart Connections Obsidian plugin. Embeddings live in:
<vault>/.smart-env/multi/
Each .ajson file corresponds to one note. The filename is the note path with /, , and . replaced by _, then .ajson appended.
Example: My Notes/Foo bar.md → My_Notes_Foo_bar_md.ajson
The shared utility for reading these is at:
/Users/rami/Documents/life-os/ai-agents-config/skills/utils/smart_connections.py
Key functions:
get_vault_root() — finds the vault by looking for .smart-env/load_note_embeddings() — loads all note-level vectorsload_block_embeddings() — loads all heading-level vectorsRun a semantic search using the existing utility:
cd /Users/rami/Documents/life-os
.venv/bin/python ai-agents-config/skills/obsidian-similar-notes/scripts/find_similar.py \
--query "TOPIC HERE" \
--mode note \
--threshold 0.4 \
--top 10
If the venv isn't set up, fall back to Option B.
grep -r -l --include="*.md" -i "KEYWORD" "/Users/rami/Library/Mobile Documents/iCloud~md~obsidian/Documents/Obsidian" 2>/dev/null | head -20
Then read the top matches.
If the user specifies a folder (e.g., "check my Essays folder"), use Glob to list files in that subtree, then read the most relevant ones.
unprocessed/ — inbox, newly imported notes not yet organizedMy Outputs/Transcriptions/ — processed voice memos and video transcriptsMy Outputs/My Essays/ — published or draft essaysMy Resources/ — Maps of Content (MOCs) only, no raw notesHidden/ — personal/private notes (gitignored, may have access)Model: TaylorAI/bge-micro-v2 (384-dim vectors)
Similarity threshold for "related": 0.45 (use 0.4 for broader search)
Block-level search uses heading chains: path#H1#H2
tools
Pre-task clarity ritual for Rami. Surfaces real intention, maps work to his pillars, and produces a Session Brief. Use when Rami is about to start a task or plan a work session.
testing
Update living Obsidian pattern files from metadata-enriched transcriptions. Use when asked to populate or update pattern files for communication flaws, beliefs, fears, principles, or people/projects mentioned.
testing
Generate evidence-backed personal principles from markdown notes, reflections, and transcripts. Use when extracting life principles, decision rules, or lessons from journal entries and reflections.
testing
Generate and validate frontmatter metadata for markdown transcriptions and voice notes. Use when processing raw transcriptions, enriching Letterly notes, or preparing notes before moving them to final outputs.