This skill should be used when the user asks about "development workflow", "quality workflow", "symbol-based editing", "LSP navigation", "find references", "go to definition", "replace symbol body",...
When working with LSP-supported languages (TypeScript, JavaScript, Python, Go, Rust, Java, C++, etc.), prefer symbol-based editing using built-in LSP tools for navigation and MCP tools for modification.
Use the LSP tool for semantic code navigation. All operations require:
filePath - Path to the fileline - Line number (1-based, as shown in editors)character - Character offset (1-based, as shown in editors)Available Operations:
| Operation | Description |
|---|---|
goToDefinition |
Find where a symbol is defined |
findReferences |
Find all references to a symbol |
hover |
Get documentation and type information |
documentSymbol |
List all symbols in a file (functions, classes, variables) |
workspaceSymbol |
Search for symbols across the entire workspace |
goToImplementation |
Find implementations of an interface or abstract method |
incomingCalls |
Find all functions/methods that call the function at position |
outgoingCalls |
Find all functions/methods called by the function at position |
Why Prefer LSP Over Grep/Glob:
Use MCP tools for symbol-based code modification:
insert_before_symbol - Insert code before a symbol definitioninsert_after_symbol - Insert code after a symbol definitionreplace_symbol_body - Replace entire symbol bodyrename_symbol - Rename symbol across codebaseNote: These are MCP tool calls - invoke them through your MCP client.
When modifying a function in a file:
1. LSP documentSymbol → See file structure (functions, classes, etc.)
2. LSP goToDefinition → Navigate to the function you want to modify
3. LSP findReferences → Understand all usages before changing
4. MCP replace_symbol_body → Update the function implementation
5. LSP findReferences → Verify changes didn't break callers
When to use symbol-based editing:
When to use Edit tool instead:
LSP documentSymbol to understand file structureLSP findReferences to understand symbol usagebun lint --fix or eslint --fix to automatically fix many formatting issuesUse documentation tools to understand libraries:
resolve-library-id - Find library documentation IDsquery-docs - Get documentation for a libraryThis skill provides generic workflow patterns. For language-specific commands and conventions, load the appropriate language skill (e.g., bun-runtime for JavaScript/TypeScript).