code-navigation

Navigate Rust symbols and refactor code using Serena LSP operations.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It helps you locate and modify Rust codebases efficiently without wasting time reading entire files or using unreliable grep-based searches.

Core Features & Use Cases

  • Symbol-level navigation: Use get_symbols_overview to understand a file’s structure, then use find_symbol to read only the specific definitions you need.
  • Impact and traceability: Use find_referencing_symbols to discover callers/users before you change anything.
  • Safe, targeted edits and refactors: Use replace_symbol_body for complete function/method body replacement, and use rename refactoring to update references across the codebase.

Quick Start

Use the code-navigation skill to get a symbol overview for a Rust file, jump to the exact function definition you care about, and then update its body while checking who references it.

Frequently Asked Questions about code-navigation

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

FAQPage Schema
How do I find callers of a specific function in a Rust codebase?

To find callers of a function in Rust, you can use symbol-based code navigation to locate referencing symbols. This approach identifies all callers precisely without relying on unreliable grep-based text searches across the repository.

What is the best way to refactor Rust code without reading entire files?

Refactoring Rust code without reading entire files is achieved through symbol-level navigation. You can retrieve a structural overview of the file, read only the specific function definition you need, and perform safe targeted edits to the symbol body.

How do I safely rename a symbol across a Rust repository?

Safely renaming a symbol across a Rust repository requires using Language Server Protocol operations. This method performs rename refactoring by automatically locating and updating all references to the symbol throughout the entire codebase.

Does code navigation work with non-Rust files or unsupported LSP projects?

Code navigation relies heavily on LSP operations for precise Rust refactoring. For non-LSP or non-Rust content, the system automatically falls back to standard Read, Edit, and Grep tools to navigate and modify the codebase.

How does impact analysis work before modifying a Rust function?

Impact analysis before modifying a Rust function works by tracing all referencing symbols. By discovering exactly which parts of the codebase call or use the target symbol, you can assess the full scope of your changes before making them.