java-lsp

java-lsp is a skill for Claude Code from MSApps-Mobile/claude-plugins. It costs 144 tokens per session (1,368 once invoked), scanned A, original, MIT.

A Java code analysis procedure for semantic questions such as compile errors, definitions, references, call sites, and type information. It uses jdtls, the Eclipse Java language server, in read-only mode.

In plain words
What is it for?
Use it to investigate Java compilation problems, find where code is defined or called, inspect types and documentation, and search classes.
Why use it?
It provides project-aware answers that ordinary search may miss, including relationships between classes and methods across Java files.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the java-lsp plugin — 1 skill shipped together

Good fit Use it to investigate Java compilation problems, find where code is defined or called, inspect types and documentation, and search classes.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/msapps-mobile/claude-plugins/java-lsp
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add MSApps-Mobile/claude-plugins --skill java-lsp
Clone the repo
git clone --depth 1 https://github.com/MSApps-Mobile/claude-plugins

Made for: Claude Code.

Or install java-lsp, the plugin that ships this one along with the rest of its 1 skill.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for java-lsp

README.md
[![agentmods](https://agentmods.dev/badge/skills/msapps-mobile/claude-plugins/java-lsp/github.svg)](https://agentmods.dev/skills/msapps-mobile/claude-plugins/java-lsp)
Your own site
<a href="https://agentmods.dev/skills/msapps-mobile/claude-plugins/java-lsp"><img src="https://agentmods.dev/badge/skills/msapps-mobile/claude-plugins/java-lsp/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for java-lsp

Your own site · 80×15
<a href="https://agentmods.dev/skills/msapps-mobile/claude-plugins/java-lsp"><img src="https://agentmods.dev/badge/skills/msapps-mobile/claude-plugins/java-lsp.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 144 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,368 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00144 $0.01368
Opus 5.5 $0.00058 $0.00547
Sonnet 5.5 $0.00029 $0.00274
Haiku 4.5 $0.00014 $0.00137

Measured today against content hash 36f119e1fe16, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

java-lsp scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/java-lsp/skills/java-lsp/SKILL.md · 120 lines

How it starts

The opening of the file, as written. The whole thing — 120 lines — stays where its author put it; the contents beside it link to each section on GitHub.

java-lsp — Java code intelligence via jdtls

Part of the LSP plugin series. Wraps Eclipse JDT Language Server (jdtls) as a read-only, SOSA Level 1 intelligence source.

Workflow Process

Plan

  1. Confirm the user's question actually needs semantic info (diagnostics, references, definitions, hover) vs a plain grep/glob.
  2. Verify jdtls --help works and Java 17+ is on PATH (java -version).
  3. Confirm the repo has a recognizable root: pom.xml, build.gradle[.kts], settings.gradle[.kts], .project, or a .git directory.

Act

  1. Resolve the file path the user is asking about.
  2. Use LSP via the plugin's .lsp.json wiring:
    • textDocument/publishDiagnostics → compile errors
    • textDocument/definition → jump
    • textDocument/references → call sites
    • textDocument/hover → type / Javadoc
    • workspace/symbol → fuzzy class search
  3. For cross-file impact (e.g. reviewing a change), iterate find-references over every public/protected symbol in the touched file.
  4. Treat jdtls answers as authoritative over heuristic search. If jdtls returns empty, say so — don't invent references.

Verify

  1. Cross-check one reported reference by opening the referenced file. If the symbol isn't really there, the jdtls index is stale — report that, don't silently retry.
  2. If diagnostics include incompleteClasspath, the project isn't fully loaded yet — wait for the initial build (can take 10–60 s on first open) before trusting reference counts.

jdtls startup notes (non-obvious)

  • First-run latency: the initial workspace build for a large Maven/Gradle project can take 30–90 s. The plugin's .lsp.json sets startupTimeout: 120000 (milliseconds); very large monorepos may need more in a fork.
  • Workspace folder: jdtls writes build artifacts to ~/.cache/jdtls/workspace/<hash>/. Safe to delete to force reindex.
  • JDK version: jdtls runs on Java 17+. The target source can be any JDK (--source 1.8 through latest) as long as a matching JDK is on the runtime classpath. Configure via org.eclipse.jdt.ls.core.vmargs or JAVA_HOME pointing at the runtime JDK.

Read the full file on GitHub · 120 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. today First seen · 120 lines · 144 tokens per session scan A 36f119e1fe16

Subscribe to this mod's changes

java-lsp is a skill published in the GitHub repository MSApps-Mobile/claude-plugins (10 stars, last pushed today), licensed MIT. It adds 144 tokens to every session and 1,368 once invoked, about $0.0006 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-18.

Related

Other skills, from other repositories

java-fix

Diagnoses and fixes Java compile errors, runtime exceptions, and stack traces. Use when user asks to "fix this error", "this won't compile", "I'm getting an exception", "debug this", or "build is failing".

ducpm2303/claude-java-plugins · 46 tokens

java-perf-check

Quick Java performance scan flagging N+1 queries, memory issues, threading problems, and algorithmic hotspots. Use when user asks to "check performance", "performance scan", "any N+1 queries", "performance issues", "is this efficient", or "slow code".

ducpm2303/claude-java-plugins · 56 tokens

nullaway

Guide for resolving NullAway static analysis errors. Best practices for: Passing ObservableSupplier/Supplier Dereferencing potentially @Nullable values Adding @NullMarked to Java code.

chromium/chromium · 43 tokens

wxjava-troubleshooter

A troubleshooting guide for WxJava, a Java library used to connect applications to WeChat services. It organizes problems involving setup, access tokens, signatures, payment certificates, callbacks, data conversion, network requests, and multiple accounts.

binarywang/WxJava · 65 tokens

neqsim-code-hygiene

Fix formatting, Checkstyle, Spotless, and JavaDoc build failures in NeqSim Java code. USE WHEN: the build fails on spotless:check, checkstyle:check, or javadoc:javadoc; a PR shows formatting/import-order/JavaDoc violations; or you edited any .java file and need to make it CI-clean. Covers the exact recurring errors…

equinor/neqsim · 120 tokens

performance-smell-detection

Detect potential code-level performance smells in Java - streams, collections, boxing, regex, object creation. Provides awareness, not absolutes - always measure before optimizing. For JPA/database performance, use jpa-patterns instead.

decebals/claude-code-java · 51 tokens