Skip to content

feat(skills): add obsidian-nav — wiki page navigation primitives#83

Open
lg320531124 wants to merge 1 commit into
AgriciDaniel:mainfrom
lg320531124:feat/obsidian-nav-skill
Open

feat(skills): add obsidian-nav — wiki page navigation primitives#83
lg320531124 wants to merge 1 commit into
AgriciDaniel:mainfrom
lg320531124:feat/obsidian-nav-skill

Conversation

@lg320531124

Copy link
Copy Markdown

What changed

Adds a new obsidian-nav skill that provides three navigation primitives for wiki pages:

  1. Folded TOC callout## 目录 heading as anchor + [!note]+ 📑 目录 callout with clickable section links
  2. Per-section return links[[#目录|↑ 返回目录]] at the end of every ## and ### section
  3. Cross-page navigation footer📚 导航 block linking sibling pages in the same domain

Why

Wiki pages generated by wiki-ingest currently have no internal navigation. For pages with 5+ sections, readers must scroll linearly — there is no way to jump between sections, return to the table of contents, or traverse to sibling pages without going back to index.md.

The existing obsidian-markdown skill covers Obsidian syntax (wikilinks, callouts, embeds), but does not cover navigation patterns (TOC callout structure, return link conventions, cross-page footers). This skill fills that gap at the orchestration level.

How it works

TOC callout pattern

Key insight: callout titles don't generate anchor targets in Obsidian. The ## 目录 heading is the actual anchor; the callout provides the visual folded TOC.

## 目录

> [!note]+ 📑 目录
> [[index|← 返回知识库]]
> - [[#1. Main Section]]
>   - [[#1.1 Subsection]]
> - [[#2. Another Section]]

Return links

Every ## and ### section gets [[#目录|↑ 返回目录]] at its end. No emoji in the anchor — [[#目录]] resolves, [[#📑 目录]] does not.

Cross-page footer

> 📚 导航: [[index|📑 知识库]] · [[concept-a|概念A]] · [[concept-b|概念B]]

Integration points

  • wiki-ingest: Apply after page creation when page has 3+ ## sections
  • wiki-lint: Add WARN for pages missing navigation (no ## 目录, missing return links, no footer)

Testing

This is a new skill with no code changes to existing files. The skill is declarative (SKILL.md only) — no scripts, no hooks, no network calls. Hermetic by construction.

Existing test suite (make test) is unaffected — no existing files modified.

Checklist

  • Read every file touched (1 new file only)
  • Smallest unit that works (single SKILL.md, no speculative abstraction)
  • No network calls
  • No path construction from user input
  • Failure modes documented (What NOT to Do table)
  • Follows project naming convention (obsidian- prefix like obsidian-markdown, obsidian-bases)
  • Includes 10-principle thinking mapping

Adds three navigation primitives for long wiki pages:
- Folded TOC callout with ## 目录 anchor + [!note]+ callout
- Per-section return links [[#目录|↑ 返回目录]]
- Cross-page 📚 导航 footer linking sibling pages

Complements obsidian-markdown (syntax) with navigation patterns.
Integrates with wiki-ingest (post-create) and wiki-lint (health check).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant