Official agent skill

Uitest

by microsoft in microsoft/vscode-java-dependency

Write, update, run, or debug vscode-java-dependency (Project Manager for Java) UI/E2E tests using AutoTest YAML plans.

OfficialMITAuto-check passedTesting & QA

Install Uitest

skills CLI
$ npx skills add microsoft/vscode-java-dependency --skill uitest -a claude-code

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

GitHub CLI
$ gh skill install microsoft/vscode-java-dependency uitest --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-java-dependency.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/uitest .claude/skills/uitest && 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
uitest
GitHub stars
199
Token cost
~1.3k tokens
SKILL.md length
516 words
Files
1
Skills in repo
2
Repo updated
First seen
Licence
MIT

At a glance

Write, update, run, or debug vscode-java-dependency (Project Manager for Java) UI/E2E tests using AutoTest YAML plans.

  • Works in 8 steps: Identify the scenario and search… → Update the existing plan when possible.… → Use stable AutoTest actions and… → …
  • The user asks for a UI test
  • SKILL.md covers Prerequisites (local), Workflow, Authoring rules and CI
  • Calls npx and npm

What it does

Uitest is an agent skill from microsoft/vscode-java-dependency, published by the product's own GitHub organization. Write, update, run, or debug vscode-java-dependency (Project Manager for Java) UI/E2E tests using AutoTest YAML plans. Use when the user asks for a UI test, E2E test, VS Code UI validation, Java Projects tree/view test, referenced-library test, or autotest plan.

Its SKILL.md is about 1.3k 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 End-to-end testing and Project management. It works with Visual Studio Code, Java and Playwright. The repository describes itself as: Manage Java projects in Visual Studio Code. The licence is MIT.

When your agent uses it

  • The user asks for a UI test
  • VS Code UI validation
  • Java Projects tree/view test
  • Referenced-library test

Example prompts

  • “/uitest”

Requirements

  • Node.js

Workflow steps

