Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →

microsoft/vscode

23 skills20.7k installs4M starsGitHub

Install

npx skills add https://github.com/microsoft/vscode

Skills in this repo

1Fix ErrorsWhen fixing an unhandled error from the telemetry dashboard the issue typically contains an error message a stack trace hit count and affected user count The error manifests at a specific line in the stack trace but the fix almost never belongs there Fixing at the crash site e g adding a typeof guard in a revive function swallowing the error with a try catch or returning a fallback value only masks the real problem The invalid data still flows through the system and will cause failures elsewhere 2 Trace the data flow upward through the call stack Read each frame in the stack trace from bottom to top For each frame understand What data is being passed and what is expected Where that data originated IPC message extension API call storage user input etc Whether the data could have been corrupted or malformed at that point The goal is to find the producer of invalid data not the consumer that crashes on it2.2kinstalls2Azure PipelinesWhen modifying Azure DevOps pipeline files YAML files in build azure pipelines you can validate changes locally using the Azure CLI before committing This avoids the slow feedback loop of pushing changes waiting for CI and checking results 1 Check if Azure CLI is installed bash az version If not installed install it bash macOS brew install azure cli Windows PowerShell as Administrator winget install Microsoft AzureCLI Linux Debian Ubuntu curl sL https aka ms InstallAzureCLIDeb sudo bash The azure pipelines agent skill provides documented workflows prerequisites triggers and safety guidance from its SKILL md source Agents load it when user requests match the description and follow step by step instructions without inventing capabilities It integrates with standard agent tooling for the tasks inputs outputs and failure modes described in the repository documentation2.2kinstalls3Memory Leak AuditThe 1 bug category in VS Code This skill encodes the patterns that prevent and fix leaks Reviewing code that registers event listeners or DOM handlers Fixing reported memory leaks listener counts growing over time Creating objects in methods that are called repeatedly Working with model lifecycle events onWillDispose onDidClose Adding event subscriptions in constructors or setup methods Work through each check in order A single missed pattern can cause thousands of leaked objects Rule Never use raw onload onclick or addEventListener directly Always use addDisposableListener typescript BAD leaks a listener every call this iconElement onload The memory leak audit agent skill provides documented workflows prerequisites triggers and safety guidance from its SKILL md source Agents load it when user requests match the description and follow step by step instructions without inventing capabilities It integrates with standard agent tooling for the tasks inputs outputs and failure modes described in the repository documentation2.2kinstalls4AccessibilityUse this skill for any VS Code feature work that introduces or changes interactive UI Use this skill by default for new features and contributions including when the request does not explicitly mention accessibility Trigger examples add a new feature implement a new panel view widget add a new command or workflow new contribution in workbench editor extensions update existing UI interactions Do not skip this skill just because accessibility is not named in the prompt When adding a new interactive UI surface to VS Code a panel view widget editor overlay dialog or any rich focusable component the user interacts with you must provide three accessibility components if they do not already exist for the feature 1 An Accessibility Help Dialog opened via the accessibility help keybinding when the feature has focus 2 An Accessible View a plain text read only editor that presents the feature s content to screen reader users when the feature displays non trivial visual content 3 An Accessibility Verbosity Setting a boolean setting that2.2kinstalls5SessionsAgents window architecture - covers the agents-first app, layering, folder structure, chat widget, menus, contributions, entry points, and development guidelines. Use when implementing features or fixing issues in the Agents window. --- name: sessions description: Agents window architecture - covers the agents-first app, layering, folder structure, chat widget, menus, contributions, entry points, and development guidelines. Use when implementing features or fixing issues in the Agents window. --- ## Before Making Any Changes **MANDATORY:** Before writing or modifying any code in `src/vs/sessions/`, you **must** read these documents: 1. **`.github/instructions/coding-guidelines.instructions.md`** - Naming conventions, code style, string localization, disposable management, and DI patterns. **`.github/instructions/source-code-organization.instructions.md`** - Layers, target environments, dependency injection, and folder structure conventions. Then read the relevant spec for the area you are changing (see table below). If you modify the implementation, you **must** update the corresponding spec to keep it in sync.2.1kinstalls6HygieneThe hygiene skill. Use when making code changes to ensure they pass VS Code's hygiene checks. Covers the pre-commit hook, unicode restrictions, string quoting rules, copyright headers, indentation, formatting, ESLint, and stylelint. Run the hygiene check before declaring work complete. Commits will be rejected if hygiene fails. To run the hygiene check on your staged files: This executes , which scans only **staged files** (from ). To check specific files directly (without staging them first): ## What it checks The hygiene linter scans staged files for issues including (but not limited to): - **Unicode characters**: Non-ASCII characters (em-dashes, curly quotes, emoji, etc.) are rejected. Use ASCII equivalents in comments and code. - **Double-quoted strings**: Only use for externalized (localized) strings. - **Copyright headers**: All files must include the Microsoft copyright header. The workflow follows the source SKILL.md contract with progressive reference loading, clear trigger phrases, and practical steps developers can apply directly in agent sessions.2kinstalls7Author ContributionsThe author-contributions skill. Identify all files a specific author contributed to on a branch vs its upstream, tracing code through renames. Use when asked who edited what, what code an author contributed, or to audit authorship before a merge. This skill should be run as a subagent - it performs many git operations and returns a concise table. When asked to find all files a specific author contributed to on a branch (compared to main or another upstream), follow this procedure. The goal is to produce a simple table that both humans and LLMs can consume. Delegate it to a subagent with a prompt like: > Find every file that author "Full Name" contributed to on branch compared to . Trace contributions through file renames. Return a markdown table with columns: Status (DIRECT or VIA_RENAME), File Path, and Lines (+/-). Identify the author's exact git identity Match the requested person to their exact string.2kinstalls8Tool Rename DeprecationEnsure renamed built-in tool references preserve backward compatibility Use when renaming a toolReferenceName tool set referenceName or any tool identifier Run on ANY change to tool registration code Covers legacyToolReferenceFullNames for tools and legacyFullNames for tool sets The tool-rename-deprecation skill documents workflows and patterns from the repository SKILL md name tool-rename-deprecation description Ensure renamed built-in tool references preserve backward compatibility Use when renaming a toolReferenceName tool set referenceName or any tool identifier Run on ANY change to tool registration code Covers legacyToolReferenceFullNames for tools and legacyFullNames for tool sets Tool Rename Deprecation When a tool or tool set reference name is changed the old name must always be added to the deprecated legacy array so that existing prompt files tool configurations and saved references continue to resolve correctly When to Use Run this skill on any change to built-in tool or tool set registration code to catch regressions Renaming a tool's toolReferenceName Renaming a tool set's referenceName Moving a tool from one tool set to another the old toolSet toolName2kinstalls9Update ScreenshotsDownload screenshot baselines from the latest CI run and commit them. Use when asked to update, accept, or refresh component screenshot baselines from CI, or after the screenshot-test GitHub Action reports differences. This skill should be run as a subagent. The update-screenshots skill documents workflows and patterns from the repository SKILL.md. --- name: update-screenshots description: Download screenshot baselines from the latest CI run and commit them. Use when asked to update, accept, or refresh component screenshot baselines from CI, or after the screenshot-test GitHub Action reports differences. This skill should be run as a subagent. --- # Update Component Screenshots from CI Screenshot baselines are **no longer stored in the repository**. They are managed by an external screenshot service (`hediet-screenshots.azurewebsites.net`). The CI workflow uploads screenshots to this service and diffs them automatically. When the `Checking Component Screenshots` GitHub Action detects changes, it posts a PR comment with before/after comparisons.2kinstalls10LaunchLaunch Code OSS (VS Code from sources) into an isolated throwaway profile with unique debug ports so you can drive it with @playwright/cli AND attach a Node debugger via dap-cli in the same session. Use when working on VS Code itself and you want to interact with the running workbench, automate chat or UI flows, test UI features, take screenshots, set breakpoints in the renderer / extension host / main process, or combine UI driving with debugging. You're working on VS Code itself and you want to:224installs11Component FixturesUse when creating or updating component fixtures for screenshot testing, or when designing UI components to be fixture-friendly. Covers fixture file structure, theming, service setup, CSS scoping, async rendering, and common pitfalls. Component fixtures render isolated UI components for visual screenshot testing via the component explorer. Fixtures live in `src/vs/workbench/test/browser/componentFixtures/` and are auto-discovered by the Vite dev server using the glob `src/**/*.fixture.ts`.210installs12Add PolicyUse when adding, modifying, or reviewing VS Code configuration policies. Covers the full policy lifecycle from registration to export to platform-specific artifacts. Run on ANY change that adds a `policy:` field to a configuration property. Policies allow enterprise administrators to lock configuration settings via OS-level mechanisms (Windows Group Policy, macOS managed preferences, Linux config files) or via Copilot account-level policy data. This skill covers the complete procedure.190installs13Unit TestsUse when running unit tests in the VS Code repo. Covers the runTests tool, scripts/test.sh (macOS/Linux) and scripts/test.bat (Windows), and their supported arguments for filtering, globbing, and debugging tests. If the `runTests` tool is available, **prefer it** over running shell commands. It provides structured output with detailed pass/fail information and supports filtering by file and test name.172installs14Chat Customizations EditorUse when working on the Chat Customizations editor — the management UI for agents, skills, instructions, hooks, prompts, MCP servers, and plugins. Split-view management pane for AI customization items across workspace, user, extension, and plugin storage. Supports harness-based filtering (Local, Copilot CLI, Claude).155installs15Fix Ci FailuresInvestigate and fix CI failures on a pull request. Use when CI checks fail on a PR branch — covers finding the PR, identifying failed checks, downloading logs and artifacts, extracting the failure cause, and iterating on a fix. Requires the `gh` CLI. This skill guides you through diagnosing and fixing CI failures on a PR using the `gh` CLI. The user has the PR branch checked out locally.153installs16Integration TestsMicrosoft VS Code skill for running integration tests in the VS Code repository. Documents scripts/test-integration.sh for macOS and Linux and scripts/test-integration.bat for Windows with their supported CLI arguments for filtering suites, running specific tests, and configuring test behavior. Covers prerequisites, environment setup, and interpreting integration test failures in the large VS Code codebase. Used when validating extension host, workbench, or electron integration scenarios before submitting changes to the VS Code repo.125installs17Heap Snapshot AnalysisAnalyze V8 heap snapshots to investigate memory leaks and retention issues. Use when given .heapsnapshot files, asked to compare before/after snapshots, asked to find what retains objects, or investigating why objects survive GC. Provides snapshot parsing, comparison, retainer-path helpers, and scratchpad scripts. Investigate memory leaks from V8 heap snapshots (`.heapsnapshot` files). This skill starts when snapshots already exist: either the user provided them, DevTools exported them, or another workflow produced them. Use the helpers here to compare snapshots, group object deltas, and trace retainer paths.107installs18Auto Perf OptimizeRun agent-driven VS Code performance or memory investigations. Use when asked to launch Code OSS, automate a VS Code scenario, run the Chat memory smoke runner, capture renderer heap snapshots, take workflow screenshots, compare run summaries, or drive a repeatable scenario before heap-snapshot analysis. Drive a repeatable VS Code scenario, collect memory/performance artifacts, verify that the scenario actually happened, then hand the resulting heap snapshots to the generic heap-snapshot-analysis skill when object-level investigation is needed.100installs19Cpu Profile AnalysisAnalyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-*.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating user timing marks. Analyze `.cpuprofile` files (V8 sampling profiler) and DevTools trace files (`Trace-*.json`, Chrome Trace Event Format) to find performance bottlenecks, compare code paths, and understand timing.99installs20Vscode Dev WorkbenchRun the vscode.dev server locally against sibling microsoft/vscode sources using vscode-quality=dev parameter. Execute npm run dev from vscode-dev folder (not vscode) to start watch and nodemon serving https://127.0.0.1:3000. Supports main workbench and Agents window at /agents route. Handle Monaco chat editor with Send button clicks rather than Enter. Clear aggressive service worker cache via unregister and delete after rebuilds. Optionally wire local mock agent host via ?mock-agent-host=ws:// parameter for Agents window testing without GitHub auth.91installs21Chat PerfChat Performance Testing (chat-perf) is a comprehensive benchmarking and leak detection tool for VS Code chat functionality. It uses Playwright Electron automation to measure rendering latency, layout efficiency, memory usage, and DOM behavior across local dev builds, production bundles, and released versions. Supports multi-run regression detection with statistical significance testing (Welch's t-test), baseline comparison, scenario simulation (content streaming, tool calls, multi-turn), and memory leak analysis via linear regression. Essential for validating chat UI changes before landing and gating CI gates.88installs22OtelThis skill covers OpenTelemetry (OTel) instrumentation for the VS Code Copilot Chat extension, spanning four distinct agent execution paths: foreground orchestration via IOTelService, in-process Copilot CLI via bridge span processor, terminal CLI via env vars, and Claude subprocess via SDK message synthesis. It defines canonical span/metric/event conventions using GenAI semantic constants, manages dual-emit backwards compatibility across three attribute namespaces (gen_ai.*, github.copilot.*, copilot_chat.*), and enforces synchronization between implementation and authoritative monitoring docs. The skill prescribes when to gate content capture on config.captureContent, how to wire cross-boundary trace propagation via stored contexts, and which operations reach OTLP exporters versus debug-panel-only visibility.76installs23Code Oss LogsThe code-oss-logs skill guides agents through finding and reading logs from Code OSS or Agents app development builds. It maps default user data directories under $HOME/.vscode-oss-dev and explains how custom --user-data-dir paths redirect to alternate logs folders. Each run creates a timestamped session folder with main.log, agenthost.log, mcpGateway.log, sharedprocess.log, and per-window renderer, exthost, and output channel logs. A directory layout table ties investigation goals to files such as renderer.log for startup, exthost.log for extensions, agenthost.log for Copilot agents, and mcpServer logs for MCP issues. The procedure lists recent folders with ls -lt, navigates the newest session, and filters with tail or rg. It documents reload-specific output folders, temporary console forwarding via isDevConsoleLogForwardingEnabled, and lint-hostile Boolean guards that must be reverted before check-in. Use when debugging Code OSS dev builds, extension host failures, agent sessions, MCP gateway problems, or terminal and network errors.65installs

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.