Dev & Engineering ✓ Microsoft · Official smoke-testingend-to-end-testingci-debuggingplaywrightmochagithub-actionsazure-pipelines

VS Code Smoke Test Assistant

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

FollowSkills review · FSRS-2.0
Not recommended
53/ 100 5-point scale 2.7 / 5
Trust17 / 25 · 3.4/5

The skill explicitly marks the loop as temporary, requires removal before merge, and discloses logs, screenshots, and possible mock-LLM request/response bodies. It does not define least privilege, user confirmation, sensitive-data handling, credential boundaries, or recovery procedures, so points are deducted.

Reliability8 / 20 · 2.0/5

The npm scripts, argument forwarding, non-zero failure behavior, fail-fast loop, and log locations are internally consistent. Installation prerequisites, platform-specific PowerShell/Azure variants, and abnormal-input handling are incomplete, and nothing was executed; the static ceiling also applies.

Adaptability9 / 15 · 3.0/5

The audience, trigger scenarios, Electron/Web/Remote modes, grep filtering, packaged builds, and CI environments are clear, and smoke tests are distinguished from unit and integration tests. However, non-fit boundaries, Node/system prerequisites, Chinese-language support, and mainland-China reachability are unspecified; log retrieval depends on gh/az and overseas CI services.

Convention9 / 15 · 3.0/5

The document has progressive sections for scripts, options, examples, temporary probing, log diagnosis, and test-type distinctions. Repository context supplies MIT licensing, Microsoft attribution, and version information. The skill itself lacks versioning, changelog, maintenance ownership, installation notes, FAQs, and complete troubleshooting coverage, so points are deducted.

Effectiveness6 / 15 · 2.0/5

The core task is directly actionable through npm commands, filters, tracing, artifact retrieval, and a temporary reproduction loop, with expected exit-code behavior described. There are no skill-specific committed execution results, and prerequisites and platform details are incomplete; static scoring therefore cannot exceed 7.

Verifiability4 / 10 · 2.0/5

The package.json directly corroborates both smoke-test scripts, and the skill gives concrete workflow paths, commands, and artifact structure. The supplied CI evidence is primarily an unrelated chat-performance workflow; no smoke-test CI or independent reproduction evidence for the key paths is provided, so verification remains limited.

Evidence confidence:Low Reviewed Jul 20, 2026 Reviewed revision 5b3e1be7be9e
Before you use it
  • Smoke tests launch full VS Code/Electron or browser flows and may consume substantial CPU, memory, and time; confirm build, display, Playwright, and Electron prerequisites first.
  • Logs may contain mock-LLM request/response bodies and extension logs; inspect for sensitive information before downloading or sharing artifacts.
  • The temporary loop can substantially increase CI cost and modifies workflow files; remove it before merging.
  • The gh/az download paths require the corresponding CLIs, authentication, and reachable CI services; mainland-China network access may be unreliable.
See the full review method →

What it does & when to use it

This skill supports smoke-test work in the microsoft/vscode repository across Electron, browser, and remote test modes. It explains how to run tests with or without the smoke-test compilation step and how to filter suites with Mocha grep. It also documents a temporary repeat-loop technique for reproducing intermittent CI failures while stopping at the first failure. Finally, it explains how to download and inspect smoke-test artifacts from GitHub Actions and Azure DevOps.

It runs npm run smoketest, which compiles test/smoke before execution, or npm run smoketest-no-compile for already-compiled tests; arguments after -- are forwarded to test/smoke/test/index.js. It supports title-based suite filtering, packaged-build testing, Playwright traces, and Electron, browser, headless-browser, or remote modes. For intermittent CI failures, it shows how to add a temporary suite loop to GitHub PR workflows or Azure DevOps test steps, then inspect downloaded artifacts containing runner output, extension-host logs, and failure screenshots.

  1. A VS Code developer needs to run full Electron smoke tests that exercise end-to-end user flows.
  2. A test engineer wants to run only suites matching a title pattern and capture Playwright traces and screenshots on failure.
  3. A CI maintainer needs to repeat one suspect suite on Linux, macOS, or Windows to reproduce an intermittent failure.
  4. A troubleshooter needs to download `.build/logs` artifacts from GitHub Actions or Azure DevOps and inspect Mocha and extension-host output.
  5. A build verifier needs to run compiled smoke tests against a packaged VS Code build.

Pros & cons

Pros
  • Covers Electron, browser, and remote smoke-test modes, including headless browser execution.
  • Provides practical filtering, Playwright tracing, and failure-screenshot options.
  • Documents artifact download and investigation workflows for both GitHub Actions and Azure DevOps.
  • The temporary repeat loop fails fast, preserving the first failure's traces and screenshots while avoiding unnecessary remaining runs.
Limitations
  • It depends on the VS Code repository's existing smoke tests, compilation flow, and CI configuration; it is not a standalone test framework.
  • The repeat loop is strictly a debugging aid and must be removed before merging because it can add roughly an hour per platform.
  • Standalone installation steps, client configuration, and complete environment preparation are not documented in the supplied material.
  • Artifact names and workflow paths vary by platform, CI system, and test suite, so users must select the matching instructions.

How to install

The skill provides no standalone installation command or package-installation procedure. It is located at .github/skills/smoke-tests/SKILL.md in https://github.com/microsoft/vscode; a compatible Agent Skills client must read that file. The supplied material does not document a separate installation process for the repository's skill collection.

How to use

Trigger it in the repository with a request such as: Run the VS Code smoke tests, select suites containing Agents Window, and enable tracing. The corresponding command is npm run smoketest -- -g "Agents Window" --tracing. For compiled tests, use npm run smoketest-no-compile; for a packaged build, use npm run smoketest-no-compile -- --tracing --build "/path/to/VSCode-darwin-arm64/Code - OSS.app". -g can also be written as -f. The runner exits non-zero when a test fails.

Compared to similar skills

Unlike unit and integration testing, this skill focuses on end-to-end flows in test/smoke/ that drive a full VS Code instance. The source points unit tests to scripts/test.sh / runTests and integration tests to scripts/test-integration.sh.

FAQ

What does the smoke-test exit code mean?
The runner returns a non-zero exit code when any test fails. An exit code of 0 means every selected test passed.
Should the repeat loop remain in CI permanently?
No. The source defines it as a temporary debugging technique for reproducing intermittent failures and requires removing it before merge.
Is this skill limited to Electron tests?
No. It also covers browser, headless-browser, and remote smoke tests through the `--web`, `--headless`, and `--remote` options.
Which external tools are explicitly shown?
The source shows npm scripts, GitHub CLI through `gh run download`, and Azure CLI through `az pipelines runs artifact download`. Specific versions and other environment requirements are not provided.

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

Code OSS Launch & Debug

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

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 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