Skip to content
cccskills
FreePublished on GitHub

serena

Use when renaming symbols across files, finding all references to a function/class, moving code between files, or inlining variables — LSP-backed atomic multi-file refactoring

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md3.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Serena — LSP-Backed Symbol Refactoring

MCP server key: serena — tools: mcp__serena__*

Core principle: Type-aware, 100% recall. Grep finds strings; Serena finds symbols — including aliased imports, dynamic usages, and type-renamed references.

Decision Matrix

QuestionUse
"Rename AuthService everywhere"serena — rename_symbol
"Find all callers of login()"serena — find_references
"Move UserMapper to another file"serena — move_symbol
"Inline the MAX_RETRIES constant"serena — inline_symbol
"Find code about rate limiting"cocoindex-code — semantic meaning
"Who calls AuthService in the graph?"codebase-memory-mcp — architecture overview
"Is renaming this safe to ship?"code-review-graph — blast radius

Key Tools

mcp__serena__find_symbol(name, type?)        — find by name/type (LSP, not grep)
mcp__serena__find_references(symbol)        — all usages across the project
mcp__serena__get_symbol_info(symbol)        — signature, docstring, defined-in, refs
mcp__serena__rename_symbol(symbol, new_name) — rename everywhere atomically
mcp__serena__move_symbol(symbol, target_file) — move + fix all imports
mcp__serena__replace_symbol_body(symbol, body) — replace impl, keep signature
mcp__serena__inline_symbol(symbol)          — inline at all call sites
mcp__serena__get_call_graph(symbol)         — call graph from a symbol

Standard Workflows

Rename across codebase:

1. mcp__serena__find_symbol("OldName")       → confirm it's the right symbol
2. mcp__serena__find_references("OldName")  → verify scope
3. mcp__serena__rename_symbol("OldName", "NewName")  → atomic rename

Move a class to another file:

1. mcp__serena__get_symbol_info("MyClass")  → see current location and imports
2. mcp__serena__move_symbol("MyClass", "src/new_module.py")

Find all callers before deleting:

1. mcp__serena__find_references("legacyFunction")  → if empty, safe to delete

Project Config

.serena/project.yml (committed to repo) controls which language servers are active:

languages:
  - python
  - typescript
  - javascript

Language servers are auto-installed by serena on first use (pyright, typescript-language-server).

Token Cost

Low — on-demand per MCP call. No background indexing process. LSP server initializes on first call (~2-3s), then fast.

When NOT to Use

  • Architecture overview → codebase-memory-mcp (Cypher graph, whole-codebase view)
  • Semantic search → cocoindex-code (find code by meaning when you don't know exact names)
  • Change risk → code-review-graph (blast radius, safety score before PR)
  • Simple text grep → Grep tool (faster for literal strings with no aliasing concern)

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

ask

Free

Route a codebase question to the right tool — structural graph, semantic search, or risk analysis. Use when you need to find or understand code without knowing exact file names.

The English summary is being prepared. Showing the original description.

brain-bootstrap/claude-code-brain-bootstrap11Updated Apr 25, 2026

Auto-configure CLAUDE.md and claude/ knowledge docs for a new project. Use when setting up Brain Bootstrap in a new repository. Discovers the codebase, fills in templates, and writes project-specific configuration.

The English summary is being prepared. Showing the original description.

brain-bootstrap/claude-code-brain-bootstrap11Updated Apr 25, 2026

Use before any new feature, component, or behavioral change — when you need to explore requirements and design before writing code

The English summary is being prepared. Showing the original description.

brain-bootstrap/claude-code-brain-bootstrap11Updated Apr 25, 2026

Activate safety guards for the session. Use /careful before critical operations — blocks rm -rf, DROP TABLE, git push --force, kubectl delete namespace, docker system prune via PreToolUse hook.

The English summary is being prepared. Showing the original description.

brain-bootstrap/claude-code-brain-bootstrap11Updated Apr 25, 2026

Generate a user-facing changelog from git commits — categorize, filter noise, translate to user language. Runs in isolated fork context.

The English summary is being prepared. Showing the original description.

brain-bootstrap/claude-code-brain-bootstrap11Updated Apr 25, 2026

Save session state before context gets full or before ending. Writes current task state, branch, and loaded docs to claude/tasks/todo.md so the next session can resume cleanly.

The English summary is being prepared. Showing the original description.

brain-bootstrap/claude-code-brain-bootstrap11Updated Apr 25, 2026

See all skills by brain-bootstrap

Report a problem with this skill