Official agent skill

Run Smoke Tests

by microsoft in microsoft/vscode-python-environments

Run smoke tests to verify extension functionality in a real VS Code environment.

OfficialMITAuto-check passedTesting & QA

Install Run Smoke Tests

skills CLI
$ npx skills add microsoft/vscode-python-environments --skill run-smoke-tests -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install microsoft/vscode-python-environments run-smoke-tests --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/microsoft/vscode-python-environments.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/run-smoke-tests .claude/skills/run-smoke-tests && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
run-smoke-tests
GitHub stars
141
Token cost
~1.2k tokens
SKILL.md length
388 words
Files
1
Skills in repo
9
Repo updated
First seen
Licence
MIT

At a glance

Run smoke tests to verify extension functionality in a real VS Code environment.

  • Works in 2 steps: Compile and Run → Interpret Results
  • Tasks that involve QA and bug reports
  • SKILL.md covers When to Use This Skill, Quick Reference, How Smoke Tests Work and Workflow, plus 5 more sections
  • Calls npm

What it does

Run Smoke Tests is an agent skill from microsoft/vscode-python-environments, published by the product's own GitHub organization. Run smoke tests to verify extension functionality in a real VS Code environment. Use this when checking if basic features work after changes.

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Testing & QA, covering QA and bug reports. It works with Visual Studio Code and npm. The repository describes itself as: VS Code extension for Python environment and package management. The licence is MIT.

When your agent uses it

  • Tasks that involve QA and bug reports

Example prompts

  • “/run-smoke-tests”

Workflow steps

2 steps, taken from the step headings in SKILL.md.

  1. Compile and Run
  2. Interpret Results

What it can do on your machine

Read from SKILL.md and the folder at commit 4faeedf. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Run Smoke Tests loads about 1.2k tokens when it runs. Until then it costs about 39 tokens; SKILL.md has 388 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~39
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from microsoft/vscode-python-environments at commit 4faeedf, republished under its MIT licence (© microsoft). 388 words, ~1,179 tokens.

