Dev & Engineering ✓ Microsoft · Official vscodecode-ossplaywrightcdpnode-debuggerui-automationdebugging

Code OSS Launch & Debug

Launch a built-from-source VS Code with isolated profiles, Playwright control, and multi-process debugging ports.

FollowSkills review · FSRS-2.0
Not recommended
54/ 100 5-point scale 2.7 / 5
Trust14 / 25 · 2.8/5

The evidence shows isolated temporary user-data, extensions, and shared-data directories, umask 077, and explicit disclosure that authentication material from the OS keychain and User/globalStorage is preserved; the source profile is not mutated and copy exclusions are documented. Points are deducted because authenticated state is copied by default, the OS keychain remains shared, startup may download/build over the network, and there is no explicit pre-launch confirmation or automatic cleanup/rollback mechanism.

Reliability9 / 20 · 2.3/5

SKILL.md and launch.sh are largely consistent about arguments, ports, JSON output, timeouts, logging, and failure exits, with troubleshooting for missing builds, unavailable CDP, wrong targets, and Monaco input failures. Points are deducted because nothing was executed, no dedicated tests for the launcher's key paths are shown, port selection has a theoretical race, and failures in external tools or the build environment remain user-debugged.

Adaptability10 / 15 · 3.3/5

The audience, scenarios, parameters, Playwright/dap-cli integration, Agents-window differences, and platform boundary are documented; Chinese paste handling is mentioned. Points are deducted because Windows is unsupported, network reachability and mainland-China compatibility for authentication, npm, Electron, Playwright, and dap-cli are not established, and semantic triggering still relies substantially on user judgment.

Convention9 / 15 · 3.0/5

The documentation covers prerequisites, launch flags, copied data, port meanings, examples, parallel use, restart, cleanup, and troubleshooting; repository evidence supplies MIT licensing, Microsoft attribution, a version, and maintenance channels. Points are deducted because the skill has no independent version, changelog, explicit maintainer, or clear update path, and dependency installation guidance is not fully centralized.

Effectiveness7 / 15 · 2.3/5

The skill clearly produces machine-readable JSON and offers isolated launching, dynamic debug ports, CDP driving, debugger attachment, and a Monaco paste helper for the core UI-automation and debugging tasks. Under static calibration the score is capped at 7; points are deducted because execution was not performed and results depend on a complete build, authentication setup, system tools, and external services, with some failures requiring manual recovery.

Verifiability5 / 10 · 2.5/5

The scripts, command examples, diagnostics, and JSON schema make important behavior auditable, while the repository includes general CI workflows and test scripts. Points are deducted because the supplied CI does not cover this skill's launcher, authentication copying, port isolation, or Monaco-helper paths, and claims such as live testing cannot be independently reproduced in this static review, so the score stays within the static limit.

Evidence confidence:Low Reviewed Jul 20, 2026 Reviewed revision 5b3e1be7be9e
Before you use it
  • The launcher copies authenticated VS Code state and continues using the current user's OS keychain; use only after reviewing temporary-directory permissions, credential exposure, and local-process visibility.
  • Cleanup relies on manual kill and rm -rf commands, so abnormal exits may leave temporary directories containing sensitive state.
  • The core flow depends on macOS/Linux, Node, rsync, curl, npm/Electron/Playwright downloads, and potentially external authentication services; mainland-China network reachability is unverified.
  • This was a static review only; actual launch, port isolation, authentication, and Monaco paste behavior were not executed.
See the full review method →

What it does & when to use it

This is the single skill at .agents/skills/launch/ in the microsoft/vscode repository. It launches a Code OSS build from sources by cloning an authenticated user-data directory into a temporary profile and assigning isolated ports and directories. Once the renderer's CDP endpoint responds, it prints JSON containing the renderer, extension-host, main-process, and Agent Host ports for @playwright/cli and dap-cli. It fits VS Code development, UI and chat flows, screenshots, and breakpoint debugging, but requires a complete build environment and an authenticated source profile on macOS or Linux.

The skill runs scripts/launch.sh relative to the skill directory. The launcher reads the VS Code checkout and source user-data directory, then copies authentication-related state into a temporary directory; slim mode excludes workspace storage, history, logs, caches, and other regenerable data. Each launch receives isolated user-data, extensions, shared-data, and run directories, along with free CDP, extension-host, main-process, and Agent Host inspection ports. After the renderer CDP endpoint is available, the launcher writes a JSON record containing the process ID, ports, directories, log path, repository, and Agents-window state. The instructions also cover attaching @playwright/cli, listing or selecting Electron targets, taking snapshots and screenshots, pasting text into Monaco through the supplied helper, and attaching dap-cli to the relevant Node inspection port.

  1. A VS Code contributor needs to run a complete source build and inspect the workbench through CDP.
  2. A test engineer needs to automate chat or Agents-window flows, verify UI behavior, and retain screenshots.
  3. A debugger needs breakpoints in the renderer, extension host, Electron main process, or Agent Host.
  4. An engineering team needs several isolated Code OSS instances on one machine without profile, port, or shared-database collisions.

Pros & cons

Pros
  • The launcher waits for the renderer CDP endpoint before printing JSON, so callers generally do not need a retry loop.
  • Fresh temporary profiles, extension directories, shared-data directories, and ports make concurrent instances practical.
  • UI driving with @playwright/cli and Node debugging with dap-cli can target the same running window.
  • Slim profile copying preserves authentication-related state while omitting workspace state, caches, logs, and other large transient data.
