Official agent skill

Java Lsp Tools

by microsoft in microsoft/vscode-java-dependency

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

OfficialMITAuto-check passed

Install Java Lsp Tools

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

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

GitHub CLI
$ gh skill install microsoft/vscode-java-dependency java-lsp-tools --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/resources/skills/java-lsp-tools .claude/skills/java-lsp-tools && 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
java-lsp-tools
GitHub stars
199
Token cost
~1.2k tokens
SKILL.md length
627 words
Files
1
Skills in repo
2
Repo updated
First seen
Licence
MIT

At a glance

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

  • SKILL.md covers Tools, When to Use, Typical Workflow and Fallback
  • Calls java

What it does

Java Lsp Tools is an agent skill from microsoft/vscode-java-dependency, published by the product's own GitHub organization. Java LSP navigation, source-range handoff and troubleshooting for type lookup and file outlines.

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 works with Java and Visual Studio Code. The repository describes itself as: Manage Java projects in Visual Studio Code. The licence is MIT.

Example prompts

  • “/java-lsp-tools”

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:

    • java

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

  • Network

    No URLs in SKILL.md.

    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

Java Lsp Tools loads about 1.2k tokens when it runs. Until then it costs about 28 tokens; SKILL.md has 627 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~28
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-java-dependency at commit ee9d291, republished under its MIT licence (© microsoft). 627 words, ~1,246 tokens.

