vscode-extension-guide-en
Covers the end-to-end lifecycle of building and publishing VS Code extensions.
Install
mkdir -p .claude/skills/vscode-extension-guide-en && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/15529" && unzip -o skill.zip -d .claude/skills/vscode-extension-guide-en && rm skill.zipInstalls to .claude/skills/vscode-extension-guide-en
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Guide for VS Code extension development from scaffolding to Marketplace publicationKey capabilities
- →Scaffold a new VS Code extension project
- →Add commands, keybindings, or settings to an extension
- →Build TreeView or Webview UI components
- →Publish an extension to the VS Code Marketplace
- →Troubleshoot extension activation and packaging issues
How it works
The guide covers the full lifecycle of VS Code extension development, from using 'yo code' to scaffold a project, to building and packaging with 'npm run compile' and 'npx @vscode/vsce package', and finally publishing to the Marketplace.
Inputs & outputs
When to use vscode-extension-guide-en
- →Scaffolding a new extension
- →Publishing an extension to the Marketplace
- →Troubleshooting extension activation
About this skill
VS Code Extension Guide (English)
Overview
An English guide for building VS Code extensions, covering the full lifecycle from scaffolding to Marketplace publication. Includes reference material on webview patterns, CSP security, TreeView, testing, packaging and troubleshooting. Updated for VS Code 1.74+ APIs.
Adapted from aktsmm/agent-skills (CC BY-NC-SA 4.0), translated to English with corrections for current VS Code APIs.
When to Use This Skill
- Use when creating a new VS Code extension from scratch
- Use when adding commands, keybindings or settings to an extension
- Use when building TreeView or Webview UI in an extension
- Use when publishing an extension to the VS Code Marketplace
- Use when troubleshooting extension activation or packaging issues
How It Works
Quick Start
npm install -g yo generator-code
yo code
Project Structure
my-extension/
├── package.json # Extension manifest
├── src/extension.ts # Entry point
├── out/ # Compiled JS
├── images/icon.png # 128x128 PNG for Marketplace
└── .vscodeignore # Exclude files from VSIX
Building and Packaging
npm run compile # Build once
npm run watch # Watch mode (F5 to launch debug)
npx @vscode/vsce package # Creates .vsix
Reference Topics
The full skill includes detailed reference documents on:
- Webview patterns with CSP security and message passing
- TreeView data providers and drag-and-drop
- Testing setup with @vscode/test-electron
- Publishing to the VS Code Marketplace
- AI customization for extension projects
- Code review prompts for extension code
- Troubleshooting common extension issues
Install the Full Skill
For the complete guide with all reference documents:
npx skills add lewiswigmore/agent-skills --skill vscode-extension-guide-en
Best Practices
- Unify package name, setting keys, command IDs and view IDs before publishing
- Keep package size under 5MB using
.vscodeignore - Since VS Code 1.74,
activationEventsare auto-detected for contributed commands and views - Always test with the Extension Development Host (F5) before packaging
Common Pitfalls
-
Problem: Extension not loading Solution: Check
activationEvents. Since VS Code 1.74, these are auto-detected for contributed commands/views. -
Problem: Command not found Solution: Match the command ID exactly between package.json and your code.
-
Problem: Webview content not displaying Solution: Check your Content Security Policy. Use the webview's
cspSourceproperty.
Related Skills
@test-driven-development- Write tests before implementing extension features@debugging-strategies- Systematic troubleshooting for extension issues
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
Prerequisites
Limitations
- →The skill is for VS Code extension development.
How it compares
This guide provides a structured, end-to-end workflow for VS Code extension development, including specific commands and best practices, unlike a generic programming tutorial.
Compared to similar skills
vscode-extension-guide-en side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| vscode-extension-guide-en (this skill) | 0 | 2mo | Review | Beginner |
| vscode-ext-commands | 2 | 7mo | No flags | Beginner |
| agent-implementer-sparc-coder | 1 | 6mo | Review | Intermediate |
| ai-sdk-model-manager | 1 | 4mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by asnk633
View all by asnk633 →You might also like
vscode-ext-commands
github
Guidelines for contributing commands in VS Code extensions. Indicates naming convention, visibility, localization and other relevant attributes, following VS Code extension development guidelines, libraries and good practices
agent-implementer-sparc-coder
ruvnet
Agent skill for implementer-sparc-coder - invoke with $agent-implementer-sparc-coder
ai-sdk-model-manager
tambo-ai
Manages AI SDK model configurations - updates packages, identifies missing models, adds new models with research, and updates documentation
update-codemaps
chenqin231
扫描代码结构并更新架构文档映射
tsx
javimosch
TSX namespace for Netsnek e.U. TypeScript component toolkit. React component scaffolding, type-safe props, Storybook integration, and component docs.
vscode-extension-expert
s-hiraoku
This skill provides expert-level guidance for VS Code extension development. Use when implementing new extension features, debugging extension code, designing WebView UIs, implementing Language Server Protocol features, or optimizing extension performance. Covers activation events, contribution poin