# Lsp Maintain

Diagnose and align Kode LSP behavior with the reference CLI (plugin-based .lsp.json...

- Repository: https://github.com/shareAI-lab/Kode-CLI (5235 stars)
- Category: Engineering
- License: Apache-2.0
- Last updated: 2026-10-29
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add shareAI-lab/Kode-CLI --skill lsp-maintain -g -a claude-code -y`
Codex: `npx skills add shareAI-lab/Kode-CLI --skill lsp-maintain -g -a codex -y`
Cursor: `npx skills add shareAI-lab/Kode-CLI --skill lsp-maintain -g -a cursor -y`
Gemini CLI: `npx skills add shareAI-lab/Kode-CLI --skill lsp-maintain -g -a gemini-cli -y`

## Description

Diagnose and align Kode LSP behavior with the reference CLI (plugin-based .lsp.json, stdio-only, no install menus). Use when LSP results are missing, LSP is disabled, or you need to configure plugin LSP servers without telling the user to run menu-style install commands.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# LSP Maintain (Reference-aligned)

## Non-negotiables (policy)

- Do not respond with menu-style instructions like “run `/lsp-maintain install`” or “run `/lsp-maintain doctor`”.
- Prefer executing capability changes through `SlashCommand` (e.g. `/plugin ...`, `/lsp`) or `Edit` to configuration files.
- Keep the conversation focused: only load deeper resources if absolutely necessary.

## What “LSP enabled” means in Kode

Kode’s `LSP` tool is enabled only when there is at least one resolved LSP server and at least one is not in `error`.

## Step 1, Establish facts (no guessing)

1. Ask for the user goal (languages, monorepo vs single package, whether they already use plugins).
2. Run `/lsp` via `SlashCommand` and read the “Configured servers” list.
3. If there are zero servers, conclude: **no LSP servers are configured** (do not speculate about missing binaries).

## Step 2, Identify configuration source (plugin-only)

Kode resolves LSP servers from enabled plugins:

- Plugin root `.lsp.json` (JSON, top-level record)
- Plugin manifest field `lspServers` (inline record or relative file path within plugin root)

If the user needs a new server, the correct path is: enable a plugin that provides it, or add/update a plugin’s `.lsp.json`.

## Step 3, Apply changes through agent CLI

Prefer:

- Use `SlashCommand` to manage plugins (`/plugin ...`) and re-check with `/lsp`.
- Use `Edit` to update the plugin’s `.lsp.json` or manifest `lspServers` record/file.

## Step 4, Verify

1. Re-run `/lsp` and confirm servers are resolved.
2. Attempt one `LSP` tool call (e.g. `goToDefinition`) on a file extension that is mapped in `extensionToLanguage`.

## Notes for LSP server config authoring

- `command` must be an executable (avoid embedding arguments; use `args`).
- Kode runs servers using stdio pipes.
- Do not use `restartOnCrash`, `startupTimeout`, or `shutdownTimeout` in the config (Kode treats them as unsupported).