Limitations
  • Only macOS and Linux are explicitly supported; the material provides no Windows support evidence.
  • It requires installed dependencies, a full VS Code build including built-in extensions, and an authenticated Code OSS source profile.
  • The default extensions directory is empty, so third-party extensions are not present unless --clone-extensions is used.
  • The workflow depends on a shell, local filesystem access, and several command-line tools; dap-cli is not supplied by the launcher.
  • Native operating-system file dialogs cannot be driven through @playwright/cli over CDP, so each throwaway profile enables VS Code's simple dialog setting.
  • No standalone test suite or cross-platform validation results are provided in the supplied material.

How to install

The supplied materials place the skill at .agents/skills/launch/ but do not document a standalone installation command or package installation flow. Before use, install dependencies in the VS Code checkout with npm install if node_modules is missing, then run npm run compile or npm run watch to build the full client and built-in extensions under extensions/. Prepare an authenticated Code OSS user-data directory as the launch source. Debugger use additionally requires dap-cli on PATH; the material points to https://github.com/roblourens/dap-cli when that tool is unavailable.

How to use

Set LAUNCH to scripts/launch.sh in the directory containing this SKILL.md, for example LAUNCH=<directory containing SKILL.md>/scripts/launch.sh. Run INFO=$("$LAUNCH" | tail -n1), then read the CDP port with jq -r .cdpPort <<<"$INFO" and attach using npx @playwright/cli -s=UNIQUE_SESSION attach --cdp=http://127.0.0.1:$CDP. Use "$LAUNCH" --agents for an Agents window, --source-user-data-dir <path> for a different authenticated source, --repo <vscode-repo-root> for a repository outside the current location, --clone-extensions to copy the source extensions, or --full to disable slim exclusions. For debugging, attach dap-cli to extHostPort, mainPort, or agentHostPort for the extension host, main process, or Agent Host; use cdpPort for the workbench renderer. Give every concurrent launch and Playwright daemon a unique session name, then close the session, terminate Code OSS, and remove the temporary run directory during cleanup.

FAQ

Does this skill cost money?
The material lists no skill fee. The repository source is under the MIT license, but users must provide the Node.js environment, dependencies, build tools, and command-line utilities themselves.
Will the launcher modify my original Code OSS profile?
No. It copies the source user-data directory into a temporary location and launches with an isolated --user-data-dir. The temporary profile should be removed during cleanup.
Why might chat or the language model be unavailable after launch?
The source profile must already be authenticated. If the launched instance asks for sign-in, the material says to complete sign-in; it also recommends checking that the source contains User/ and persisted state under User/globalStorage/.
Can multiple instances run at the same time?
Yes. Each launch gets fresh ports and a separate temporary run directory, and its shared-data-dir override prevents collisions in the fixed-path shared SQLite database. On macOS, however, more than roughly two or three concurrent Code OSS instances may encounter a Crashpad Mach-port limitation.

More skills from this repository

All from microsoft/vscode

Dev & Engineering ✓ Microsoft · Official

Tool Rename Compatibility Check

Protect existing prompts and tool configurations when built-in tools are renamed.

Dev & Engineering ✓ Microsoft · Official

Copilot Chat OpenTelemetry Instrumentation

A repository-specific guide for consistent OpenTelemetry instrumentation in Copilot Chat.

Dev & Engineering ✓ Microsoft · Official

VS Code Configuration Policy Maintainer

Standardize VS Code policy registration, export, and validation.

Design & Frontend ✓ Microsoft · Official

VS Code Design Philosophy

Turn vague UI discomfort into concrete fixes using shared values, principles, and design moves.

Dev & Engineering ✓ Microsoft · Official

Agent Host E2E Test Assistant

Maintain VS Code Agent Host end-to-end tests with strict replay fixtures.

Dev & Engineering ✓ Microsoft · Official

VS Code Integrated Browser Architecture

A practical architecture guide for safely changing VS Code's cross-process integrated browser.

Dev & Engineering ✓ Microsoft · Official

VS Code Agents Window Sessions

Safely implement and repair VS Code Agents window features.

Dev & Engineering ✓ Microsoft · Official

Commit Assistant

Creates repository-style commit messages and safely commits code changes.

Dev & Engineering ✓ Microsoft · Official

Agent Host Log Investigator

Trace session, transport, and host failures in Agent Host debug exports.

Dev & Engineering ✓ Microsoft · Official

VS Code Unit Test Runner

Run VS Code repository unit tests by file, test name, or compiled-output glob.

Dev & Engineering ✓ Microsoft · Official

VS Code Agent Customization Assistant

Create, repair, and troubleshoot VS Code Agent customization files and their loading behavior.

Dev & Engineering ✓ Microsoft · Official

VS Code Accessibility Development Guide

A practical specification for accessible interactive features in VS Code.

Design & Frontend ✓ Microsoft · Official

VS Code CSS Layout Standards

Build reliable VS Code-style CSS layouts and text truncation behavior

Dev & Engineering ✓ Microsoft · Official

VS Code Chat Performance Lab

Benchmark chat rendering and detect memory growth across VS Code builds.

Dev & Engineering ✓ Microsoft · Official

Component Fixtures for Screenshot Testing

Create stable, theme-aware VS Code component fixtures for isolated screenshot testing.

Dev & Engineering ✓ Microsoft · Official

VS Code Smoke Test Assistant

Run, filter, and debug VS Code end-to-end smoke tests.

Dev & Engineering ✓ Microsoft · Official

VS Code Crash Dump Symbolicator

Turn native VS Code crash dumps into readable backtraces with method names.

Dev & Engineering ✓ Microsoft · Official

Local VS Code Web Workbench

Validate VS Code workbench and Agents window changes in a local vscode.dev instance.

Dev & Engineering ✓ Microsoft · Official

Feedback Action

Reads current-session feedback and applies the requested code changes.

Dev & Engineering ✓ Microsoft · Official

VS Code Chat Customizations Editor Skill

Guides developers through safe changes and testing for VS Code’s chat customization management UI.

Related skills