/supergraph:serena
SkillFiles & storageSerena is a skill that gives an AI agent semantic code intelligence through the Language Server Protocol. It lets the agent navigate a codebase by symbol, read diagnostics, and perform targeted code surgery instead of relying on plain text search. Activate it before complex refactors, cross-file analysis, or when graph tools need symbol-level depth.
Use /supergraph:serena in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add /supergraph:serena and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the /supergraph:serena skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Confirm the agent environment supports skills and can run a language server.
What your AI can do with it
- Navigate code by symbol using LSP-powered lookups
- Read diagnostics reported by the language server
- Perform targeted code surgery on specific symbols
- Analyze code semantically across multiple files
- Suggest refactorings based on symbol-level understanding
Getting started
- Confirm the agent environment supports skills and can run a language server.
- Add the Serena skill to the agent's available skills.
- Configure the language server for the programming language in the project.
- Activate Serena before starting a refactor or cross-file analysis.
What this skill tells your AI
The instructions your AI receives, as published by datit309/supergraph in plugins/supergraph/skills/serena/SKILL.md and read by Ahel’s review.
Activate Serena MCP for LSP-powered code intelligence: symbol navigation, type diagnostics, and safe code surgery.
CRITICAL: Call initial_instructions first when starting any Serena work — it loads the Serena Instructions Manual with project-specific context.
When to Use
- Before complex refactors: rename across codebase, API signature changes
- When blast radius is unclear and graph tools lack symbol-level depth
- Before review: verify all call sites of changed symbols are updated
- During fix: triage type errors before running test suite
- After architectural changes: verify no orphaned references remain
- Large-scale refactors: safe_delete_symbol, rename_symbol across entire project
Setup
1. Load instructions (MANDATORY first step)
mcp__plugin_serena_serena__initial_instructions()
# or
mcp__serena__initial_instructions()
2. Activate project
mcp__plugin_serena_serena__activate_project()
3. Get project overview
mcp__plugin_serena_serena__get_symbols_overview()
Returns top-level symbols, classes, functions — fast structural map of the codebase.
Tool Reference
Navigation
| Tool | Use case |
|---|---|
find_symbol | Locate a symbol by name across codebase |
find_declaration | Jump to where a symbol is declared |
find_implementations | Find all implementations of an interface / abstract class |
find_referencing_symbols | Find all callers and usages of a symbol |
Setup / Lifecycle
| Tool | Use case |
|---|---|
activate_project | Register project with Serena — requires mcp__plugin_serena_serena__ namespace |
get_current_config | Read Serena's current project configuration |
open_dashboard | Open the Serena dashboard UI |
execute_shell_command | Run shell commands (use with caution — confirm before destructive ops) |
Diagnostics
| Tool | Use case |
|---|---|
get_diagnostics_for_file | IDE-level type errors, lint warnings for a specific file |
get_symbols_overview | Project structure overview — top-level symbols map |
Code Surgery (prefer over raw text edits)
| Tool | Use case |
|---|---|
replace_symbol_body | Replace function/method body — exact, no regex risk |
insert_after_symbol | Insert code after a symbol definition |
insert_before_symbol | Insert code before a symbol definition |
rename_symbol | Safe rename across entire codebase |
safe_delete_symbol | Delete symbol, verify no remaining references |
File Operations
| Tool | Use case |
|---|---|
find_file | Find files by name pattern |
list_dir | List directory contents |
read_file | Read file content |
search_for_pattern | Regex search across files |
replace_content | Replace text content in file |
create_text_file | Create a new text file |
Memory (cross-session context)
| Tool | Use case |
|---|---|
write_memory | Save analysis findings for future sessions |
read_memory | Recall prior analysis |
list_memories | List all saved memories |
edit_memory | Update an existing memory |
rename_memory | Rename an existing memory entry |
delete_memory | Remove stale memory |
Memory Workflow
Use Serena memory to persist analysis state across sessions — avoids re-deriving complex blast radius mappings:
# Save findings after analysis:
mcp__serena__write_memory(title="auth-refactor-callers", content="find_referencing_symbols(login) = [A, B, C]")
# Recall in next session:
mcp__serena__read_memory(title="auth-refactor-callers")
Integration Points in Other Skills
Serena is invoked as optional hooks inside other supergraph skills:
| Skill | Hook | Tools used |
|---|---|---|
scan | Step 2b/3b | activate_project, get_symbols_overview |
plan | Step 3b | find_referencing_symbols, find_implementations, write_memory |
analyze | Step 2b | find_referencing_symbols, find_implementations |
tdd | After RED, after GREEN, refactor | get_diagnostics_for_file, replace_symbol_body, rename_symbol |
execute | Code surgery, post-execution | replace_symbol_body, rename_symbol, insert_after_symbol, find_referencing_symbols |
fix | Pre-loop + each iteration | get_diagnostics_for_file, replace_symbol_body, rename_symbol |
verify | Step 3b | get_diagnostics_for_file |
review | Step 3b | find_referencing_symbols, find_implementations, get_diagnostics_for_file, write_memory |
integration | Post-test | find_referencing_symbols, get_diagnostics_for_file |
architecture | Step 2 | get_symbols_overview |
database-migrations | Impact check | find_referencing_symbols |
webapp-testing | Component impact | find_referencing_symbols |
flutter-dart-code-review | MCP-Integrated Review | get_diagnostics_for_file, find_referencing_symbols, find_implementations |
MCP Tool Name Variants
Two variants may be present depending on project setup:
# Plugin variant (full feature set — file ops + symbol nav):
mcp__plugin_serena_serena__<tool>
# Direct variant (symbol navigation focus):
mcp__serena__<tool>
Use whichever responds. If both are available: prefer mcp__plugin_serena_serena__ for file operations, mcp__serena__ for symbol navigation.
Fallback
If Serena MCP is not available:
- Log: "Serena unavailable, skipping symbol intelligence step"
- Do NOT block workflow — all Serena steps are optional enhancements
- Fall back to graph MCP tools + Read/Bash/grep for the same purpose
Rules
- Always call
initial_instructionsbefore any other Serena tool - Prefer
replace_symbol_bodyandrename_symbolover raw text edits for code changes - Use
safe_delete_symbolinstead of manual deletion — it verifies no remaining references - Save complex analysis to Serena memory when it may be needed across sessions
- Never use
execute_shell_commandfor destructive operations without user confirmation
Signals
- GitHub stars
- 22
- Forks
- 6
- Last commit
- Oct 2026
- Hacker News mentions
- 1
Questions
- What kind of tool is Serena?
- Serena is a skill that provides LSP-powered symbol navigation, diagnostics, and targeted code surgery for an AI agent.
- When should I activate Serena?
- Activate it before complex refactors, cross-file analysis, or when graph tools need symbol-level depth.
- Does Serena work without a language server?
- No. Serena relies on the Language Server Protocol, so a language server must be available for the target language.
- Can Serena edit code directly?
- Yes. It supports targeted code surgery, meaning it can make precise changes at the symbol level.
- Is Serena limited to one programming language?
- The item does not state a language limit. It uses the Language Server Protocol, so support depends on the language server configured.
Advanced
- Item type
- skill
- Key
serena- Source
- github.com/datit309/supergraph
github.com/datit309/supergraph