
Wiki Query
Answer questions across your compiled Obsidian wiki with citations, multi-hop link tracing, or fast index-only lookups from any project directory.
Overview
Wiki-query is a journey-wide agent skill that searches your compiled Obsidian wiki and returns synthesized, cited answers—including multi-hop link walks—whenever you need personal knowledge instead of the open web.
Install
npx skills add https://github.com/ar9av/obsidian-wiki --skill wiki-queryWhat is this skill?
- Searches compiled Obsidian wiki (pre-synthesized pages), not raw loose files
- Multi-hop queries: typed edge walks for “how is X connected to Y” and transitive dependency chains
- Index-only fast mode on phrases like “quick answer”, “just scan”, “fast lookup”
- Config resolution: CWD .env, ~/.obsidian-wiki/config, vault path and QMD variables
- Works cross-project when global Obsidian wiki config is present
Adoption & trust: 2.3k installs on skills.sh; 1.8k GitHub stars; 1/3 security scanners passed (skills.sh audits).
What problem does it solve?
Your expertise is scattered across hundreds of linked Obsidian pages and agents default to guessing instead of citing your own wiki.
Who is it for?
Builders with an Obsidian wiki pipeline who want “what do I know about X” and connection tracing from any repo or agent session.
Skip if: Searching the public internet, editing the vault without the wiki compile flow, or one-file grep in a codebase that is not your knowledge base.
When should I use this skill?
User asks about their knowledge base, wants cross-wiki search, synthesized cited answers, multi-hop link walks, or index-only fast lookup per trigger phrases.
What do I get? / Deliverables
You get citation-backed answers (or fast index-only summaries) from compiled wiki pages, including multi-hop chains across typed edges.
- Cited synthesized answer from wiki pages
- Multi-hop connection trace between topics
- Index-only summary answer when fast mode requested
Recommended Skills
Journey fit
Useful at every journey phase - explore requirements and options before committing to a direction.
Where it fits
Ask what the wiki already says about competitor positioning before new interviews.
Pull prior MVP checklists and constraints cited from compiled pages.
Trace how a feature spec links to architecture and dependency notes across hops.
Synthesize evergreen FAQ answers from support notes with page citations.
Fast lookup runbook summaries via index-only mode during an incident.
How it compares
Personal RAG over a curated Obsidian wiki—not generic codebase search or ChatGPT without your notes.
Common Questions / FAQ
Who is wiki-query for?
Solo builders using ar9av’s Obsidian wiki compile stack who want agents to query synthesized vault pages with citations from any project.
When should I use wiki-query?
In Idea when mining past research notes; in Validate when pulling scope checklists from the vault; in Build when tracing architecture decisions; in Grow when recalling content or support playbooks; also for multi-hop “X connected to Y” questions.
Is wiki-query safe to install?
It reads local vault paths and config; review the Security Audits panel on this page and ensure OBSIDIAN_VAULT_PATH points only to data you intend agents to read.
SKILL.md
READMESKILL.md - Wiki Query
# Wiki Query — Knowledge Retrieval You are answering questions against a compiled Obsidian wiki, not raw source documents. The wiki contains pre-synthesized, cross-referenced knowledge. ## Before You Start 1. **Resolve config** — follow the Config Resolution Protocol in `llm-wiki/SKILL.md` (walk up CWD for `.env` → `~/.obsidian-wiki/config` → prompt setup). Prefer `~/.obsidian-wiki/config` for cross-project queries when present, even if it is a symlink to the vault `.env`. This gives `OBSIDIAN_VAULT_PATH` and any QMD variables. Works from any project directory. 2. **Load QMD settings from the resolved config** before deciding retrieval strategy. If `QMD_WIKI_COLLECTION` is set, treat QMD as available subject only to transport/tool checks below. If it is empty or unset, say briefly why QMD is being skipped before using grep/page reads. 3. If `$OBSIDIAN_VAULT_PATH/hot.md` exists, read it first — it gives you instant context on recent activity. If the user's question is about something ingested recently, hot.md may answer it before you even open `index.md`. 4. Read `$OBSIDIAN_VAULT_PATH/index.md` to understand the wiki's scope and structure ## Visibility Filter (optional) By default, **all pages are returned** regardless of visibility tags. This preserves existing behavior — nothing changes unless the user asks for it. If the user's query includes phrases like **"public only"**, **"user-facing"**, **"no internal content"**, **"as a user would see it"**, or **"exclude internal"**, activate **filtered mode**: - Build a **blocked tag set**: `{visibility/internal, visibility/pii}` - In the Index Pass (Step 2), skip any candidate whose frontmatter tags contain a blocked tag - In Section/Full Read passes (Steps 3–4), do not read or cite any blocked page - Synthesize the answer **only from allowed pages** — do not mention that excluded pages exist Pages with no `visibility/` tag, or tagged `visibility/public`, are always included. In filtered mode, note the filter in the Step 6 log entry: `mode=filtered`. ## Retrieval Protocol **Follow the Retrieval Primitives table in `llm-wiki/SKILL.md`.** Reading is the dominant cost of this skill — use the cheapest primitive that answers the question and escalate only when it can't. Never jump straight to full-page reads. ### Step 1: Understand the Question Classify the query type: - **Factual lookup** — "What is X?" → Find the relevant page(s) - **Relationship query** — "How does X relate to Y?" / "What contradicts X?" → Find both pages, their cross-references, and their `relationships:` frontmatter blocks for typed edges - **Path / multi-hop query** — "How is X connected to Y?" / "What links X to Y?" / "Trace the chain from X to Z" / "What does X depend on transitively?" → X and Y don't link directly; the connection runs through intermediate pages. Use the multi-hop graph traversal in Step 4b. - **Synthesis query** — "What's the current thinking on X?" → Find all pages that touch X, synthesize - **Gap query** — "What don't I know about X?" → Find what's missing, check open questions sections Also decide the **mode**: - **Index-only