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
Use with care
54/ 100 5-point scale 2.7 / 5
1 2 3 4 5 6
1Trust14 / 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.

2Reliability9 / 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.

3Adaptability10 / 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.

4Convention9 / 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.

5Effectiveness7 / 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.

6Verifiability5 / 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
The upstream repository has new commits since this review. The score still applies to the reviewed revision shown and may not cover the latest changes.
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 does this skill do, and when should you 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.

What are this skill's strengths and limitations?

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 do you install this skill?

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 do you use this skill?

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

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 Insiders UI Automation

Automate VS Code Insiders and Copilot Chat through Playwright and CDP.

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

VS Code Chat Customizations Editor Skill

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

Dev & Engineering ✓ Microsoft · Official

VS Code Performance Investigation Workflow

Automate repeatable VS Code scenarios and collect performance and memory evidence.

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

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 Smoke Test Assistant

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

Dev & Engineering ✓ Microsoft · Official

Code OSS Development Log Viewer

Locate and inspect the latest Code OSS development logs.

Dev & Engineering ✓ Microsoft · Official

Copilot Session Troubleshooter

Explain unexpected Copilot CLI behavior from session-log evidence.

Dev & Engineering ✓ Microsoft · Official

VS Code Configuration Policy Maintainer

Standardize VS Code policy registration, export, and validation.

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 Chat Performance Lab

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

Dev & Engineering ✓ Microsoft · Official

VS Code Integration Test Runner

Run and filter VS Code repository integration tests with the correct platform scripts.

Dev & Engineering ✓ Microsoft · Official

Copilot Chat Troubleshooter

Explain unexpected agent behavior, latency, and tool failures from Copilot Chat debug logs.

Dev & Engineering ✓ Microsoft · Official

Run Command Builder

Configure and update commands shown in a VS Code Agent Session's Run button.

Dev & Engineering ✓ Microsoft · Official

Reusable Prompt Creator

Turn recurring tasks into reusable .prompt.md files.

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

Search View Results Reader

Reads the existing results in Visual Studio Code’s Search view.

Dev & Engineering ✓ Microsoft · Official

Tool Rename Compatibility Check

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

Related skills