skills/vault-search/SKILL.md
Search the Web Capture Obsidian vault for ideation and research. Use when the user wants to find or explore saved content.
npx skillsauth add tomashrdlicka/engram vault-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.
Search the Web Capture Obsidian vault for ideation and research.
/vault-search <query>
/vault-search "machine learning agents"
/vault-search --topic ai-ml
/vault-search --tags prompting,llm
/vault-search --unread
--topic TOPIC - Filter by topic folder--tags TAG1,TAG2 - Filter by tags (comma-separated)--type TYPE - Filter by content type (article, video, tool, research, x_post)--unread - Only show unread items--starred - Only show starred items--limit N - Limit results (default: 10)--since DATE - Only items captured after date (YYYY-MM-DD)--move <note> <new-topic> - Move a note to a different topic (auto-updates all wiki-links)When the user invokes /vault-search, follow these steps:
Read config.json from the engram project root to get the vault path:
{
"vault_path": "~/Documents/Obsidian/WebCapture"
}
Use the vault_path value as {VAULT_PATH} in all paths below. Expand ~ to the user's home directory.
Read {VAULT_PATH}/_system/index.json
This contains all notes with searchable metadata:
id, path, title, type, topicurl, source_domain, capturedread, starred, tags, summarykey_points, user_contextExtract:
Apply filters in order:
--topic if specified--tags if specified (match any)--type if specified--unread if specified (read === false)--starred if specified--since if specifiedFor text search, check if query appears in (case-insensitive):
titlesummarytags (any tag)key_points (any point)user_contextOrder by relevance:
For each result, show:
## [Title](path)
**Type:** article | **Topic:** ai-ml | **Captured:** 2026-02-05
> Summary text here
**Tags:** #tag1 #tag2 #tag3
**Why saved:** User context if available
After showing results, offer:
If the user requests moving a note to a different topic, use obsidian-cli move which automatically updates all wiki-links across the vault:
obsidian-cli move "content/{old-topic}/{filename}" "content/{new-topic}/{filename}"
After moving:
index.json - change the note's topic and path fields_topic.md - remove the note entry_topic.md - add the note entryIf user asks to synthesize (e.g., "synthesize insights about X"):
{VAULT_PATH}/_system/index.jsonobsidian-cli print "{note-path}"obsidian-cli move handles wiki-link rewiring automatically when reorganizing notesobsidian-cli frontmatter "{note-path}" --print is a quick way to inspect a note's metadatatools
Show vault statistics, queue count, and reading suggestions. Use when the user wants an overview of their knowledge base.
tools
Show articles queued for posting on Twitter/X. Use when the user wants to see what to share.
development
--- name: screenshot description: Take a screenshot of a local web page using Playwright for visual debugging. Use when you need to see what a page looks like. argument-hint: [url] [--selector "css"] [--wait ms] [--full] --- # screenshot Take a screenshot of a local web page using Playwright (Chromium) for visual debugging. ## Usage ``` /screenshot # Default: http://localhost:8081, viewport screenshot /screenshot http://localhost:3000 # Custom URL /screensh
development
Process all queued links from the web capture queue into Obsidian notes. Use when the user wants to process their captured links.