.claude/skills/search/SKILL.md
--- name: search description: Search wiki pages using qmd (hybrid BM25/vector search) or grep fallback. Use when user wants to search, find, or look up content across their wiki vault. argument-hint: "<query>" [--vault <name>] disable-model-invocation: true allowed-tools: Bash(which *) Bash(brew *) Bash(cargo *) Bash(qmd *) Bash(grep *) Read Glob Grep --- # Search Wiki Search vault wiki pages using qmd (hybrid BM25/vector search with LLM re-ranking) or grep fallback. ## Usage ``` /search "de
npx skillsauth add RonanCodes/llm-wiki .claude/skills/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 vault wiki pages using qmd (hybrid BM25/vector search with LLM re-ranking) or grep fallback.
/search "deployment patterns" --vault my-research
/search "Karpathy" --vault my-research
--vault <name> — target vault (if omitted, use sole vault or ask)which qmd >/dev/null 2>&1
If qmd is installed, use it (Step 3a). If not, offer to install or fall back to grep (Step 3b).
Check if the vault has been indexed:
VAULT="vaults/<vault-name>"
qmd index --check "$VAULT/wiki" 2>/dev/null
If not indexed (or first run):
qmd index "$VAULT/wiki"
This creates a search index over all markdown files in the wiki. Re-index after significant changes.
qmd search "$VAULT/wiki" "<query>" --limit 10 --format json
qmd returns results ranked by relevance using hybrid BM25 + vector search. Parse the JSON output for:
Format as a markdown table:
## Search Results: "<query>"
| # | Page | Type | Domain | Snippet |
|---|------|------|--------|---------|
| 1 | [[page-name]] | concept | ai-research | ...matching text... |
| 2 | [[other-page]] | entity | ai-research | ...matching text... |
Read the top results' frontmatter to get page-type and domain tags.
Suggest re-indexing if the vault has been modified since last index:
qmd index "$VAULT/wiki" --update
If qmd is not installed:
VAULT="vaults/<vault-name>"
grep -ril "<query>" "$VAULT/wiki/" --include="*.md" | head -20
For each matching file, extract:
grep -n -C 1 "<query>" "<file>"Display in same table format, ordered by match count.
Note to user: "Install qmd for better ranked results: brew install qmd or cargo install qmd"
After showing results, suggest:
/query for a synthesized answer from these pages)brew install qmd
cargo install qmd
qmd can run as an MCP server so Claude Code can use it as a native tool:
{
"mcpServers": {
"qmd": {
"command": "qmd",
"args": ["mcp", "--dir", "vaults/<vault-name>/wiki"]
}
}
}
Add this to .claude/settings.json or ~/.claude/settings.json to make search available as a tool without invoking the skill. Multiple vaults can be configured as separate MCP servers.
qmd index --updatedata-ai
Extract transcript from a YouTube video as clean readable text. Use when user shares a youtube.com or youtu.be link and wants the transcript, content summary, or to read what was said.
development
Page type templates and frontmatter conventions for LLM Wiki pages. Reference skill loaded by ingest, query, and lint skills to ensure consistent wiki structure.
testing
Show status of all LLM Wiki vaults — page counts, source counts, last activity, and git status. Use when user wants to see vault status, list vaults, or check wiki health.
documentation
Import an existing Obsidian vault, markdown folder, or git repo as an llm-wiki vault. Moves content into vaults/, adds missing structure (index, log, CLAUDE.md, frontmatter). Use when user wants to import, adopt, migrate, or bring in an existing knowledge base.