serena

Locate symbol definitions and references, then insert or replace code via LSP.

37|12|Updated Feb 24, 2026
One-click install
npx skills add https://github.com/exiao/skills --skill serena-exiao
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: serena
Source: https://github.com/exiao/skills/tree/main/serena
Command: npx skills add https://github.com/exiao/skills --skill serena-exiao

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill provides IDE-like tools for navigating and precisely editing complex codebases at the symbol level, offering a more efficient and accurate alternative to traditional file searching or regex.

Core Features & Use Cases

  • Symbol Lookup: Find the definition or all references of a specific function, variable, or class across a project.
  • Precise Code Edits: Insert or replace code directly at the location of a symbol, ideal for refactoring.
  • Use Case: When refactoring a large Python project, use Serena to find all instances where a specific method is called and then update its signature across all its usages.

Quick Start

Use the serena skill to find all references to the symbol 'get_portfolio' within the project located at '~/bloom'.

Frequently Asked Questions about serena

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

FAQPage Schema
How do I find all references to a specific function or variable across a complex codebase?

To find all references to a symbol across a complex codebase, use semantic symbol lookup. This leverages Language Server Protocol to accurately locate definitions and usages across an entire project, avoiding the false positives typical of regex file searching.

What is the best way to refactor a method signature and update all its call sites automatically?

The best way to refactor a method signature and update call sites is by performing precise code edits at the symbol level. This approach identifies all semantic references to the target method and applies targeted replacements directly at each usage location.

Does symbol-based code navigation work with multiple programming languages?

Yes, symbol-based code navigation works with multiple programming languages. It leverages Language Server Protocol for semantic understanding, enabling consistent symbol lookup and codebase management across various language environments.

How do I insert or replace code directly at the location of a specific class definition?

To insert or replace code at a specific class definition, use targeted code editing at the symbol level. This allows you to pinpoint the exact semantic location of the class and apply precise insertions or replacements without relying on line numbers.

Why use LSP for code navigation instead of traditional text search?

You should use LSP for code navigation instead of traditional text search because it provides semantic understanding of your codebase. This ensures accurate symbol lookup and precise code edits, avoiding the mismatches and false positives common with regex or plain text matching.