java-performance — Claude Code skill: JVM tuning and profiling
A skill that hands your agent JVM tuning recipes: GC selection, CPU profiling, heap analysis and JMH benchmarks.
npx skills add pluginagentmarketplace/custom-plugin-java --skill java-performance -a claude-codeWhat java-performance does
The skill packages JVM performance work into presets your agent can apply. Four flag sets cover high throughput, low latency, memory-constrained and container-optimized runs, each with its own garbage collector and heap settings.
Diagnostics come as ready commands: thread dumps with jstack, heap dumps with jmap, GC stats with jstat, flight recordings with jcmd, and Async Profiler. A comparison table lines up G1, ZGC, Shenandoah and Parallel by latency, throughput and heap size, and a troubleshooting table maps symptoms like GC thrashing or memory leaks to likely causes.
The skill takes a focus parameter with values gc, memory, cpu or profiling, and it is bonded as a secondary skill to the 02-java-advanced subagent. Benchmarks assume JMH, using @BenchmarkMode, @Warmup and @Measurement. Tuning flags only pay off once you know what is actually slow, so expect to read a dump or two before changing anything.
What it helps with
- pick a garbage collector for low latency
- find CPU hotspots with a profiler
- trace a memory leak through a heap dump
- measure a method with a JMH benchmark
- set JVM limits for a container
Example prompts for the agent
- Tune GC for low latency, focus: gc
- Take a thread dump from the running process and show where it blocks
- Write a JMH benchmark for this method
How to install java-performance
1Skills CLI (Vercel)
npx skills add pluginagentmarketplace/custom-plugin-java --skill java-performance -a claude-code2Manually: put the files in place
~/.claude/skills/java-performance/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/java-performance/
1Skills CLI (Vercel)
npx skills add pluginagentmarketplace/custom-plugin-java --skill java-performance -a codex2Manually: put the files in place
.agents/skills/java-performance/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add pluginagentmarketplace/custom-plugin-java --skill java-performance -a cursor2Manually: put the files in place
.cursor/skills/java-performance/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install pluginagentmarketplace/custom-plugin-java java-performance2Manually: put the files in place
.github/skills/java-performance/SKILL.md1Skills CLI (Vercel)
npx skills add pluginagentmarketplace/custom-plugin-java --skill java-performance -a gemini-cli2Platform CLI
gemini skills install https://github.com/pluginagentmarketplace/custom-plugin-java --path skills/java-performanceManually: put the files in place
.devin/skills/java-performance/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add pluginagentmarketplace/custom-plugin-java --skill java-performance -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about java-performance
How do I install java-performance in Claude?
Run npx skills add pluginagentmarketplace/custom-plugin-java --skill java-performance -a claude-code. The skill file then lands at ~/.claude/skills/java-performance/SKILL.md.
What does java-performance do?
It gives your agent JVM tuning guidance: choosing a garbage collector and heap flags, capturing dumps and profiles, and writing JMH benchmarks.
What tools does the skill rely on?
Diagnostics use jstack, jmap, jstat, jcmd and Async Profiler, while benchmarks use JMH.