install-lspslisted
Install: claude install-skill daiminking2/router
# Install LSPs
Enable the `lsp` tool for a language by installing its language server — and,
when the server install needs it, the underlying toolchain.
## Rules
- Everything here is consent-gated: only act on the user's explicit go-ahead,
and confirm each toolchain install separately — those are system-level
changes, not part of whatever task prompted this.
- If the user declines, stop. If they ask not to be offered again, call
`lsp_enable` with `{"language": "<language>", "action": "dismiss"}`.
- Prefer the `lsp_enable` tool over bash whenever the toolchain already
exists; reach for bash only for the prerequisites `lsp_enable` refuses to
install itself.
## Per language
Work the ladder for each language the user wants:
1. **Check what is missing.** Server binaries: `gopls`,
`typescript-language-server`, `pyright-langserver` (or
`basedpyright-langserver`), `rust-analyzer` — also look in `~/go/bin` and
`~/.cargo/bin`, which the lsp tool searches even when they are off PATH.
Toolchains: `go`, `npm`, `rustup`.
2. **Toolchain present** → call `lsp_enable` with
`{"language": "<go|typescript|python|rust>"}` and you are done; it runs the
right server install and verifies the binary resolves.
3. **Toolchain missing** → show the user the command you intend to run, get
their confirmation, run it in bash, then return to step 2.
4. **Verify** with a real `lsp` query (`documentSymbol` on an actual source
file). The first query per workspace can take