serena | Skill Performance & Reviews | TopRankSkills

TopRank Skills

Home / Skills / tools / serena

serena

maintained by NeverSight

star 66 account_tree 19 verified_user MIT License
bolt View GitHub

name: serena description: | Semantic code understanding with IDE-like symbol operations. Use when: (1) Large codebase analysis (>50 files), (2) Symbol-level operations (find, rename, refactor), (3) Cross-file reference tracking, (4) Project memory and session persistence, (5) Multi-language semantic navigation. Triggers: "find symbol", "rename function", "find references", "symbol overview", "project memory". IMPORTANT: Prioritize Serena's symbolic tools over file-based grep/read for code exploration.

Serena - Semantic Code Understanding

IDE-like semantic code operations via CLI. Provides symbol-level code navigation, editing, and project memory.

Execution Methods

# Prerequisites: pip install serena-agent typer
# Environment: SERENA_PROJECT (default: current directory)

# Symbol operations
python -m skills.serena.tools symbol find MyClass --body
python -m skills.serena.tools symbol overview src/main.py
python -m skills.serena.tools symbol refs MyClass/method
python -m skills.serena.tools symbol rename OldName NewName --path src/file.py

# Memory operations
python -m skills.serena.tools memory list
python -m skills.serena.tools memory read project_overview
python -m skills.serena.tools memory write api_notes --content "..."

# File operations
python -m skills.serena.tools file list --recursive
python -m skills.serena.tools file find "**/*.py"
python -m skills.serena.tools file search "TODO:.*" --path src

# Extended tools
python -m skills.serena.tools cmd run "git status"
python -m skills.serena.tools config read config.json

Tool Routing Policy

Prefer Serena Over Built-in Tools

Task Avoid Use Serena CLI
Find function grep "def func" symbol find func --body
List file structure cat file.py symbol overview file.py
Find usages grep "func(" symbol refs func
Edit function Edit tool symbol replace func --path file.py
Rename Manual find/replace symbol rename old new --path file.py

When to Use Built-in Tools

  • Simple text search (non-code patterns)
  • Configuration files (JSON, YAML)
  • Documentation files (Markdown)

Command Reference

Symbol Commands

Command Description
symbol find <name> [--body] [--depth N] [--path file] Find symbols by name
symbol overview <path> List all symbols in file
symbol refs <name> [--path file] Find symbol references
symbol replace <name> --path <file> --body <code> Replace symbol body
symbol insert-after <name> --path <file> --content <code> Insert after symbol
symbol insert-before <name> --path <file> --content <code> Insert before symbol
symbol rename <name> <new> --path <file> Rename symbol

Memory Commands

Command Description
memory list List all memories
memory read <name> Read memory content
memory write <name> --content <text> Create/update memory
memory edit <name> --content <text> Edit memory
memory delete <name> Delete memory

File Commands

Command Description
file list [--path dir] [--recursive] List directory
file find <pattern> Find files by glob pattern
file search <pattern> [--path dir] Search for regex pattern

Extended Commands

Command Description
cmd run <command> [--cwd dir] [--timeout N] Execute shell command
cmd script <path> [--args "..."] Execute script file
config read <path> [--format json|yaml] Read config file
config update <path> <key> <value> Update config value

Workflow Commands

Command Description
workflow onboarding Run project onboarding
workflow check Check onboarding status
workflow tools [--scope all] List available tools

Workflow

Phase 1: Exploration

symbol overview src/main.py           # Understand file structure
symbol find MyClass --depth 1         # Explore class members
symbol find MyClass/method --body     # Get implementation details

Phase 2: Analysis

symbol refs MyClass/method            # Impact analysis
memory list                           # Check project knowledge
memory read architecture              # Retrieve context

Phase 3: Modification

symbol find target --body             # Verify target
symbol replace target --path f --body "..."  # Edit
symbol rename old new --path f        # Refactor

Error Handling

{"error": {"code": "ERROR_CODE", "message": "description"}}
Error Code Recovery
INVALID_ARGS Check --help
TOOL_NOT_FOUND Use workflow tools
INIT_FAILED Check serena-agent installation
RUNTIME_ERROR Check error message

Anti-Patterns

Prohibited Correct
Read entire file to find function symbol find func --body
Grep for function calls symbol refs func
Manual search-replace rename symbol rename old new --path f
Skip impact analysis symbol refs before editing

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!

Skill Details

GitHub Stars 66
GitHub Forks 19
Created Mar 2026
Last Updated 3个月前
tools tools ide plugins

Related Skills

writing-skills
chevron_right
codex
chevron_right
smart-illustrator
chevron_right
collaborating-with-codex
chevron_right
code-review-router
chevron_right

Build your own?

Join 12,000+ developers contributing to the Claude ecosystem.