Dev & Engineering ✓ Microsoft · Official

Component Fixtures for Screenshot Testing

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

53/ 100
Use with care

Useful, but reliability, evidence or controls still have material gaps.

See how it was scored ↓
Works as-is in
Codex · Claude Code
Stars
★ 194k
Last updated
11d ago
License
MIT
component-fixturesscreenshot-testingvisual-regression-testingshadow-dom
+2dependency-injectionvite

What does this skill do, and when should you use it?

This skill helps VS Code contributors create or update component fixtures and design UI components that are easy to fixture. It defines the expected fixture location, file pattern, theme variants, service setup, CSS scoping, and asynchronous rendering practices. Fixtures render isolated components through the component explorer, with MCP tools available for listing fixtures and capturing screenshots. It is a good fit for VS Code UI work that needs visual state coverage, provided the Component Explorer Server and matching MCP tools are available.

It guides the agent to create .fixture.ts files under src/vs/workbench/test/browser/componentFixtures/ and define them with defineThemedFixtureGroup, defineComponentFixture, and createEditorServices. It explains how to register additional or mocked services, create text models, apply Dark and Light themes, render inside shadow DOM, and recreate ancestor DOM structures required by production CSS selectors. It also covers preventing flicker from asynchronous DOM reparenting, exposing a component's domNode, and adding options for disabling autofocus or initializing directly in a completed state. At runtime, it instructs the user to start the Component Explorer Server task, call mcp_component-exp_list_fixtures to list fixtures and URLs, and call mcp_component-exp_screenshot to capture screenshots.

Good fit
  • A VS Code frontend developer needs Dark and Light screenshot fixtures for a new UI component and wants to follow the repository's standard structure.
  • A component maintainer finds that production CSS depends on deeply nested ancestor selectors and needs to reproduce or refactor that structure for fixture rendering.
  • A test author needs to isolate a component's external dependencies and register real implementations or mock service instances through dependency injection.
  • A developer performing visual regression checks wants to list component fixtures and capture screenshots programmatically after starting the component explorer.
  • An engineer designing a new component wants it to be easy to fixture by avoiding construction-time layout reads, allowing autofocus to be disabled, and exposing a mountable DOM node.

How do you install this skill?

Before you use it
  • Before use, verify that mcp_component-exp_* tools are installed and accessible, and confirm that screenshot data will not expose sensitive UI content.
  • Failure recovery, rollback, and dependency-version pinning are undocumented; unavailable tools or explorer setup may shift troubleshooting to the user.
  • Chinese-language workflow support and mainland-China network reachability are unspecified and should be checked separately.
Before you start
Your agent needs
  • Shell / CLI
  • Local filesystem
  • MCP Server
Install first
  • Component Explorer Server task
  • Vite dev server
  • mcp_component-exp_* tools

This skill is part of the skill collection in the microsoft/vscode repository at .github/skills/component-fixtures/SKILL.md. Keep that file at the stated path; the source does not document a standalone installation command or a separate installation procedure for other clients. To use the full collection, obtain the repository from https://github.com/microsoft/vscode; the supplied source does not specify a repository acquisition command.

Generic route: install into Claude Code manually (macOS / Linux)
tmp="$(mktemp -d)"
git clone --depth 1 https://github.com/microsoft/vscode.git "$tmp"
mkdir -p ~/.claude/skills
cp -R "$tmp/.github/skills/component-fixtures" ~/.claude/skills/
rm -rf "$tmp"

Generated from the source repository and skill path; it copies only this skill's folder. If the author's install steps above differ, follow those first. To scope it to one project, replace ~/.claude/skills with that project's .claude/skills.

How do you use this skill?

Give a request such as: Create a component fixture for MyWidget with themed variants, mocked services, and a stable screenshot layout. In the VS Code repository, create or update a .fixture.ts file under src/vs/workbench/test/browser/componentFixtures/ and default-export defineThemedFixtureGroup(...). Start the Component Explorer Server task, use mcp_component-exp_list_fixtures to inspect available fixtures and URLs, and use mcp_component-exp_screenshot to capture screenshots. If the MCP tools are not visible, enable them in the host environment first. The source does not document client-specific configuration steps.

What are this skill's strengths and limitations?

