| name | dotnet-serena-code-navigation |
| category | developer-experience |
| subcategory | serena |
| description | Efficient code navigation using Serena MCP symbol operations instead of text search |
| targets | ["*"] |
| tags | ["dotnet","serena","navigation","productivity","skill"] |
| version | 0.0.1 |
| author | dotnet-agent-harness |
| license | MIT |
| claudecode | {} |
| opencode | {} |
| codexcli | {"short-description":".NET skill guidance for dotnet-serena-code-navigation"} |
| copilot | {} |
| geminicli | {} |
| antigravity | {} |
dotnet-serena-code-navigation
Navigate .NET codebases efficiently using Serena MCP symbol operations. Move beyond text search to precise symbol-level
navigation.
Trigger
Use when needing to:
- Find class/method definitions across files
- Understand project structure and dependencies
- Navigate complex inheritance hierarchies
- Jump between related symbols quickly
The Problem with Text Search
Traditional approaches have limitations:
# Text search problems:
- "class UserService" finds comments, strings, unrelated mentions
- Line numbers change, breaking bookmarks
- Can't distinguish method overloads
- Misses inherited members
- No semantic understanding
Serena-First Navigation
1. Finding Definitions
Serena approach:
serena_find_symbol: "OrderService/ProcessOrder"
Text search fallback:
Grep: "public.*void.*ProcessOrder"
Read: src/Services/OrderService.cs
2. Understanding File Structure
Serena approach:
serena_get_symbols_overview: "src/Services/OrderService.cs"
Returns:
- All types in file
- Methods and properties
- Inheritance relationships
- Namespace organization
Text search fallback:
Read: src/Services/OrderService.cs
Grep: "^ (public|private|protected)"
3. Tracking References
Serena approach:
serena_find_referencing_symbols: "OrderService"
Shows:
- All usages across codebase
- Dependency direction
- Impact analysis
Text search fallback:
Grep: "OrderService"
# Manual filtering of false positives
Common Navigation Patterns
Pattern 1: Jump to Implementation
# Scenario: Find where interface method is implemented
serena_find_symbol: "IOrderRepository/SaveAsync"
# Get implementing types
serena_find_referencing_symbols: "IOrderRepository"
# Navigate to concrete implementation
Pattern 2: Understand Call Hierarchy