home / skills / kevinslin / llm / dev.code-extension

dev.code-extension skill

/skills/dev.code-extension

This skill installs VS Code or Cursor extensions from a local .vsix file using the appropriate CLI, then verifies installation.

npx playbooks add skill kevinslin/llm --skill dev.code-extension

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
2.1 KB
---
name: dev.code-extension
description: Install VS Code/Cursor extensions from a local .vsix via CLI (code, code-insiders, cursor, cursor-nightly). Use whenever asked to install an extension programmatically.
version: 1.0.0
---

# dev.code-extension

Use this skill when the user asks to install a VS Code-compatible extension into **VS Code** or **Cursor** (stable or nightly).

## Input contract

- Expect a **local filesystem path** to a `.vsix` file.
- If the user provides a Marketplace ID instead of a path, ask for the `.vsix` path (unless they explicitly want Marketplace install).

## Install commands (local `.vsix`)

### VS Code (stable)

```bash
code --install-extension "/path/to/extension.vsix" --force
code --list-extensions --show-versions
```

### VS Code Insiders

```bash
code-insiders --install-extension "/path/to/extension.vsix" --force
code-insiders --list-extensions --show-versions
```

### Cursor (stable)

```bash
cursor --install-extension "/path/to/extension.vsix" --force
cursor --list-extensions --show-versions
```

### Cursor Nightly

Prefer `cursor-nightly` if it’s on PATH. If not (macOS default), call it from the app bundle:

```bash
"/Applications/Cursor Nightly.app/Contents/Resources/app/bin/cursor-nightly" --install-extension "/path/to/extension.vsix" --force
"/Applications/Cursor Nightly.app/Contents/Resources/app/bin/cursor-nightly" --list-extensions --show-versions
```

## Verification

- After install, verify by grepping the extension list:
  - `cursor --list-extensions --show-versions | rg -n "<publisher>\\.<name>|<name>"`

## Automation/CI option (avoid touching a developer profile)

If the user wants isolated installs (recommended for scripts/CI), add:

- `--user-data-dir <dir>`
- `--extensions-dir <dir>`

Example:

```bash
cursor --user-data-dir /tmp/cursor-user --extensions-dir /tmp/cursor-ext --install-extension "/path/to/extension.vsix" --force
```

## Sandbox note (Codex CLI)

Installing extensions writes to user/application support directories (outside the repo).
In sandboxed runs, request escalated permissions for these commands.

Overview

This skill installs VS Code-compatible extensions from a local .vsix file into VS Code or Cursor (stable or nightly) via CLI. It targets code, code-insiders, cursor, and cursor-nightly binaries and provides the exact install and verification commands. Use it whenever you need a programmatic, reproducible local install of an extension. It also supports isolated installs for CI or scripts.

How this skill works

Provide a local filesystem path to a .vsix file and the skill returns the appropriate CLI commands to install that package into the chosen editor binary. It supports code, code-insiders, cursor, and cursor-nightly, including a macOS fallback path for Cursor Nightly. The skill also supplies verification commands to confirm installation and optional user-data/extensions directory flags for isolated installs.

When to use it

  • You have a local .vsix file and need to install it into VS Code or Cursor programmatically.
  • Automating extension installs in scripts, CI, or reproducible developer environments.
  • Testing an extension build locally before publishing to the Marketplace.
  • Installing an extension in a sandbox or isolated profile to avoid touching a developer profile.
  • When asked explicitly to install an extension via CLI rather than using the Marketplace UI.

Best practices

  • Always pass the full path to the .vsix file and use --force to overwrite existing installs if needed.
  • Verify installation with --list-extensions --show-versions and grep for publisher.name or name.
  • For CI or automation, use --user-data-dir and --extensions-dir to avoid modifying a personal profile.
  • Prefer cursor-nightly on PATH; on macOS call the app bundle binary if the CLI is not available.
  • In sandboxed environments, request elevated permissions because installs write to user/app support directories.

Example use cases

  • Install a locally built extension into VS Code stable: code --install-extension "/path/to/ext.vsix" --force
  • Add an extension to VS Code Insiders during a test run: code-insiders --install-extension "/path/to/ext.vsix" --force
  • Install into Cursor Nightly on macOS using the app bundle path if cursor-nightly is not on PATH
  • Run isolated installs in CI: cursor --user-data-dir /tmp/user --extensions-dir /tmp/ext --install-extension "/path/to/ext.vsix" --force
  • Verify installation with: cursor --list-extensions --show-versions | rg -n "publisher\.name|name"

FAQ

What if I only have a Marketplace ID?

If you provide a Marketplace ID, ask for the .vsix path unless you explicitly want a Marketplace install; this skill focuses on local .vsix installs.

Can I install without affecting my main profile?

Yes. Use --user-data-dir and --extensions-dir to install into isolated directories suitable for CI or scripting.