Skip to content
cccskills
FreePublished on GitHub

install-lsps

Install language servers (gopls, typescript-language-server, pyright, rust-analyzer) and their prerequisite toolchains (Go, Node/npm, rustup) so the lsp tool works. Use when the user asks to enable or install LSP / language-server support, when lsp_enable reports a missing toolchain, or when the lsp tool reports no language server is installed.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md2.9 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

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 up to a minute while the server indexes; that is normal.

Toolchain installs (step 3 reference)

Go (for gopls):

brew install go            # macOS
sudo apt-get install -y golang-go   # Debian/Ubuntu; or dnf install golang

Or the official downloads at https://go.dev/dl for anything else.

Node/npm (for typescript-language-server and pyright):

brew install node          # macOS
sudo apt-get install -y nodejs npm  # Debian/Ubuntu

Or nvm (https://github.com/nvm-sh/nvm) when the user prefers per-user installs.

rustup (for rust-analyzer):

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

This is the official rust installer; show the user the command before running it and follow its printed PATH instructions afterwards.

Notes

  • go install drops gopls in ~/go/bin and rustup drops rust-analyzer in ~/.cargo/bin. The lsp tool finds both without PATH changes; other tools may still want a PATH entry.
  • All of this can also happen at install time: npx @weave-os/router --pi --lsp go,typescript,python,rust.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Investigate a specific Claude Code session by session ID — correlate the local transcript (`~/.claude/projects/...jsonl`) with the router's production logs to understand what the client rendered vs. what the upstream served. Use when given a session ID and asked "why did X render?" for a Claude Code conversation routed through the router.

The English summary is being prepared. Showing the original description.

weave-os/router5.6KUpdated Oct 18, 2026

Investigate a specific Codex CLI session by session ID — correlate the local rollout transcript (`~/.codex/sessions/YYYY/MM/DD/rollout-*-<SESSION_ID>.jsonl`) with the router's production logs to understand what Codex rendered vs. what the upstream served on the /v1/responses path. Use when given a session ID and asked "why did X render?" (missing thinking, missing routing marker, wrong model, tool-call weirdness) for a Codex conversation routed through the router.

The English summary is being prepared. Showing the original description.

weave-os/router5.6KUpdated Oct 18, 2026

Switch Codex back to its normal provider for future sessions.

The English summary is being prepared. Showing the original description.

weave-os/router5.6KUpdated Oct 18, 2026

fm

Free

Alias for force-model — pin this Codex session to a specific model through the Weave Router.

The English summary is being prepared. Showing the original description.

weave-os/router5.6KUpdated Oct 18, 2026

Pin this Codex session to a specific model through the Weave Router.

The English summary is being prepared. Showing the original description.

weave-os/router5.6KUpdated Oct 18, 2026

Recipes for the lsp tool — resolving where a symbol is defined, every place it is used, type signatures and docs, file outlines, and compiler/type errors through a real language server (Go, TypeScript/JavaScript, Python, Rust). Use when navigating or explaining code by symbol, finding callers or usages, checking what broke after an edit, or deciding between lsp and text search.

The English summary is being prepared. Showing the original description.

weave-os/router5.6KUpdated Oct 18, 2026

See all skills by weave-os

Report a problem with this skill