Download SKILL.mdSave it as .claude/skills/java-lsp-tools/SKILL.md (or your agent's skills folder).
name
java-lsp-tools
description
Java LSP navigation, source-range handoff and troubleshooting for type lookup and file outlines.

Java LSP Tools

Two navigation tools backed by language-service providers, including the Java Language Server (jdtls). Availability and results depend on imported projects, provider scope and Java settings; they do not certify complete coverage.

If these tools are not already available in the current tool list, load them with tool_search using a query such as Java LSP symbol navigation lsp_java.

Tools

lsp_java_findSymbol

Locate Java types (classes, interfaces, enums, records) by name or pattern.

  • Input: { query, limit? } — integer limit defaults to 20, max 50; caps output only, not provider search work.
  • Source methods are searched only when java.symbols.includeSourceMethodDeclarations is enabled (off by default). Fields are not searched. Do not change user settings to make a query work.
  • Output: { results: [{ name, kind, container?, documentUri, file?, outlineSupported, unsupportedReason?, selectionRange: { startLine, endLine } }], total, truncated? }.
  • selectionRange contains 1-based inclusive navigation lines, usually only the name. It is not a full declaration or implementation read range.
  • documentUri preserves the provider's exact URI. file is an absolute path, present only for supported file: workspace documents. outlineSupported means the location is eligible for the outline tool, not that the file exists or is readable.
  • Prefer this tool for type-name lookup. For a member, inspect the known containing type's file outline; if the type is unknown, use text search.
lsp_java_getFileStructure

Get hierarchical outline of a Java file (classes, methods, fields) with line ranges.

  • Input: { uri, limit? } — prefer the exact documentUri from a result with outlineSupported=true. Confirmed absolute or workspace-relative file paths also work. Do not guess paths. Integer limit defaults to 20, max 60, including child nodes.
  • Only file: documents within the workspace are supported. The item limit caps output, not provider work.
  • Output: { documentUri, file, symbols: [{ name, kind, startLine, endLine, readFileRange, range, detail?, children? }], truncated? }. file is absolute. readFileRange contains a 1-based offset and line-count limit covering the provider's full declaration range.
  • For a reader accepting { filePath, offset, limit }, use filePath=file with the selected symbol's readFileRange. Adapt to other reader schemas; Native and CLI parameters are not necessarily identical.
  • Select a member before reading a large class. truncated=true means count or depth limits omitted symbols; it does not mean the requested member is absent. Use targeted text search when the capped outline omits it.
  • Use before read_file when you need to choose a precise line range in a known Java file
Show full SKILL.md (244 more words)Show less

When to Use

TaskUseNot
Find a type by namelsp_java_findSymbolFull-file reads
Find a member of a known typeLocate type, then lsp_java_getFileStructureBlind member-name workspace search
Find a member with unknown containing typeText searchAssuming method/field search is supported
See known Java file outline before readinglsp_java_getFileStructureread_file full file
Search non-Java files (xml, gradle)grep_searchlsp tools
Search string literals or commentsgrep_searchlsp tools
Explore broad concepts without identifierssemantic_search or search_subagentlsp tools

Typical Workflow

lsp_java_findSymbol → lsp_java_getFileStructure → read_file (specific lines only)

If lsp_java_findSymbol returns a relevant result with outlineSupported=true and implementation is needed, pass documentUri to lsp_java_getFileStructure. Select the appropriate member's full range, then read it. Do not use the workspace symbol's selectionRange as a substitute for a full implementation.

Fallback

  • Empty result: normalization is retried internally only when it changes the query. Retry once after initialization if reason=serverNotFullyReady; otherwise use text search. Initialization readiness is not index-completeness evidence.
  • outlineSupported=false: use an authorized document reader supporting documentUri. Dependency, virtual, remote and outside-workspace documents are not supported by this outline tool; do not rewrite their URIs as workspace paths or bypass access boundaries.
  • fileNotFound: confirm the file via type lookup or file search; do not guess.
  • permissionDenied / fileSystemUnavailable: check permissions or the file system connection; symbol search does not repair these failures.
  • ambiguousWorkspacePath: pass documentUri instead of a duplicated workspace-folder display name.
  • Other tool errors: fall back to text search and an appropriate reader; do not repeatedly retry.

© 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 resources/skills/java-lsp-tools of microsoft/vscode-java-dependency.

Open the folder on GitHubat commit ee9d291

Compare with similar skills

Java Lsp Tools 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.

Java Lsp Tools compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Java Lsp Tools this skillmicrosoft/vscode-java-dependency199—~1.2kAutomated safety check: PassMIT
RayRailly/tinte624—~712Automated safety check: PassMIT
Debug Surefireeclipse-rdf4j/rdf4j420—~2.4kAutomated safety check: PassBSD-3-Clause
Neqsim Setupequinor/neqsim156—~2.2kAutomated safety check: PassApache-2.0
Agent Browser CLIvercel-labs/agent-browser44k24 repos~864Automated safety check: PassApache-2.0
Brainstormingxpinjection/test-driven-spring-boot11254 repos~2.6kAutomated safety check: PassMIT

Similar skills

  • Ray

    Railly/tinte

    Generate code screenshots via ray.tinte.dev API. An agent skill from Railly/tinte.

    624 GitHub stars~712 tokensUpdated 2 mo ago
    Frontend & DesignAuto-check passed
  • Debug Surefire

    eclipse-rdf4j/rdf4j

    Debug Maven Surefire unit tests by running them in JDWP "wait for debugger" mode (-Dmaven.surefire.debug) and attaching to the forked test JVM using jdb (preferred for CLI/agent debugging)…

    420 GitHub stars~2.4k tokensUpdated today
    Testing & QAAuto-check passed
  • Neqsim Setup

    equinor/neqsim

    Configure and verify the NeqSim task environment: task root, document root, Word report template, and health of Java, the NeqSim JAR, the MCP server and the neqsim CLI.

    156 GitHub stars~2.2k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Agent Browser CLI

    vercel-labs/agent-browser

    Official

    Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking…

    44k GitHub starsUsed in 24 repos~864 tokens
    Productivity & AutomationAuto-check passed
  • Brainstorming

    xpinjection/test-driven-spring-boot

    You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior.

    112 GitHub starsUsed in 54 repos~2.6k tokens
    Agent WorkflowsAuto-check passed
  • Electron App Automation

    vercel-labs/agent-browser

    Official

    Automates Electron desktop apps such as VS Code, Slack or Discord by connecting agent-browser to their Chrome DevTools Protocol port.

    44k GitHub starsUsed in 5 repos~1.7k tokens
    Productivity & AutomationAuto-check passed

More from microsoft/vscode-java-dependency

  • Uitest

    microsoft/vscode-java-dependency

    Official

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

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

Questions about Java Lsp Tools

What does Java Lsp Tools do?

Java LSP navigation, source-range handoff and troubleshooting for type lookup and file outlines. Java Lsp Tools is an agent skill from microsoft/vscode-java-dependency, published by the product's own GitHub organization. Java LSP navigation, source-range handoff and troubleshooting for type lookup and file outlines.

How do I install Java Lsp Tools in Claude Code?

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

How do I install Java Lsp Tools in Codex?

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

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

What does Java Lsp Tools need to run?

Going by SKILL.md and its folder, Java Lsp Tools needs the command-line tools its instructions call (java).

Does Java Lsp Tools access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Java Lsp Tools 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 Java Lsp Tools use?

Java Lsp Tools 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 Java Lsp Tools use?

About 1.2k tokens (SKILL.md is roughly 5k 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 Java Lsp Tools?

Skills that share tags, products or a category with Java Lsp Tools: Ray (Railly/tinte, 624 stars), Debug Surefire (eclipse-rdf4j/rdf4j, 420 stars), Neqsim Setup (equinor/neqsim, 156 stars) and Agent Browser CLI (vercel-labs/agent-browser, 44k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Java Lsp Tools?

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.