lsp-navigation

Identify symbol definitions and references using LSP navigation.

1|Updated Apr 9, 2026
One-click install
npx skills add https://github.com/hbvg234/jnmt.vn --skill lsp-navigation-hbvg234
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: lsp-navigation
Source: https://github.com/hbvg234/jnmt.vn/tree/main/.claude/skills/lsp-navigation
Command: npx skills add https://github.com/hbvg234/jnmt.vn --skill lsp-navigation-hbvg234

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill helps developers locate where a symbol (function, class, or variable) is defined or referenced using a language server, reducing noisy grep searches and preserving context.

Core Features & Use Cases

  • Go-to-definition: jump directly to the symbol's declaration.
  • Find references: collect all call sites across the codebase.
  • LSP vs grep guidance: guidance on when to rely on LSP and when to fall back to grep.
  • Workflow efficiency: detects LSP availability by checking for typical project config files (e.g., tsconfig.json, pyproject.toml, go.mod, Cargo.toml).

Quick Start

Ask Claude Code to go to the definition or find references for a given symbol in the current project.

Frequently Asked Questions about lsp-navigation

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

FAQPage Schema
How do I find symbol definitions and references in a codebase without noisy grep searches?

Find symbol definitions and references using LSP navigation to locate declarations and call sites with file:line context. It checks for project configuration files like tsconfig.json or go.mod to determine language server availability and reduce noisy grep searches.

How do I go to a function or class definition across a TypeScript or Python project?

Go-to-definition jumps directly to the symbol's declaration by detecting the available language server through project files. It supports TypeScript, Go, Python, and other languages with configured language servers to provide precise file:line locations.

When should I use a language server for code navigation instead of falling back to grep?

Use a language server when project configuration files like pyproject.toml or Cargo.toml are present, ensuring accurate symbol resolution. Fall back to grep when LSP is not available or the project lacks recognized configuration files for language server detection.

Does LSP code navigation work with Go and Rust projects?

Yes, LSP code navigation works with Go and Rust projects by detecting go.mod or Cargo.toml configuration files. It uses the available language server to perform go-to-definition and find-references, providing accurate file:line context for symbol lookups.

What is the best way to collect all call sites for a specific symbol across a codebase?

Find-references collects all call sites across the codebase using LSP navigation. It identifies symbol references with file:line context by leveraging the configured language server, reducing the noise of traditional text search methods.

Why does code navigation fail to find references in my project?

Code navigation fails when a language server is not configured or project configuration files like tsconfig.json are missing. Without these files, LSP availability cannot be determined, and the system falls back to grep, which may produce noisy or incomplete reference results.