smithery/eyk

vscode-extension-builder

Specialized knowledge for creating, configuring, testing, and publishing VS Code extensions.

Installation

$ npx skills add smithery/eyk --skill vscode-extension-builder

Summary

  • Specialized knowledge for creating, configuring, testing, and publishing VS Code extensions.
  • Use when creating a new VS Code extension from scratch, setting up extension infrastructure (package.json contributes, activation events, testing), configuring extension publishing (.vscodeignore, vsce, marketplace), debugging extension-specific issues (CI failures, marketplace rendering), or implementing extension best practices.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,135 B
  • docs SUMMARY.md 457 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

VS Code Extension Creator

Create, configure, test, and publish VS Code extensions with extension-specific best practices.

Core Workflow

  1. Initialize - Create package.json with extension manifest
  2. Implement - Write extension.ts with activate/deactivate
  3. Test - Set up @vscode/test-electron with CI
  4. Publish - Bump version, update CHANGELOG, push to main → automated publishing

Publishing Process

  1. Update CHANGELOG.md with new version section
  2. Bump version in package.json (semantic versioning)
  3. Commit and push to main
  4. GitHub Actions automatically:

- Creates Git tag - Publishes to marketplace (if version not already published) - Skips if tag exists (idempotent)

Critical Learnings

Activation Events

onCommand:extension.commandId (load when command executed) preferred over * (load on startup)

CI Test Workflow

Tests run on pull_request only, not on push to main (avoids redundant post-merge execution)

.vscodeignore

**/*.ts          # Exclude TypeScript
!out/**/*.d.ts   # Include declarations

Linux CI Testing

Requires xvfb-run -a npm test for GUI tests

Marketplace README

Use absolute GitHub URLs: https://raw.githubusercontent.com/user/repo/main/images/demo.png

Version Matching

@types/vscode version must match engines.vscode

References

  • [package.json](references/package-json.md) - Extension manifest, contributes schema
  • [testing](references/testing.md) - @vscode/test-electron, CI setup
  • [publishing](references/publishing.md) - vsce, .vscodeignore rules
  • [pitfalls](references/pitfalls.md) - Common mistakes