serena

Locate symbol definitions and references across multi-language codebases via LSP-backed indexing.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/swat9013/dotfiles --skill serena-swat9013
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: serena
Source: https://github.com/swat9013/dotfiles/tree/main/.claude-global/skills/serena
Command: npx skills add https://github.com/swat9013/dotfiles --skill serena-swat9013

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Serena provides semantic, symbol-level code discovery and safe, precise symbol editing across large, multi-language repositories so developers and LLMs can reason about definitions, references, and impact before making changes.

Core Features & Use Cases

  • Semantic Symbol Discovery: Find symbol definitions by name and kind across a codebase, list symbols in a file, and retrieve file outlines to understand structure.
  • Reference & Impact Analysis: Locate all referencing symbols to map call graphs and dependency chains before edits or deletions.
  • Precise Symbol Editing: Insert, replace, or delete entire symbols atomically, enabling safe refactors and targeted updates without line-level guesswork.
  • Use Case: Perform an impact analysis for a widely used function, update its implementation, and then apply coordinated call-site fixes with minimal risk.

Quick Start

Find the definition of the target symbol, list all referencing locations, and report whether it is safe to replace or delete the symbol.

Frequently Asked Questions about serena

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

FAQPage Schema
How do I find all symbol definitions and references across a large multi-language codebase?

Semantic symbol search finds symbol definitions by name and kind across large, multi-language repositories by using MCP/LSP-backed symbol indexing to map call graphs and dependency chains. It retrieves file outlines and lists symbols to help you understand code structure.

Can I perform safe code refactoring by editing symbols atomically instead of line-by-line?

Precise symbol editing allows you to insert, replace, or delete entire symbols atomically for safe code refactoring. This enables targeted updates without line-level guesswork and coordinates safe refactors across multiple call sites.

How does impact analysis work before deleting or replacing a widely used function?

Impact analysis locates all referencing symbols to map call graphs and dependency chains before edits or deletions. By finding definitions and tracing references via semantic search, it reports whether a symbol is safe to replace or delete.

Does semantic code search work with MCP and LSP for multi-language repositories?

Yes, semantic code search operates via MCP and LSP-backed symbol indexing to support multi-language repositories. It applies to tasks like finding definitions, tracing references, and coordinating safe refactors across diverse codebases.

What is the best way to trace call graphs and dependency chains before modifying code?

The best way to trace call graphs is using reference and impact analysis to locate all referencing symbols. This maps dependency chains before edits, allowing you to update implementations and apply coordinated call-site fixes with minimal risk.

When should I use symbol-level code discovery instead of standard text search?

Use symbol-level code discovery when you need to reason about definitions, references, and impact before making changes in large repositories. Unlike text search, it understands code structure semantically to retrieve file outlines and find symbols by kind.