docs-navigation
Navigate hierarchical ai-docs indexes to find documentation. Check local docs FIRST for speed and curated context before web searching. Covers Claude Code, BAML, MCP, and other tracked libraries.
Best use case
docs-navigation is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Navigate hierarchical ai-docs indexes to find documentation. Check local docs FIRST for speed and curated context before web searching. Covers Claude Code, BAML, MCP, and other tracked libraries.
Teams using docs-navigation should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/docs-navigation/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How docs-navigation Compares
| Feature / Agent | docs-navigation | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Navigate hierarchical ai-docs indexes to find documentation. Check local docs FIRST for speed and curated context before web searching. Covers Claude Code, BAML, MCP, and other tracked libraries.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Documentation Navigation Skill
Navigate the hierarchical documentation system to find relevant context with minimal token usage.
## Variables
| Variable | Default | Description |
|----------|---------|-------------|
| START_LEVEL | auto | `auto`, `root`, `category`, `library`, `section`, `page` |
| KEYWORD_MATCH | fuzzy | `fuzzy` (semantic) or `exact` matching for index navigation |
## Instructions
**MANDATORY** - Always start at the appropriate index level and drill down.
- Read `_index.toon` files before loading pages
- Match task keywords against index keywords
- Load specific pages, not full contexts
- Note `priority` and `when_to_use` fields in indexes
## Red Flags - STOP and Reconsider
If you're about to:
- Load `full-context.md` for a simple question
- Guess file paths instead of reading the index
- Skip the index and go straight to pages
- Load everything "just in case"
**STOP** -> Follow the Navigation Protocol below -> Then proceed
## Workflow
1. [ ] **CHECKPOINT**: Identify what you know (library? section? topic?)
2. [ ] Start at the appropriate index level
3. [ ] Read index, match keywords to your task
4. [ ] Drill down to specific pages
5. [ ] Load only the pages you need
6. [ ] **CHECKPOINT**: Is full-context.md justified? (rarely)
## Cookbook
### Level Selection
- IF: Unsure where to start in the hierarchy
- THEN: Read `cookbook/level-selection.md`
- RESULT: Start at the right level based on what you know
### Keyword Matching
- IF: Searching for documentation by topic
- THEN: Read `cookbook/keyword-matching.md`
- RESULT: Find relevant pages through index keywords
### Efficient Page Loading
- IF: Loading multiple pages or managing token budget
- THEN: Read `cookbook/page-loading.md`
- RESULT: Minimize token usage while getting needed context
## The Hierarchy
```
ai-docs/
├── _root_index.toon # Level 0: All categories
├── libraries/
│ ├── _index.toon # Level 1: All libraries
│ ├── {library}/
│ │ ├── _index.toon # Level 2: Library sections
│ │ ├── {section}/
│ │ │ ├── _index.toon # Level 3: Section pages
│ │ │ └── pages/
│ │ │ └── {page}.toon # Level 4: Page summary
│ │ └── full-context.md # Everything (escape hatch)
```
## Navigation Protocol
### Step 1: Start at the Right Level
| You Know | Start Here |
|----------|------------|
| Nothing | `ai-docs/_root_index.toon` |
| Category (libraries/frameworks) | `ai-docs/{category}/_index.toon` |
| Library name | `ai-docs/libraries/{lib}/_index.toon` |
| Library + section | `ai-docs/libraries/{lib}/{section}/_index.toon` |
| Exact page | `ai-docs/libraries/{lib}/{section}/pages/{page}.toon` |
### Step 2: Read Index, Match Keywords
Each index contains:
- `description` or `purpose` - What this level contains
- `keywords` - Terms for matching your task
- `when_to_use` - Guidance on when to drill deeper
- Child paths - Where to navigate next
**Match your task against keywords:**
```
Task: "Handle LLM retry failures"
Keywords to find: retry, error, failure, fallback, timeout
Navigate:
1. libraries/_index.toon -> "baml" has "llm|structured-output"
2. baml/_index.toon -> common_tasks mentions "error handling"
3. baml/guide/_index.toon -> "error-handling" page has "retry|fallback"
4. baml/guide/pages/error-handling.toon -> Exact info needed
```
### Step 3: Load Only What's Needed
**DO:**
```
@ai-docs/libraries/baml/guide/pages/error-handling.toon # ~400 tokens
```
**DON'T:**
```
@ai-docs/libraries/baml/full-context.md # ~15,000 tokens
```
### Step 4: Load Multiple Pages if Needed
For complex tasks, load several specific pages:
```
@ai-docs/libraries/baml/guide/pages/error-handling.toon
@ai-docs/libraries/baml/guide/pages/timeouts.toon
@ai-docs/libraries/baml/reference/pages/retry-policy.toon
```
Still far cheaper than full-context.md.
### Step 5: Use full-context.md Sparingly
Only for:
- Writing comprehensive tutorials
- Major migrations
- Initial deep learning of a library
## Index File Structure
### Category Index (`_index.toon`)
```toon
meta:
level: category
name: libraries
count: 5
items[5]{id,name,description,path,keywords,priority}:
baml,BAML,Structured LLM outputs with type safety,./baml/_index.toon,llm|types|prompts,high
mcp,MCP,Tool integration for AI assistants,./mcp/_index.toon,tools|servers|context,high
```
### Library Index (`{lib}/_index.toon`)
```toon
meta:
level: library
name: BAML
version: 0.70.0
homepage: https://docs.boundaryml.com
overview: |
Brief description of what this library does and when to use it.
sections[3]{id,name,path,page_count,when_to_use}:
guide,Guide,./guide/_index.toon,15,Learning concepts and tutorials
reference,Reference,./reference/_index.toon,25,Exact syntax and API details
examples,Examples,./examples/_index.toon,8,Working code samples
common_tasks[5]{task,section,page}:
Define output types,reference,types
Handle errors,guide,error-handling
Stream responses,guide,streaming
```
### Section Index (`{lib}/{section}/_index.toon`)
```toon
meta:
level: section
library: baml
section: guide
page_count: 15
pages[15]{id,title,path,priority,purpose,keywords}:
introduction,Introduction,./pages/introduction.toon,core,Overview and basic concepts,basics|overview|start
error-handling,Error Handling,./pages/error-handling.toon,important,Retry and fallback strategies,retry|error|fallback
```
### Page Summary (`{lib}/{section}/pages/{page}.toon`)
```toon
meta:
level: page
library: baml
section: guide
page: error-handling
source_url: https://docs.boundaryml.com/guide/error-handling
content_hash: abc123
summary:
purpose: |
One to two sentences on what this page teaches.
key_concepts[5]: concept1|concept2|concept3|concept4|concept5
gotchas[3]: warning1|warning2|warning3
code_patterns[2]:
- lang: baml
desc: What this pattern shows
code: |
// Truncated code example
related_pages[2]: ../pages/timeouts.toon|../../reference/pages/retry-policy.toon
```
## Navigation Examples
### Example 1: Specific Feature
```
Task: "Configure BAML streaming"
1. @ai-docs/libraries/baml/_index.toon
-> common_tasks: "Stream responses" -> guide/streaming
2. @ai-docs/libraries/baml/guide/pages/streaming.toon
-> Get streaming configuration
Tokens: ~600
```
### Example 2: Unknown Library
```
Task: "Type-safe database access in TypeScript"
1. @ai-docs/libraries/_index.toon
-> Scan keywords: "prisma" has "database|orm|typescript"
2. @ai-docs/libraries/prisma/_index.toon
-> Navigate to relevant section
Tokens: ~400 + next level
```
### Example 3: Comprehensive Knowledge
```
Task: "Migrate entire codebase from X to BAML"
1. @ai-docs/libraries/baml/full-context.md
-> Load everything (correct choice here)
Tokens: ~15,000 (justified for migration)
```
## Anti-Patterns
| Bad | Good | Why |
|-----|------|-----|
| Load full-context.md for simple question | Navigate to specific page | 95% token waste |
| Guess at file paths | Start at index, drill down | Indexes show what exists |
| Load everything "just in case" | Load what task requires | Wastes context window |
| Skip index, go straight to pages | Read index first | May miss better pages |Related Skills
mkdocs-config-generator
Mkdocs Config Generator - Auto-activating skill for Technical Documentation. Triggers on: mkdocs config generator, mkdocs config generator Part of the Technical Documentation skill category.
keyboard-navigation-tester
Keyboard Navigation Tester - Auto-activating skill for Frontend Development. Triggers on: keyboard navigation tester, keyboard navigation tester Part of the Frontend Development skill category.
generating-api-docs
Create comprehensive API documentation with examples, authentication guides, and SDKs. Use when creating comprehensive API documentation. Trigger with phrases like "generate API docs", "create API documentation", or "document the API".
defold-docs-fetch
Fetches Defold manuals and documentation. Use when looking up how Defold features work, understanding concepts, components, workflows, platform setup, or needing guidance beyond API reference.
mkdocs-translations
Generate a language translation for a mkdocs documentation stack.
microsoft-docs
Query official Microsoft documentation to find concepts, tutorials, and code examples across Azure, .NET, Agent Framework, Aspire, VS Code, GitHub, and more. Uses Microsoft Learn MCP as the default, with Context7 and Aspire MCP for content that lives outside learn.microsoft.com.
java-docs
Ensure that Java types are documented with Javadoc comments and follow best practices for documentation.
csharp-docs
Ensure that C# types are documented with XML comments and follow best practices for documentation.
Filesystem Navigation
Guidelines for systematically exploring and understanding directory structures.
fetching-dbt-docs
Retrieves and searches dbt documentation pages in LLM-friendly markdown format. Use when fetching dbt documentation, looking up dbt features, or answering questions about dbt Cloud, dbt Core, or the dbt Semantic Layer.
docs-cleaner
Consolidates redundant documentation while preserving all valuable content. This skill should be used when users want to clean up documentation bloat, merge redundant docs, reduce documentation sprawl, or consolidate multiple files covering the same topic. Triggers include "clean up docs", "consolidate documentation", "too many doc files", "merge these docs", or when documentation exceeds 500 lines across multiple files covering similar topics.
docs-finalize-and-commit
Finalize documentation changes for production readiness by discovering existing conventions, verifying code-doc alignment, reviewing format/terminology/tone consistency, and structuring clean commits. Counterpart of finalize-and-commit for documentation projects.