Pros
  • Covers fixture structure, theming, service registration, CSS scoping, asynchronous rendering, and screenshot stability pitfalls.
  • Documents the purpose of the `fixtureUtils.ts` helpers and provides reusable TypeScript patterns.
  • Encourages testing the real component code and lifecycle instead of copying or manually recomposing components inside fixtures.
  • Supports automatic Dark and Light variants through `defineThemedFixtureGroup`.
Limitations
  • Its scope is tied to the VS Code repository and its component explorer conventions; broader framework compatibility is not established by the source.
  • The screenshot workflow requires the Component Explorer Server task and `mcp_component-exp_*` tools, while their installation and configuration are not documented here.
  • The source provides no standalone test suite, platform coverage, or screenshot benchmark results.
  • The skill provides development guidance and an invocation workflow rather than a standalone fixture generator or screenshot runner.

How does this skill compare with similar options?

Side by side with related skills; every score comes from the same FSRS standard.

Skill FS score Stars Last updated License
Component Fixtures for Screenshot Testing this page ✓ Microsoft · Official 53 · Use with care ★ 194k 11d ago MIT
CI Component Screenshot Baseline Investigator ✓ Microsoft · Official 37 · Not recommended ★ 194k 11d ago MIT
VS Code Agents Window Sessions ✓ Microsoft · Official 56 · Use with care ★ 194k 11d ago MIT
Angular Developer Skill 63 · Recommended ★ 685 11d ago —
ASP.NET Core Engineering Guide ✓ OpenAI · Official 54 · Use with care ★ 28k 4mo ago —

How did FollowSkills review this skill?

FollowSkills review · FSRS-2.0
Use with care
53/ 100 5-point scale 2.7 / 5
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.
1Trust17 / 25 · 3.4/5

The skill scopes activity to creating, updating, and screenshot-testing component fixtures and directs access through named tools; no malicious or destructive behavior is evident, so a relatively high score is justified. It does not explain tool permissions, screenshot data flow, sensitive-data handling, user confirmation, external effects, or rollback, and source attribution is supported only by repository context; 8 points are deducted.

2Reliability8 / 20 · 2.0/5

It documents server startup, fixture listing, screenshots, and several rendering patterns, making the main happy path plausible and earning 8 points. Static evidence lacks fixture-specific tests, validation, abnormal-input handling, and diagnostic failure guidance beyond tool unavailability; the phrase “inform the user to them on” is also visibly malformed, so 2 points are deducted.

3Adaptability9 / 15 · 3.0/5

The front matter and sections identify users, scenarios, locations, naming, and trigger conditions, covering themes, services, asynchronous rendering, and CSS concerns, earning 9 points. Non-fit boundaries, input/output contracts, false-trigger limits, Chinese support, and mainland-China reachability are not addressed; the core screenshot flow depends on potentially unavailable MCP tools, so 6 points are deducted.

4Convention8 / 15 · 2.7/5

The document has clear information architecture, progressive examples, a service table, pitfalls, and design recommendations. Repository context supplies MIT licensing and Microsoft attribution, supporting 8 points. The skill itself lacks versioning, changelog, explicit maintenance ownership, update path, installation notes, and a complete tool setup explanation, so 7 points are deducted.

5Effectiveness7 / 15 · 2.3/5

The guidance is directly useful for structuring fixtures, registering services, handling themes, and preventing screenshot instability; the core task is plausibly supported, earning the static maximum of 7. No representative fixture output, screenshot baseline, or third-party execution evidence is included, and users must still start the environment and invoke tools themselves, so completeness and direct usability remain unverified; 8 points are deducted.

6Verifiability4 / 10 · 2.0/5

The instructions contain auditable paths and API names, and package.json corroborates the component-explorer dependency, earning 4 points. There is no skill-specific test suite, CI coverage, screenshot baseline, or third-party execution evidence; conclusions therefore rely mainly on documentation claims, so 6 points are deducted.

1 2 3 4 5 6

Open a dimension to read why it scored that way

Reviewed Jul 20, 2026 Reviewed revision 5b3e1be7be9e Review evidence[1][2][3][4][5][6][7][8][9][10][11]

Evidence confidence:Low — Mostly static review, author material or a limited demo; useful for discovery, not high-risk decisions.

See the full review method →

FAQ