Download SKILL.mdSave it as .claude/skills/run-smoke-tests/SKILL.md (or your agent's skills folder).
name
run-smoke-tests
description
Run smoke tests to verify extension functionality in a real VS Code environment. Use this when checking if basic features work after changes.

Run smoke tests to verify the extension loads and basic functionality works in a real VS Code environment.

When to Use This Skill

  • After making changes to extension activation code
  • After modifying commands or API exports
  • Before submitting a PR to verify nothing is broken
  • When the user asks to "run smoke tests" or "verify the extension works"

Quick Reference

ActionCommand
Run all smoke testsnpm run compile && npm run compile-tests && npm run smoke-test
Run specific testnpm run smoke-test -- --grep "Extension activates"
Debug in VS CodeDebug panel → "Smoke Tests" → F5

How Smoke Tests Work

Unlike unit tests (which mock VS Code), smoke tests run inside a real VS Code instance:

  1. npm run smoke-test uses @vscode/test-cli
  2. The CLI downloads a standalone VS Code binary (cached in .vscode-test/)
  3. It launches that VS Code with your extension installed
  4. Mocha runs test files inside that VS Code process
  5. Results are reported back to your terminal

This is why smoke tests are slower (~10-60s) but catch real integration issues.

Workflow

Step 1: Compile and Run
bash
npm run compile && npm run compile-tests && npm run smoke-test
Step 2: Interpret Results

Pass: 4 passing (2s) → Extension works, proceed.

Fail: See error message and check Debugging section.

Running Individual Tests

To run a specific test instead of the whole suite:

bash
# By test name (grep pattern)
npm run smoke-test -- --grep "Extension activates"

# Or temporarily add .only in code:
test.only('Extension activates without errors', ...)
Show full SKILL.md (178 more words)Show less

Debugging Failures

ErrorCauseFix
Extension not installedBuild failed or ID mismatchRun npm run compile, check extension ID
Extension did not become activeError in activate()Debug with F5, check Debug Console
Command not registeredMissing from package.jsonAdd to contributes.commands
Timeout exceededSlow startup or infinite loopIncrease timeout or check for blocking code

For detailed debugging, use VS Code: Debug panel → "Smoke Tests" → F5

Adding New Smoke Tests

Create a new file in src/test/smoke/ with the naming convention *.smoke.test.ts:

typescript
import * as assert from 'assert';
import * as vscode from 'vscode';
import { waitForCondition } from '../testUtils';
import { ENVS_EXTENSION_ID } from '../constants';

suite('Smoke: [Feature Name]', function () {
    this.timeout(60_000);

    test('[Test description]', async function () {
        // Arrange
        const extension = vscode.extensions.getExtension(ENVS_EXTENSION_ID);
        assert.ok(extension, 'Extension not found');

        // Ensure extension is active
        if (!extension.isActive) {
            await extension.activate();
        }

        // Act
        const result = await someOperation();

        // Assert
        assert.strictEqual(result, expected, 'Description of what went wrong');
    });
});

Key patterns:

  • Use waitForCondition() instead of sleep() for async assertions
  • Set generous timeouts (this.timeout(60_000))
  • Include clear error messages in assertions

Test Files

FilePurpose
src/test/smoke/activation.smoke.test.tsExtension activation tests
src/test/smoke/index.tsTest runner entry point
src/test/testUtils.tsUtilities (waitForCondition, etc.)

Prerequisites

  • CI needs webpack build: The extension must be built with npm run compile (webpack) before tests run. The test runner uses dist/extension.js which is only created by webpack, not by npm run compile-tests (tsc)
  • Extension builds: Run npm run compile before tests

Notes

  • First run downloads VS Code (~100MB, cached in .vscode-test/)
  • Tests auto-retry once on failure

© microsoft, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .github/skills/run-smoke-tests of microsoft/vscode-python-environments.

Open the folder on GitHubat commit 4faeedf

Compare with similar skills

Run Smoke Tests next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Run Smoke Tests compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Run Smoke Tests this skillmicrosoft/vscode-python-environments141—~1.2kAutomated safety check: PassMIT
tmux Real User TestingQwenLM/qwen-code28k—~2.3kAutomated safety check: PassApache-2.0
Sage Wiki Integratexoai/sage-wiki620—~861Automated safety check: PassMIT
sfdx-hardis Training End-to-End Testhardisgroupcom/sfdx-hardis400—~2.6kAutomated safety check: NotesAGPL-3.0
Blockless Extension E2EFreakStudioCN/mpy-hardware-extension118—~1.2kAutomated safety check: NotesCustom licence
Release Nyxsthamann/nyx-local-ai133—~609Automated safety check: PassMIT

Similar skills

  • tmux Real User Testing

    QwenLM/qwen-code

    Drives Qwen Code in a real tmux session the way a user would and saves a readable step-by-step transcript of each screen for maintainers to review.

    28k GitHub stars~2.3k tokensUpdated today
    Testing & QAAuto-check passed
  • Sage Wiki Integrate

    xoai/sage-wiki

    Pipeline skill that wires sage-wiki into an existing project — detects language, installs the client, runs a smoke test, and reports.

    620 GitHub stars~861 tokensUpdated yesterday
    Testing & QAAuto-check passed
  • sfdx-hardis Training End-to-End Test

    hardisgroupcom/sfdx-hardis

    Walks the sfdx-hardis training course end to end as a learner would, against a real Developer Edition org and fork, fixing broken steps and screenshots that no longer match.

    400 GitHub stars~2.6k tokensUpdated today
    Testing & QAAuto-check: notes
  • Blockless Extension E2E

    FreakStudioCN/mpy-hardware-extension

    Run and debug the Blockless VS Code extension release gate: CI-equivalent API and extension tests, V0 protocol smoke, live DeepSeek full-stack e2e, VSIX packaging, local reinstall, direct…

    118 GitHub stars~1.2k tokensUpdated 9 days ago
    Testing & QAAuto-check: notes
  • Release Nyx

    sthamann/nyx-local-ai

    Ship a new nyx-local-ai release end to end — bump versions consistently, run the quality gates (typecheck, smoke tests, package), install locally, tag and push so CI publishes the installer artifacts.

    133 GitHub stars~609 tokensUpdated 3 mo ago
    Testing & QAAuto-check passed
  • Drivable Vscode

    forcedotcom/salesforcedx-vscode

    Operate a real VS Code instance through drivable-vscode. An agent skill from forcedotcom/salesforcedx-vscode.

    1k GitHub stars~1k tokensUpdated today
    Testing & QAAuto-check passed

More from microsoft/vscode-python-environments

All 9 skills in this repo
  • Cross Platform Paths

    microsoft/vscode-python-environments

    Official

    Critical patterns for cross-platform path handling in this VS Code extension.

    141 GitHub stars~1.5k tokensUpdated today
    Auto-check passed
  • Python Manager Discovery

    microsoft/vscode-python-environments

    Official

    Environment manager-specific discovery patterns and known issues.

    141 GitHub stars~2.7k tokensUpdated today
    Auto-check passed
  • Run E2E Tests

    microsoft/vscode-python-environments

    Official

    Run E2E tests to verify complete user workflows like environment discovery, creation, and selection.

    141 GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Run Integration Tests

    microsoft/vscode-python-environments

    Official

    Run integration tests to verify that extension components work together correctly.

    141 GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Debug Failing Test

    microsoft/vscode-python-environments

    Official

    Debug a failing test using an iterative logging approach, then clean up and document the learning.

    141 GitHub stars~780 tokensUpdated today
    Auto-check passed
  • Generate Snapshot

    microsoft/vscode-python-environments

    Official

    Generate a codebase health snapshot for technical debt tracking and planning.

    141 GitHub stars~1.1k tokensUpdated today
    Auto-check passed

Categories

Questions about Run Smoke Tests

What does Run Smoke Tests do?

Run smoke tests to verify extension functionality in a real VS Code environment. Run Smoke Tests is an agent skill from microsoft/vscode-python-environments, published by the product's own GitHub organization. Run smoke tests to verify extension functionality in a real VS Code environment.

When should I use Run Smoke Tests?

Run Smoke Tests fits situations like: tasks that involve QA and bug reports.

How do I install Run Smoke Tests in Claude Code?

Run `npx skills add microsoft/vscode-python-environments --skill run-smoke-tests -a claude-code`. Or copy the skill folder (.github/skills/run-smoke-tests in microsoft/vscode-python-environments) into .claude/skills/run-smoke-tests in your project. Claude Code loads it when a task matches its description.

How do I install Run Smoke Tests in Codex?

Run `npx skills add microsoft/vscode-python-environments --skill run-smoke-tests -a codex`. Or copy the skill folder (.github/skills/run-smoke-tests in microsoft/vscode-python-environments) into .agents/skills/run-smoke-tests in your project. Codex loads it when a task matches its description.

Can I use Run Smoke Tests in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add microsoft/vscode-python-environments --skill run-smoke-tests -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/run-smoke-tests, .gemini/skills/run-smoke-tests, .github/skills/run-smoke-tests and .opencode/skills/run-smoke-tests in your project.

What does Run Smoke Tests need to run?

Going by SKILL.md and its folder, Run Smoke Tests needs the command-line tools its instructions call (npm).

Does Run Smoke Tests access the network?

SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Run Smoke Tests safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Run Smoke Tests use?

Run Smoke Tests is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Run Smoke Tests use?

About 1.2k tokens (SKILL.md is roughly 4.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Run Smoke Tests?

Skills that share tags, products or a category with Run Smoke Tests: tmux Real User Testing (QwenLM/qwen-code, 28k stars), Sage Wiki Integrate (xoai/sage-wiki, 620 stars), sfdx-hardis Training End-to-End Test (hardisgroupcom/sfdx-hardis, 400 stars) and Blockless Extension E2E (FreakStudioCN/mpy-hardware-extension, 118 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Run Smoke Tests?

microsoft (a GitHub organization, an official publisher) maintains it in microsoft/vscode-python-environments, which has 141 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 7, 2026.

Source: microsoft/vscode-python-environments on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.