Obsidian Graph Navigator
Purpose
Traverse the project vault through indexes and wikilinks, then return the smallest set of notes that answers the current task. Do not load the whole vault when a focused path is available.
Navigation request
- Read
references/graph-navigation.md. - Identify the active task type (intake, research, architecture, decomposition, implementation, QA, review, security, ops, post-launch).
- Open
00-home.mdin the project vault as the MOC entrypoint. Pull the relevant phase MOC links (Intake, Discovery, Product flow, Architecture, Delivery, Quality, Existing product). - Verify the vault layout exists; if missing, route to
documentation-graph-curatorto seed it.
Graph traversal
- Pick the phase MOC matching the task type.
- Walk wikilinks one hop out from the MOC; collect notes whose frontmatter
typematches the current artifact need. - For each candidate, read only the section that matches the current goal (frontmatter + first heading), not the whole file. Defer deep reads until proven necessary.
- Filter via frontmatter properties:
status,phase,service,owners,depends_on,risk_level,updated_at. Reject stale notes (older than relevant cutoff) unless they hold an active ADR or unresolved risk. - Build a reading order: dependencies first (e.g.,
08-product-scopebefore11-functional-requirements), then current artifact, then related ADRs and risk entries. - Emit the reading list and stop. Hand the list (paths + sections) to the requesting skill instead of reading everything into the parent context.
Context limits
- Use Context7 MCP only if a referenced external doc must be re-validated.
- Keep a decision trace: which MOC pages were walked, which links were followed, which notes were filtered out and why.
- Never reload a note already in context; reuse it.
- Never silently widen the reading set beyond the requesting skill's need.
Reading set
- Ordered reading list with file paths, section anchors, and frontmatter snapshot
- Filtered-out list with reason (stale, off-phase, wrong service, unrelated)
- Open ADRs and risks intersecting the task
- Graph hygiene flags (broken wikilinks, missing frontmatter, drifted properties)
Ready when
- No "load entire vault" prompts.
- No reading list that re-includes notes already in the requester's context.
- No reading list without owner/status/phase filtering when those exist.
- No silent ignoring of broken wikilinks; raise them to
documentation-graph-curator.
Handoff
Hand the ordered reading list to the requesting skill. Hand broken-link or stale-metadata findings to documentation-graph-curator.
References
references/graph-navigation.md: MOC topology, phase-to-MOC mapping, frontmatter filters, hygiene flags.