Driver
Step 2c.5(d) of /setup currently punts on plugin install with "the marketplace command shape isn't stable enough… print clear manual instructions instead." This was a safety call when the marketplace was new — but it's now empirically stable and verified end-to-end on Claude Code 2.1.138:
/plugin marketplace add anthropics/claude-plugins-official
/plugin install typescript-lsp@claude-plugins-official
/reload-plugins
The official discover-plugins docs (code.claude.com/docs/en/discover-plugins) ship a verified language → plugin name table.
A subtler gap discovered during a real adopter walkthrough: docs claim claude-plugins-official is auto-loaded when Claude Code starts, but in practice the auto-add can be missing — a fresh adopter who follows the manual-install fallback hits "Marketplace not found" and has to debug it themselves. The skill should always emit the add line; it's idempotent on the success path and recovers the failure path.
A second gap: ENABLE_LSP_TOOL=1 written to ~/.zshrc is not visible to the current Claude Code process. Operators see the var in their rc file and assume it's active — but it only takes effect on the next fully-restarted session. /reload-plugins does not re-read shell env.
Scope
-
.claude/skills/setup/SKILL.md Step 2c.5(d): replace the manual-instruction block with the verified 3-line copy-paste, keyed on detected language via this map (verified from discover-plugins docs):
| Language |
Plugin |
| typescript |
typescript-lsp |
| python |
pyright-lsp |
| go |
gopls-lsp |
| rust |
rust-analyzer-lsp |
-
Same step: note that the marketplace add is idempotent and should always be emitted (don't trust the docs' auto-load claim).
-
Same step: instruct the operator to fully restart Claude Code so the env var is inherited.
-
docs/getting-started.md § "Optional: LSP-aware code navigation": add the env-var-not-visible-to-current-process gotcha so the manual-install path users hit the same warning.
Acceptance Criteria
Risks / Dependencies
- Low: content-only change to skill markdown + one doc paragraph. The commands have been verified end-to-end on Claude Code 2.1.138.
- The plugin marketplace command shape could still change in a future Claude Code release; the printed instructions would then need updating. The skill should reference the docs URL so a stale skill is recoverable.
Glossary
| Term |
Definition |
| LSP |
Language Server Protocol — semantic code intelligence (definitions, references, hover) via a per-language server (e.g. typescript-language-server). Claude Code's built-in LSP tool is enabled by ENABLE_LSP_TOOL=1 + an installed plugin. |
claude-plugins-official |
The official Anthropic-maintained plugin marketplace. Docs claim it's auto-loaded; in practice the auto-add can be missing on a fresh adopter. |
| Step 2c |
The LSP-enablement step inside the /setup skill — language detection, server install, env var, plugin install. |
Driver
Step 2c.5(d) of
/setupcurrently punts on plugin install with "the marketplace command shape isn't stable enough… print clear manual instructions instead." This was a safety call when the marketplace was new — but it's now empirically stable and verified end-to-end on Claude Code 2.1.138:The official discover-plugins docs (code.claude.com/docs/en/discover-plugins) ship a verified language → plugin name table.
A subtler gap discovered during a real adopter walkthrough: docs claim
claude-plugins-officialis auto-loaded when Claude Code starts, but in practice the auto-add can be missing — a fresh adopter who follows the manual-install fallback hits "Marketplace not found" and has to debug it themselves. The skill should always emit theaddline; it's idempotent on the success path and recovers the failure path.A second gap:
ENABLE_LSP_TOOL=1written to~/.zshrcis not visible to the current Claude Code process. Operators see the var in their rc file and assume it's active — but it only takes effect on the next fully-restarted session./reload-pluginsdoes not re-read shell env.Scope
.claude/skills/setup/SKILL.mdStep 2c.5(d): replace the manual-instruction block with the verified 3-line copy-paste, keyed on detected language via this map (verified from discover-plugins docs):typescript-lsppyright-lspgopls-lsprust-analyzer-lspSame step: note that the marketplace add is idempotent and should always be emitted (don't trust the docs' auto-load claim).
Same step: instruct the operator to fully restart Claude Code so the env var is inherited.
docs/getting-started.md§ "Optional: LSP-aware code navigation": add the env-var-not-visible-to-current-process gotcha so the manual-install path users hit the same warning.Acceptance Criteria
/reload-plugins)docs/getting-started.md§ "Optional: LSP-aware code navigation" gains the env-var-not-inherited gotcha--enable-lsprun produces the three commands, copy-paste works without interventionRisks / Dependencies
Glossary
typescript-language-server). Claude Code's built-in LSP tool is enabled byENABLE_LSP_TOOL=1+ an installed plugin.claude-plugins-official/setupskill — language detection, server install, env var, plugin install.