Pathfinder v6 Skill
Tool Surface
Pathfinder v6 exposes exactly 3 precision navigation tools:
| Tool |
Purpose |
Key Parameters |
locate |
Jump to definition, batch locate definitions, or resolve file:line to semantic path |
semantic_path, locations, file, line |
trace |
Callers/callees hierarchy, references lookup, and symbol overview |
semantic_path, scope (callers |
inspect |
Extract symbol source, batch read symbols, and analyze outgoing dependencies |
semantic_path, semantic_paths, include_dependencies, max_dependencies |
Semantic Paths
All symbol-level tools require semantic paths in file_path::symbol_chain format:
src/auth.ts::AuthService.login
crates/pathfinder/src/server.rs::PathfinderServer.new
Symbol segments are separated by . (e.g. ClassName.method_name).
Response Model & Contracts
Every tool returns dual-channel output:
- Text channel: Formatted human-readable output (source blocks, call hierarchies, reference locations).
- Structured channel: Typed JSON metadata with
status, confidence, evidence, and diagnostic indicators.
Tool Status & Readiness (Contract 1)
ToolStatus::Ok: Normal operational success with verified compilation/LSP results.
ToolStatus::NotReady: LSP indexing/warmup in progress. Check retry_after_secs and retry with retry_attempt = attempt + 1.
ToolStatus::Degraded: Fallback mode (tree-sitter / ripgrep).
ToolStatus::Unavailable: Language server unavailable.
Tri-State Certainty & Evidence (Contracts 2 & 3)
Verified: Compiler / LSP confirmed truth.
Heuristic: Best-effort tree-sitter or ripgrep fallback (marked [HEURISTIC]).
- Tri-State Rule:
null = UNKNOWN (degraded / unverified — callers/callees/references may exist, do NOT treat as zero).
[] = CONFIRMED ZERO (LSP verified that exactly zero references/callers exist).
Quick Reference
| I want to... |
Tool & Parameters |
| Jump to a definition |
locate(semantic_path="src/auth.ts::AuthService.login") |
| Batch jump to definitions |
locate(locations=[{semantic_path: "..."}, {file: "...", line: 42}]) |
| Convert file:line to semantic path |
locate(file="src/auth.ts", line=42) |
| Read symbol source code |
inspect(semantic_path="src/auth.ts::AuthService.login") |
| Inspect symbol + dependencies |
inspect(semantic_path="...", include_dependencies=true) |
| Batch read symbols |
inspect(semantic_paths=["...", "..."]) (max 10) |
| Trace callers & callees |
trace(semantic_path="...", scope="callers") |
| Trace all references |
trace(semantic_path="...", scope="references") |
| Full symbol overview |
trace(semantic_path="...", scope="overview") |
Token Budget Controls
| Parameter |
Tool |
Default |
Purpose |
max_references |
trace |
20 |
Cap total references in references and overview scopes |
max_depth |
trace |
1 |
BFS traversal depth. Hard ceiling 2 — requests above 2 are rejected, not clamped. scope="callers" only |
max_dependencies |
inspect |
50 |
Cap outgoing dependency entries (with include_dependencies=true) |
Fallback
If Pathfinder tools are unavailable or return ToolStatus::Unavailable, fall back gracefully to built-in host tools (Read, Grep, Glob). Do not block.
1---2name: pathfinder-23description: Workflows and protocols for Pathfinder v6 semantic navigation tools (locate, trace, inspect). Covers: semantic addressing, dual-channel response model, tri-state evidence, budget controls, and error recovery.4---56# Pathfinder v6 Skill78## Tool Surface910Pathfinder v6 exposes exactly 3 precision navigation tools:1112| Tool | Purpose | Key Parameters |13|---|---|---|14| `locate` | Jump to definition, batch locate definitions, or resolve file:line to semantic path | `semantic_path`, `locations`, `file`, `line` |15| `trace` | Callers/callees hierarchy, references lookup, and symbol overview | `semantic_path`, `scope` (`callers` | `references` | `overview`), `max_depth`, `max_references` |16| `inspect` | Extract symbol source, batch read symbols, and analyze outgoing dependencies | `semantic_path`, `semantic_paths`, `include_dependencies`, `max_dependencies` |1718## Semantic Paths1920All symbol-level tools require semantic paths in `file_path::symbol_chain` format:21- `src/auth.ts::AuthService.login`22- `crates/pathfinder/src/server.rs::PathfinderServer.new`2324Symbol segments are separated by `.` (e.g. `ClassName.method_name`).2526## Response Model & Contracts2728Every tool returns dual-channel output:29- **Text channel**: Formatted human-readable output (source blocks, call hierarchies, reference locations).30- **Structured channel**: Typed JSON metadata with `status`, `confidence`, `evidence`, and diagnostic indicators.3132### Tool Status & Readiness (Contract 1)33- `ToolStatus::Ok`: Normal operational success with verified compilation/LSP results.34- `ToolStatus::NotReady`: LSP indexing/warmup in progress. Check `retry_after_secs` and retry with `retry_attempt = attempt + 1`.35- `ToolStatus::Degraded`: Fallback mode (tree-sitter / ripgrep).36- `ToolStatus::Unavailable`: Language server unavailable.3738### Tri-State Certainty & Evidence (Contracts 2 & 3)39- `Verified`: Compiler / LSP confirmed truth.40- `Heuristic`: Best-effort tree-sitter or ripgrep fallback (marked `[HEURISTIC]`).41- **Tri-State Rule**:42 - `null` = **UNKNOWN** (degraded / unverified — callers/callees/references may exist, do NOT treat as zero).43 - `[]` = **CONFIRMED ZERO** (LSP verified that exactly zero references/callers exist).4445## Quick Reference4647| I want to... | Tool & Parameters |48|---|---|49| Jump to a definition | `locate(semantic_path="src/auth.ts::AuthService.login")` |50| Batch jump to definitions | `locate(locations=[{semantic_path: "..."}, {file: "...", line: 42}])` |51| Convert file:line to semantic path | `locate(file="src/auth.ts", line=42)` |52| Read symbol source code | `inspect(semantic_path="src/auth.ts::AuthService.login")` |53| Inspect symbol + dependencies | `inspect(semantic_path="...", include_dependencies=true)` |54| Batch read symbols | `inspect(semantic_paths=["...", "..."])` (max 10) |55| Trace callers & callees | `trace(semantic_path="...", scope="callers")` |56| Trace all references | `trace(semantic_path="...", scope="references")` |57| Full symbol overview | `trace(semantic_path="...", scope="overview")` |5859## Token Budget Controls6061| Parameter | Tool | Default | Purpose |62|---|---|---|---|63| `max_references` | `trace` | `20` | Cap total references in `references` and `overview` scopes |64| `max_depth` | `trace` | `1` | BFS traversal depth. Hard ceiling 2 — requests above 2 are rejected, not clamped. `scope="callers"` only |65| `max_dependencies` | `inspect` | `50` | Cap outgoing dependency entries (with `include_dependencies=true`) |6667## Fallback6869If Pathfinder tools are unavailable or return `ToolStatus::Unavailable`, fall back gracefully to built-in host tools (`Read`, `Grep`, `Glob`). Do not block.