Code navigation with LSP. When user says "find references", "go to definition", "where defined", "show type", "list symbols", "what uses", or "who calls" - use native LSP tools if available, otherwise fall back to specweave lsp commands.
View on GitHubanton-abyzov/specweave
sw
February 4, 2026
Select agents to install to:
npx add-skill https://github.com/anton-abyzov/specweave/blob/main/plugins/specweave/skills/lsp/SKILL.md -a claude-code --skill lspInstallation paths:
.claude/skills/lsp/# LSP Code Intelligence Semantic code navigation and analysis. ## Current Status (v2.1.0+) **⚠️ Native LSP is BROKEN** in Claude Code v2.1.0+ ([Issue #17468](https://github.com/anthropics/claude-code/issues/17468)) | Version | Native LSP | SpecWeave CLI | |---------|------------|---------------| | ≤2.0.76 | ✅ Works | ✅ Works | | ≥2.1.0 | ❌ Broken | ✅ Works | **Always use SpecWeave CLI** until native LSP is fixed. ## SpecWeave LSP CLI (Always Works) ```bash # Find all references to a symbol (SEMANTIC, not grep!) specweave lsp refs <file> <symbol> # Go to definition specweave lsp def <file> <symbol> # Get type information (hover) specweave lsp hover <file> <symbol> # List all symbols in a file specweave lsp symbols <file> # Search workspace for symbols specweave lsp search <query> ``` ## File Path Required If user doesn't specify a file path, find it first: ```bash # Step 1: Find which file(s) contain the symbol grep -rn --include="*.ts" "function symbolName\|class symbolName" . # Step 2: Then use LSP on the found file specweave lsp refs <found-file> <symbol> ``` ## Why Use SpecWeave CLI over Grep | Aspect | Grep | SpecWeave LSP | |--------|------|---------------| | Type | Text matching | Semantic analysis | | Results | Includes comments, strings, docs | Actual code usages only | | Speed | Fast | 52x faster than grep | | Accuracy | Many false positives | Zero false positives | **⚠️ Never use Grep for "find references"** - Grep finds TEXT matches (including comments, strings, docs). LSP finds SEMANTIC references (actual code usages only). ## Workarounds for Native LSP If you need native LSP tools: ```bash # Option 1: Use older Claude Code version ENABLE_LSP_TOOL=1 npx @anthropic-ai/claude-code@2.0.76 # Option 2: Use tweakcc patch npx tweakcc --apply ``` ## Multi-Repo LSP Setup (v1.0.203+) For umbrella projects with multiple repositories, use the interactive setup: ```bash # Scan project and install LSP plugins interactively specweave lsp setup