ship-extension

Build, verify, and install a VSCode extension change across VSCode and Arduino IDE hosts.

9|Updated Mar 4, 2026
One-click install
npx skills add https://github.com/timcsy/semorphe --skill ship-extension-timcsy
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ship-extension
Source: https://github.com/timcsy/semorphe/tree/main/knowledge/skills/ship-extension
Command: npx skills add https://github.com/timcsy/semorphe --skill ship-extension-timcsy

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Shipping a single extension change to both VSCode and Arduino IDE involves silent failure modes: VSCode caches contributions by version number, Theia caches extracted plugins by name, and web-based VS Code hosts ignore the main entry entirely. This Skill encodes a checklist-driven release workflow so each step is verified instead of remembered. ## Core Features & Use Cases - Version-bump enforcement: Requires incrementing EXTENSION_VERSION in src/vscode/manifest.ts so VSCode rebuilds cached contributions instead of silently serving stale code. - Multi-host verification: Runs build artifact checks, a Chromium-based preflight harness, the full test suite, and web-host validation via @vscode/test-web before installation. - Dual-host installation with cache clearing: Installs into both VSCode and Arduino IDE while deleting Theia's name-keyed extraction cache to avoid testing stale builds. - Use Case: After modifying src/vscode/, run this workflow to bump the version, rebuild, pass preflight and full tests, verify the web host, install into both IDEs, and hand off with an explicit list of what was and was not verified. ## Quick Start Ship my latest extension change to both VSCode and Arduino IDE, verifying each step and telling me exactly what you validated.

Frequently Asked Questions about ship-extension

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I ship a VSCode extension update to both VSCode and Arduino IDE?

Bump the extension version, rebuild the vsix, run the preflight harness and full test suite, then install into both hosts while deleting Theia's extracted plugin cache. Theia keys its cache by plugin name, so overwriting the vsix alone will not trigger re-extraction.

Why does my VSCode extension not update after rebuilding?

VSCode caches extension contributions keyed by (id, version), so an unchanged version number means your changes never take effect and no error appears. Always increment the version field before reinstalling.

Does a VSCode extension work in vscode.dev or Codespaces?

Web-based VS Code hosts only read the extension manifest's `browser` entry, not `main`. An extension declaring only `main` is invisible there, and commands fail with 'command not found'. Verify with @vscode/test-web using a real web host.

Why does Arduino IDE not pick up my updated extension vsix?

Arduino IDE 2.x is built on Theia, which caches extracted plugins under ~/.arduinoIDE/deployedPlugins keyed by plugin name without version. You must delete that directory before reinstalling, or you will silently test an older build.

Can I publish a VSCode extension on every commit?

No. Releases should be tied to explicit version tags, not every push, because the Marketplace cannot delete published versions. Each push would turn WIP commits into permanent public versions.