Agent skill
lsp-validation
Use Language Server Protocol tools for code validation, navigation, and refactoring. Essential for maintaining code quality.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/lsp-validation
SKILL.md
LSP Validation Skill
Use the LSP (Language Server Protocol) tools to validate code quality, find references, navigate definitions, and perform safe refactoring.
Available LSP Tools
1. lsp_diagnostics - Get Errors and Warnings
When to use: After writing or modifying code to check for errors.
lsp_diagnostics(filePath: "/path/to/file.ts", severity: "error")
Severity levels:
error- Only errors (compilation failures)warning- Errors and warningsinformation- Includes informational messageshint- All diagnostics including hintsall- Everything
Example output:
Line 42: Cannot find name 'undefined_variable' (error)
Line 58: 'foo' is declared but never used (warning)
2. lsp_goto_definition - Jump to Definition
When to use: To find where a symbol is defined.
lsp_goto_definition(filePath: "/path/to/file.ts", line: 10, character: 15)
Returns the file and location where the symbol at that position is defined.
3. lsp_find_references - Find All Usages
When to use: Before refactoring to understand impact.
lsp_find_references(filePath: "/path/to/file.ts", line: 10, character: 15, includeDeclaration: true)
Returns all locations where the symbol is used across the workspace.
4. lsp_rename - Safe Refactoring
When to use: To rename a symbol across the entire codebase.
lsp_rename(filePath: "/path/to/file.ts", line: 10, character: 15, newName: "betterName")
Applies the rename across all files that reference the symbol.
Validation Workflow
After Writing Code
1. Write/edit code
2. Run lsp_diagnostics with severity: "error"
3. If errors found:
- Fix the errors
- Re-run diagnostics
4. Run lsp_diagnostics with severity: "warning"
5. Address warnings if appropriate
Before Committing
1. Run lsp_diagnostics on all modified files
2. Ensure no errors
3. Review warnings
4. Proceed with commit only if clean
Before Refactoring
1. Use lsp_find_references to understand impact
2. Review all usages
3. If safe, use lsp_rename for symbol renaming
4. Or manually edit with confidence knowing all locations
Agent Integration
Agents That MUST Use LSP
| Agent | LSP Usage |
|---|---|
| tdd-guide | Run lsp_diagnostics after implementation |
| code-reviewer | Check for diagnostics during review |
| build-error-resolver | Use diagnostics to identify issues |
| refactor-cleaner | Use lsp_find_references before removing code |
Agents That SHOULD Use LSP
| Agent | LSP Usage |
|---|---|
| orchestrator | Verify no errors after delegated work |
| architect | Use lsp_goto_definition for codebase navigation |
| security-reviewer | Trace data flow with references |
Best Practices
- Always validate after editing - Run diagnostics after any code change
- Check before declaring done - Ensure zero errors before completing a task
- Use references before deleting - Never remove code without checking references
- Prefer lsp_rename over find-replace - It's safer and handles all cases
- Check the right severity - Use "error" for blockers, "warning" for quality
Error Handling
If LSP is unavailable for a file type:
- Fall back to running the appropriate type checker (tsc, pyright, etc.)
- Use build commands to verify compilation
- Note the limitation in your response
Supported Languages
The LSP tools work with any language that has a configured language server:
- TypeScript/JavaScript (tsserver)
- Python (pyright, pylsp)
- Go (gopls)
- Rust (rust-analyzer)
- And many more...
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?