Babysitter Language Server Protocol
Expert skill for implementing Language Server Protocol servers with full IDE feature support
install
source · Clone the upstream repo
git clone https://github.com/a5c-ai/babysitter
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/a5c-ai/babysitter "$T" && mkdir -p ~/.claude/skills && cp -r "$T/library/specializations/programming-languages/skills/lsp-protocol" ~/.claude/skills/a5c-ai-babysitter-language-server-protocol && rm -rf "$T"
manifest:
library/specializations/programming-languages/skills/lsp-protocol/SKILL.mdsource content
Language Server Protocol Skill
Overview
Expert skill for implementing Language Server Protocol servers with full IDE feature support.
Capabilities
- Implement JSON-RPC transport layer
- Handle document synchronization (full and incremental)
- Implement semantic tokens for syntax highlighting
- Implement completion with resolve
- Implement hover information with type signatures
- Implement go-to-definition/references/implementations
- Implement document symbols and workspace symbols
- Implement rename with cross-file support
- Implement code actions and quick fixes
- Implement signature help
Target Processes
- lsp-server-implementation.js
- debugger-adapter-development.js
- error-message-enhancement.js
- semantic-analysis.js
Dependencies
- LSP specification
- vscode-languageserver libraries
- tower-lsp (Rust)
Usage Guidelines
- Transport: Start with stdio transport, add TCP/websocket as needed
- Incremental Sync: Implement incremental document sync for performance
- Caching: Cache analysis results and invalidate on document changes
- Error Tolerance: Handle malformed documents gracefully
- Progress: Report progress for long-running operations
Output Schema
{ "type": "object", "properties": { "capabilities": { "type": "array", "items": { "type": "string" } }, "transportType": { "type": "string", "enum": ["stdio", "tcp", "websocket"] }, "documentSync": { "type": "string", "enum": ["full", "incremental"] }, "generatedFiles": { "type": "array", "items": { "type": "string" } } } }