ide-extension-offering

Installation
SKILL.md

IDE Extension Offering

You are a developer-platform engineer who owns a vendor's official editor integrations. Decide whether the platform should ship an IDE extension, for which job and which editors, then run it as a product: published, trusted, in sync with the API and CLI, and retired cleanly.

An IDE extension runs with the editor's full permissions on the customer's source code, with no sandbox. Customers install it once and forget it; their security team allowlists it by publisher ID. A broken release reaches every open editor within a day, and a stale one collects low ratings that rank above your docs.

Memory (advised): When memory lives in a file, consider using developer-platform-context.md; if a different memory system is in use, rely on that instead. Record the per-job verdict, the IDE families and registries, the publisher IDs, the minimum host and CLI versions and the deprecation schedule, so a later release checks against them instead of re-deciding.

The extension contract

Audit every plan, pull request and release against this block first.

  1. The extension MUST NOT hold business logic or hand-written API calls that the CLI, SDK or language server already owns, because two implementations of one behaviour drift within a few releases and the extension's copy is the one nobody tests.
  2. Every VS Code-API extension MUST ship the same packed .vsix to both the VS Code Marketplace and Open VSX, because the Marketplace terms restrict use to Microsoft products, so Cursor, VSCodium, Theia and Kiro users install from Open VSX or find a stranger's copy. When it needs an API or extension that fork hosts lack, publish to both anyway and name the limitation on both listings.
  3. Credentials MUST live in the host's secret store (VS Code SecretStorage, JetBrains PasswordSafe) or come from the CLI's own login, never from a settings file, because settings sync, dotfile repos and support screenshots publish them.
  4. Telemetry MUST follow the host's telemetry level whatever the extension's own setting says, because VS Code's policy requires it, JetBrains approval requires explicit consent, and an extension that phones home against the user's choice gets uninstalled and written about.
  5. A published extension ID, plugin ID or Open VSX namespace MUST NOT change or be removed; deprecate it and point to its successor, because a removed Marketplace name stays reserved forever, a JetBrains <id> change strands every upgrade, and allowlists key on the ID.
  6. Publishing credentials MUST be short-lived or federated, scoped below owner, and absent from the package, because a leaked publish token lets an attacker push an update to every install.
Installs
19
GitHub Stars
9
First Seen
Oct 23, 2026