code-navigation

Routes Rust code navigation tasks between Serena LSP and native tools.

Updated Feb 10, 2026
One-click install
npx skills add https://github.com/eysenfalk/git-review --skill code-navigation-eysenfalk
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: code-navigation
Source: https://github.com/eysenfalk/git-review/tree/main/.claude/skills/code-navigation
Command: npx skills add https://github.com/eysenfalk/git-review --skill code-navigation-eysenfalk

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps developers efficiently read, search, and modify Rust code by intelligently routing tasks between the Serena Language Server Protocol (LSP) and native command-line tools.

Core Features & Use Cases

  • Symbol Discovery: Quickly find definitions and references of functions, variables, and other code elements.
  • Code Modification: Precisely replace entire function bodies or rename symbols across the project.
  • Efficient Reading: Get code structure overviews without loading entire files, saving tokens.
  • Use Case: When refactoring a large Rust project, use this Skill to find all usages of a function before renaming it, ensuring all references are updated correctly.

Quick Start

Use the code-navigation skill to find the definition of the async_trait symbol in the current project.

Frequently Asked Questions about code-navigation

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I find all callers of a function in a large Rust project?

To find all callers of a function in a Rust project, use the code-navigation Skill to route symbol search tasks directly to the Serena LSP. This efficiently locates symbol definitions and references without loading entire files.

What is the best way to rename a symbol across a Rust codebase?

Renaming a symbol across a Rust codebase is handled by routing precise code modification tasks through the Serena LSP. This ensures all references are updated correctly and efficiently across the entire project.

How can I read Rust code structure without consuming too many tokens?

You can read Rust code structure efficiently by using the get_symbols_overview feature to retrieve structural overviews. This approach optimizes token efficiency by avoiding full file reads during code navigation.

Does the code-navigation Skill work with native command-line tools or only a language server?

The code-navigation Skill works with both by intelligently routing tasks between the Serena Language Server Protocol and native command-line tools. It dynamically chooses the best method for reading structure and modifying code.

Can I replace an entire function body when refactoring Rust code?

Yes, you can replace entire function bodies when refactoring Rust code. The Skill performs precise code modifications by leveraging the Serena LSP to execute targeted function body replacements.

Why use Serena LSP for Rust code navigation instead of standard file reading?

Using Serena LSP for Rust code navigation optimizes token efficiency by utilizing find_symbol and get_symbols_overview instead of full file reads. This provides targeted symbol discovery and precise code modification.