SKILL.md
VS Code Extension Creator
Create, configure, test, and publish VS Code extensions with extension-specific best practices.
Core Workflow
- Initialize - Create package.json with extension manifest
- Implement - Write extension.ts with activate/deactivate
- Test - Set up @vscode/test-electron with CI
- Publish - Bump version, update CHANGELOG, push to main → automated publishing
Publishing Process
- Update CHANGELOG.md with new version section
- Bump version in package.json (semantic versioning)
- Commit and push to main
- 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