8 steps, taken from the first numbered list in SKILL.md.

  1. Identify the scenario and search test/e2e-plans/*.yaml for an existing plan that already covers the area (project explorer, view modes…
  2. Update the existing plan when possible. Create a new test/e2e-plans/java-dep-.yaml only when no existing plan fits.
  3. Use stable AutoTest actions and deterministic verifiers. Do not add raw Playwright tests or screenshot-only checks.
  4. Validate the plan
  5. If validating the current branch, build the OSGi bundle and package the extension
  6. Run the plan against the packaged VSIX
  7. Inspect test-results//results.json and test-results//screenshots/.
  8. Iterate based on the failure cause

What it can do on your machine

Read from SKILL.md and the folder at commit ee9d291. 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:

    • npx
    • npm

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

  • Network

    No URLs in SKILL.md. Its commands use npx and 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

Uitest loads about 1.3k tokens when it runs. Until then it costs about 67 tokens; SKILL.md has 516 words of instructions outside code blocks.

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

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-java-dependency at commit ee9d291, republished under its MIT licence (© microsoft). 516 words, ~1,266 tokens.

Download SKILL.mdSave it as .claude/skills/uitest/SKILL.md (or your agent's skills folder).
name
uitest
description
Write, update, run, or debug vscode-java-dependency (Project Manager for Java) UI/E2E tests using AutoTest YAML plans. Use when the user asks for a UI test, E2E test, VS Code UI validation, Java Projects tree/view test, referenced-library test, or autotest plan.

UI/E2E tests with AutoTest

Use this skill to add or update UI/E2E coverage for vscode-java-dependency (Project Manager for Java).

The repository uses @vscjava/vscode-autotest: YAML plans in test/e2e-plans/*.yaml launch VS Code, install the Extension Pack for Java (vscjava.vscode-java-pack) plus a local VSIX of this extension, execute user-facing actions against the Java Projects view, capture screenshots, and write test-results/<plan>/results.json.

Prerequisites (local)

  • Node.js >= 18 and JDK 21+ installed and on PATH (JDK 21 is required to build the jdtls.ext OSGi bundle).
  • Close any running VS Code instance before running a plan locally; a running instance can block AutoTest from launching its own VS Code.
  • Workspace fixtures are in-repo — no external clones are needed. Plans reference ../maven (test/maven, a maven-archetype-quickstart project) or ../invisible (test/invisible, an unmanaged-folder project).

Workflow

  1. Identify the scenario and search test/e2e-plans/*.yaml for an existing plan that already covers the area (project explorer, view modes, classpath, export jar, new types, file operations, delete, copy paths, refresh, build lifecycle, autorefresh).
  2. Update the existing plan when possible. Create a new test/e2e-plans/java-dep-<scenario>.yaml only when no existing plan fits.
  3. Use stable AutoTest actions and deterministic verifiers. Do not add raw Playwright tests or screenshot-only checks.
  4. Validate the plan:
powershell
npx -y @vscjava/vscode-autotest validate test\e2e-plans\<name>.yaml
  1. If validating the current branch, build the OSGi bundle and package the extension:
powershell
npm install          # first time only; on later iterations run just the two commands below
npm run build-server
npx @vscode/vsce package -o vscode-java-dependency.vsix
  1. Run the plan against the packaged VSIX:
powershell
npx -y @vscjava/vscode-autotest run test\e2e-plans\<name>.yaml --vsix vscode-java-dependency.vsix --output test-results\<name>

Add --no-llm to skip natural-language verify: fields and rely only on deterministic verifiers for a fast local loop. Run the whole suite with npm run test-e2e (autotest run-all test/e2e-plans --no-llm).

  1. Inspect test-results/<name>/results.json and test-results/<name>/screenshots/.
  2. Iterate based on the failure cause:
    • Incorrect plan: fix the YAML and rerun step 6. No rebuild is needed.
    • Product code fix: after editing extension source (src/**) or the OSGi bundle (jdtls.ext/**), re-run step 5 (rebuild + repackage the VSIX) before rerunning step 6. Never rerun against a stale VSIX.
    • Product bug (report only): report the observed behavior and cite the failing step, screenshot, and result reason.
Show full SKILL.md (196 more words)Show less

Authoring rules

  • For most plans, use:
yaml
setup:
  extension: "vscjava.vscode-java-pack"
  vscodeVersion: "stable"
  workspace: "../maven"
  settings:
    java.configuration.checkProjectSettingsExclusions: false
    workbench.startupEditor: "none"
  • Use --vsix vscode-java-dependency.vsix to test current-branch changes; do not rely on a marketplace copy of vscjava.vscode-java-dependency.
  • Use ../invisible (not ../maven) for referenced-library / classpath commands, which only apply to unmanaged-folder projects.
  • Prefer executeVSCodeCommand <commandId> for command-driven UI (e.g. javaProjectExplorer.focus, java.view.package.revealInProjectExplorer, workbench.actions.treeView.javaProjectExplorer.collapseAll).
  • Drive the tree with expandTreeItem <name> and title-bar buttons with clickViewTitleAction "Java Projects" "<action>".
  • Prefer verifyTreeItem for tree state, verifyFile for generated/modified/deleted files, verifyEditorTab for opened tabs, and verifyClipboard for copy-path commands.
  • Use waitForLanguageServer before tree interactions, and insertLineInFile for Java source edits that JDT LS must observe.
  • Free sidebar space (closeAuxiliaryBar, collapseSidebarSection OUTLINE/TIMELINE, collapseWorkspaceRoot) before asserting tree rows.
  • Keep step IDs unique, descriptive, and kebab-case. Omit verify: on steps whose only assertion is a deterministic verifier.
  • Avoid hard-coded coordinates and brittle DOM structure assumptions.

CI

The repository workflow .github/workflows/e2eUI.yml runs on push and pull requests to main. It lints, discovers test/e2e-plans/*.yaml into a matrix, builds a branch VSIX per OS, runs every plan on Windows and Linux as independent matrix cells, and uploads test-results/ artifacts plus an aggregate summary.

Each plan surfaces as its own PR check, so a new test/e2e-plans/*.yaml is picked up automatically without editing the workflow.

© 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/uitest of microsoft/vscode-java-dependency.

Open the folder on GitHubat commit ee9d291

Compare with similar skills

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

Uitest compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Uitest this skillmicrosoft/vscode-java-dependency199—~1.3kAutomated safety check: PassMIT
Playwright Healing AgentTahanima/playwright-java-test-automation-architecture113—~210Automated safety check: PassMIT
Playwright Javadavila7/claude-code-templates32k3 repos~3.4kAutomated safety check: PassMIT
Playwright E2Eforcedotcom/salesforcedx-vscode1k—~3kAutomated safety check: PassBSD-3-Clause
Lit Webview Testingforcedotcom/salesforcedx-vscode1k—~653Automated safety check: PassBSD-3-Clause
Web Application Testinganthropics/skills180k51 repos~966Automated safety check: PassApache-2.0

Similar skills

  • Playwright Healing Agent

    Tahanima/playwright-java-test-automation-architecture

    Expert in diagnosing Playwright failures. Uses the @playwright MCP to verify live DOM state.

    113 GitHub stars~210 tokensUpdated 7 mo ago
    Testing & QAAuto-check passed
  • Playwright Java

    davila7/claude-code-templates

    Scaffold, write, debug, and enhance enterprise-grade Playwright E2E tests in Java using Page Object Model, JUnit 5, Allure reporting, and parallel execution.

    32k GitHub starsUsed in 3 repos~3.4k tokens
    Testing & QAAuto-check passed
  • Playwright E2E

    forcedotcom/salesforcedx-vscode

    writing, running, and debugging Playwright tests; creating and recreating scratch orgs (Dreamhouse, minimal, non-tracking); working with their output from github actions

    1k GitHub stars~3k tokensUpdated today
    Testing & QAAuto-check passed
  • Lit Webview Testing

    forcedotcom/salesforcedx-vscode

    Write or review browser component tests for Lit webviews and VSCode Elements.

    1k GitHub stars~653 tokensUpdated today
    Testing & QAAuto-check passed
  • Web Application Testing

    anthropics/skills

    Official

    Tests local web applications with Python Playwright scripts, checking frontend behavior, capturing screenshots and reading browser console logs.

    180k GitHub starsUsed in 51 repos~966 tokens
    Testing & QAAuto-check passed
  • Official

    Drives a real browser from the command line with playwright-cli to open pages, interact, mock requests, save state and work with Playwright tests.

    5.3k GitHub starsUsed in 23 repos~2.8k tokens
    Testing & QAAuto-check passed

More from microsoft/vscode-java-dependency

  • Java Lsp Tools

    microsoft/vscode-java-dependency

    Official

    Java LSP navigation, source-range handoff and troubleshooting for type lookup and file outlines.

    199 GitHub stars~1.2k tokensUpdated 4 days ago
    Auto-check passed

Categories

Questions about Uitest

What does Uitest do?

Write, update, run, or debug vscode-java-dependency (Project Manager for Java) UI/E2E tests using AutoTest YAML plans. Uitest is an agent skill from microsoft/vscode-java-dependency, published by the product's own GitHub organization. Write, update, run, or debug vscode-java-dependency (Project Manager for Java) UI/E2E tests using AutoTest YAML plans.

When should I use Uitest?

Uitest fits situations like: the user asks for a UI test; VS Code UI validation; java Projects tree/view test; referenced-library test.

How do I install Uitest in Claude Code?

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

How do I install Uitest in Codex?

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

Can I use Uitest 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-java-dependency --skill uitest -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/uitest, .gemini/skills/uitest, .github/skills/uitest and .opencode/skills/uitest in your project.

What does Uitest need to run?

Going by SKILL.md and its folder, Uitest needs the command-line tools its instructions call (npx and npm). Our summary lists: Node.js.

Does Uitest access the network?

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

Is Uitest 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 Uitest use?

Uitest 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 Uitest use?

About 1.3k tokens (SKILL.md is roughly 5.1k 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 Uitest?

Skills that share tags, products or a category with Uitest: Playwright Healing Agent (Tahanima/playwright-java-test-automation-architecture, 113 stars), Playwright Java (davila7/claude-code-templates, 32k stars), Playwright E2E (forcedotcom/salesforcedx-vscode, 1k stars) and Lit Webview Testing (forcedotcom/salesforcedx-vscode, 1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Uitest?

microsoft (a GitHub organization, an official publisher) maintains it in microsoft/vscode-java-dependency, which has 199 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 3, 2026.

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