npx claudepluginhub ZhuMon/claude-code-hubs --plugin serenaWant just this skill?
Then install: npx claudepluginhub u/[userId]/[slug]
Serena MCP usage guide for semantic code operations, symbol manipulation, project memory, and session persistence. Use when invoking any mcp__serena__* tools, performing symbol operations (rename, find references, extract), navigating large codebases, or managing project memory/sessions.
This skill uses the workspace's default tool permissions.
references/tools.mdSerena MCP Server
Semantic code understanding with project memory and session persistence.
Required First Step
ALWAYS activate project before any Serena operation:
mcp__serena__activate_project(project: "<path_or_name>")
mcp__serena__check_onboarding_performed()
When to Use Serena
| Use Case | Serena | Alternative |
|---|---|---|
| Symbol rename with references | ✅ | ❌ Morphllm |
| Find all references | ✅ | ❌ Grep |
| Semantic code navigation | ✅ | ❌ Native |
| Project memory/session | ✅ | ❌ None |
| Pattern-based bulk edits | ❌ | ✅ Morphllm |
| Simple text replacement | ❌ | ✅ Edit tool |
Core Tools
Project Lifecycle
activate_project→ REQUIRED FIRST - activate target projectget_current_config→ check active project and available toolscheck_onboarding_performed→ verify project is readyonboarding→ run if onboarding not yet performed
Symbol Operations
find_symbol→ locate symbols by name path patternfind_referencing_symbols→ find all references to a symbolget_symbols_overview→ high-level view of file symbolsrename_symbol→ rename across entire codebasereplace_symbol_body→ replace symbol definitioninsert_before_symbol/insert_after_symbol→ add code around symbols
Search & Navigation
search_for_pattern→ regex search across codebaselist_dir→ list directory contentsfind_file→ find files by mask
Memory Management
write_memory→ persist information for future sessionsread_memory→ retrieve stored informationlist_memories→ show available memoriesedit_memory/delete_memory→ modify or remove memories
Reflection (Call These!)
think_about_collected_information→ after search operationsthink_about_task_adherence→ before code modificationsthink_about_whether_you_are_done→ at task completion
Tool Details
See references/tools.md for detailed parameter documentation.
Workflow Patterns
Session Start
1. activate_project(project: "path/to/project")
2. check_onboarding_performed()
3. list_memories() → check existing context
4. read_memory("relevant_memory") → if applicable
Symbol Investigation
1. get_symbols_overview(relative_path: "file.py", depth: 1)
2. find_symbol(name_path_pattern: "ClassName", include_body: false)
3. find_symbol(name_path_pattern: "ClassName/method", include_body: true)
4. think_about_collected_information()
Symbol Modification
1. find_symbol(name_path_pattern: "target", include_body: true)
2. think_about_task_adherence()
3. replace_symbol_body(name_path: "target", relative_path: "file.py", body: "new code")
Cross-Session Persistence
1. write_memory("task_context", "important findings...")
2. [end session]
3. [new session]
4. activate_project(...)
5. list_memories()
6. read_memory("task_context")
Name Path Patterns
| Pattern | Matches |
|---|---|
method | Any symbol named "method" |
Class/method | method inside Class |
/Class/method | Exact path from file root |
Foo/get with substring_matching: true | Foo/getValue, Foo/getData |
Best Practices
- Activate first - Always
activate_projectbefore operations - Read before edit - Use
find_symbolwithinclude_body: truebefore modifications - Use reflection tools - Call
think_about_*tools at appropriate points - Prefer symbolic over text - Use symbol tools over grep/edit when possible
- Persist important context - Use memory for cross-session continuity
Similar Skills
Expert guidance for Next.js Cache Components and Partial Prerendering (PPR). **PROACTIVE ACTIVATION**: Use this skill automatically when working in Next.js projects that have `cacheComponents: true` in their next.config.ts/next.config.js. When this config is detected, proactively apply Cache Components patterns and best practices to all React Server Component implementations. **DETECTION**: At the start of a session in a Next.js project, check for `cacheComponents: true` in next.config. If enabled, this skill's patterns should guide all component authoring, data fetching, and caching decisions. **USE CASES**: Implementing 'use cache' directive, configuring cache lifetimes with cacheLife(), tagging cached data with cacheTag(), invalidating caches with updateTag()/revalidateTag(), optimizing static vs dynamic content boundaries, debugging cache issues, and reviewing Cache Component implementations.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.