Does this skill cost anything?
The source places it in the `microsoft/vscode` repository, whose source code is licensed under MIT. It does not state whether the component explorer MCP tools or any runtime environment involve additional costs.
Can fixture files be placed in any directory?
The skill specifies `src/vs/workbench/test/browser/componentFixtures/` and says the Vite development server auto-discovers files through `src/**/*.fixture.ts`. The documented path and filename convention should be followed.
What causes flickering or unstable screenshots?
The skill identifies asynchronous DOM reparenting as a cause of layout recalculation, focus loss, and screenshots captured in an intermediate state. Build the final DOM structure before rendering and minimize DOM changes after the widget appears.
Does this replace the component explorer or screenshot tools?
No. It explains how to write and run fixtures and requires the Component Explorer Server plus `mcp_component-exp_list_fixtures` and `mcp_component-exp_screenshot`. The source does not say that the skill itself includes those runtime components.

More skills from this repository

All from microsoft/vscode

Dev & Engineering ✓ Microsoft · Official

CI Component Screenshot Baseline Investigator

Investigate component screenshot differences from CI comments and captured artifacts.

★ 194k FS 37 Not recommended 11d ago
Dev & Engineering ✓ Microsoft · Official

VS Code Agents Window Sessions

Safely implement and repair VS Code Agents window features.

★ 194k FS 56 Use with care 11d ago
Dev & Engineering ✓ Microsoft · Official

VS Code Insiders UI Automation

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

★ 194k FS 46 Use with care 11d ago
Dev & Engineering ✓ Microsoft · Official

VS Code Project Bootstrapper

Builds complete project scaffolds in VS Code from the requested project type.

★ 194k FS 43 Not recommended 11d ago
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.

★ 194k FS 52 Use with care 11d ago
Design & Frontend ✓ Microsoft · Official

VS Code Design Philosophy

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

★ 194k FS 58 Recommended 11d ago
Dev & Engineering ✓ Microsoft · Official

Agent Host E2E Test Assistant

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

★ 194k FS 56 Use with care 11d ago
Dev & Engineering ✓ Microsoft · Official

VS Code Unit Test Runner

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

★ 194k FS 55 Use with care 11d ago
Dev & Engineering ✓ Microsoft · Official

VS Code Chat Performance Lab

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

★ 194k FS 53 Use with care 11d ago
Dev & Engineering ✓ Microsoft · Official

VS Code Smoke Test Assistant

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

★ 194k FS 53 Use with care 11d ago
Dev & Engineering ✓ Microsoft · Official

VS Code Telemetry Error Fix Guide

Trace unhandled telemetry errors to invalid-data producers instead of masking the crash site.

★ 194k FS 52 Use with care 11d ago
Dev & Engineering ✓ Microsoft · Official

VS Code Integration Test Runner

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

★ 194k FS 52 Use with care 11d ago
Dev & Engineering ✓ Microsoft · Official

Memory Leak Audit

Systematically find and fix listener, lifecycle, and disposable leaks in VS Code code.

★ 194k FS 52 Use with care 11d ago
Dev & Engineering ✓ Microsoft · Official

VS Code Performance Investigation Workflow

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

★ 194k FS 47 Use with care 11d ago
Dev & Engineering ✓ Microsoft · Official

VS Code Smoke Test Failure Diagnosis

Diagnose and validate intermittent VS Code Electron smoke-test failures in Azure DevOps.

★ 194k FS 45 Not recommended 11d ago
Dev & Engineering ✓ Microsoft · Official

Anthropic SDK Upgrade Assistant

Upgrade Anthropic SDK packages methodically while checking API changes, compilation, and Claude-focused tests.

★ 194k FS 43 Not recommended 11d ago
Dev & Engineering ✓ Microsoft · Official

Search View Results Reader

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

★ 194k FS 43 Not recommended 11d ago
Dev & Engineering ✓ Microsoft · Official

CI Check Fixer

Diagnose failed CI checks from their annotations and output, then repair the current session’s code.

★ 194k FS 40 Not recommended 11d ago
Dev & Engineering ✓ Microsoft · Official

GitHub Copilot SDK Upgrade Assistant

Upgrade and validate @github/copilot in the VS Code Copilot Chat project.

★ 194k FS 28 Not recommended 11d ago
Dev & Engineering ✓ Microsoft · Official

Tool Rename Compatibility Check

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

★ 194k FS 63 Recommended 11d ago

Related skills