
Rust Code Navigator
Jump to Rust definitions, find all references, and read hover types in large crates without leaving the agent session.
Install
npx skills add https://github.com/zhanghandong/rust-skills --skill rust-code-navigatorWhat is this skill?
- Go-to-definition via LSP at file:line:column
- Find-references before rename or impact analysis
- Hover for types and docs on symbols
- Triggered by /navigate and natural-language locate prompts
- Uses Read and Glob alongside LSP when scoping a symbol
Adoption & trust: 679 installs on skills.sh; 1.2k GitHub stars; 2/3 security scanners passed (skills.sh audits).
Recommended Skills
Rust Async Patternswshobson/agents
Rust Best Practicesapollographql/skills
Memory Safety Patternswshobson/agents
Tauri V2nodnarbnitram/claude-code-extensions
Rust Testingaffaan-m/everything-claude-code
Rust Patternsaffaan-m/everything-claude-code
Journey fit
Primary fit
Canonical shelf is Build because the skill is used while reading and changing Rust source during implementation and refactors. Backend fits Rust services, CLI tools, and systems code where LSP symbol navigation is the main workflow.
Common Questions / FAQ
Is Rust Code Navigator safe to install?
skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.
SKILL.md
READMESKILL.md - Rust Code Navigator
# Rust Code Navigator Navigate large Rust codebases efficiently using Language Server Protocol. ## Usage ``` /rust-code-navigator <symbol> [in file.rs:line] ``` **Examples:** - `/rust-code-navigator parse_config` - Find definition of parse_config - `/rust-code-navigator MyStruct in src/lib.rs:42` - Navigate from specific location ## LSP Operations ### 1. Go to Definition Find where a symbol is defined. ``` LSP( operation: "goToDefinition", filePath: "src/main.rs", line: 25, character: 10 ) ``` **Use when:** - User asks "where is X defined?" - User wants to understand a type/function - Ctrl+click equivalent ### 2. Find References Find all usages of a symbol. ``` LSP( operation: "findReferences", filePath: "src/lib.rs", line: 15, character: 8 ) ``` **Use when:** - User asks "who uses X?" - Before refactoring/renaming - Understanding impact of changes ### 3. Hover Information Get type and documentation for a symbol. ``` LSP( operation: "hover", filePath: "src/main.rs", line: 30, character: 15 ) ``` **Use when:** - User asks "what type is X?" - User wants documentation - Quick type checking ## Workflow ``` User: "Where is the Config struct defined?" │ ▼ [1] Search for "Config" in workspace LSP(operation: "workspaceSymbol", ...) │ ▼ [2] If multiple results, ask user to clarify │ ▼ [3] Go to definition LSP(operation: "goToDefinition", ...) │ ▼ [4] Show file path and context Read surrounding code for context ``` ## Output Format ### Definition Found ``` ## Config (struct) **Defined in:** `src/config.rs:15` ```rust #[derive(Debug, Clone)] pub struct Config { pub name: String, pub port: u16, pub debug: bool, } ``` **Documentation:** Configuration for the application server. ``` ### References Found ``` ## References to `Config` (5 found) | Location | Context | |----------|---------| | src/main.rs:10 | `let config = Config::load()?;` | | src/server.rs:25 | `fn new(config: Config) -> Self` | | src/server.rs:42 | `self.config.port` | | src/tests.rs:15 | `Config::default()` | | src/cli.rs:8 | `config: Option<Config>` | ``` ## Common Patterns | User Says | LSP Operation | |-----------|---------------| | "Where is X defined?" | goToDefinition | | "Who uses X?" | findReferences | | "What type is X?" | hover | | "Find all structs" | workspaceSymbol | | "What's in this file?" | documentSymbol | ## Error Handling | Error | Cause | Solution | |-------|-------|----------| | "No LSP server" | rust-analyzer not running | Suggest: `rustup component add rust-analyzer` | | "Symbol not found" | Typo or not in scope | Search with workspaceSymbol first | | "Multiple definitions" | Generics or macros | Show all and let user choose | ## Related Skills | When | See | |------|-----| | Call relationships | rust-call-graph | | Project structure | rust-symbol-analyzer | | Trait implementations | rust-trait-explorer | | Safe refactoring | rust-refactor-helper |