agentsclimarketplace

Jetbrains vmoptions

Skill buYoung/skills/skills/jetbrains-vmoptions

Provides JetBrains IDE VM options knowledge for version-specific GC selection and memory/performance tuning (JDK 17/21, IDE 222+). Use this skill whenever the user mentions JetBrains IDE performance, vmoptions, .vmoptions files, IntelliJ/WebStorm/PyCharm/GoLand/Rider/CLion/PhpStorm/RubyMine/DataGrip tuning, IDE freezes or lag, heap size configuration, GC tuning for IDEs, or wants to optimize their JetBrains IDE startup or runtime performance — even if they don't explicitly mention "vmoptions".From its SKILL.md

Install
npx -y skills add buYoung/skills --skill jetbrains-vmoptions

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 20 stars20 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

3.7 KB, as published. Nobody here has run it

JetBrains IDE VM Options

Generate .vmoptions configurations for JetBrains IDEs. Output as Markdown code blocks (one option per line, # comments). Do not generate files directly.

Workflow

1. Identify IDE version (blocking)

Read prerequisite-check.md for validation logic. IDE version determines the JDK (17 vs 21), which controls which GC collectors and flags are available. Never skip this step — wrong version means wrong recommendations.

2. Understand the user's goal

Match the user's problem to a tuning strategy:

User saysPrimary goalStart with
"freezes", "hangs", "lag", "UI stutter"Low GC pause timesgc-options.md → ZGC/Shenandoah
"slow indexing", "build is slow"Throughputgc-options.md → G1GC/Parallel
"out of memory", "OOM", "large project"Memory capacitymemory-options.md → heap sizing
"startup is slow"Fast startupcommon-options.md → tiered compilation
"general tuning", "optimize"BalancedAll references as needed

3. Compose options from references

Read only the relevant reference files. Each reference includes flag descriptions, defaults, usage notes, and example configurations.

FileContentRead when
prerequisite-check.mdIDE version validation, JDK mappingAlways (step 1)
gc-options.mdGC selection and tuning flagsGC-related goals
memory-options.mdHeap, code cache, metaspace, large pagesMemory-related goals
common-options.mdCompiler, strings, diagnostics, threadsPerformance/startup goals

4. Self-review before presenting

  • Verify every flag is compatible with the user's JDK version
  • Remove flags that conflict with each other (e.g., two different GC activations)
  • Remove flags the user didn't ask about and doesn't need — lean configs are better
  • Include a brief comment explaining each section's purpose

5. Present with context

Show the final .vmoptions block with:

  • A header comment noting the IDE version and JDK
  • Grouped sections (Memory, GC, Performance, Diagnostics)
  • A short explanation of each non-obvious choice

Scope

  • Supported: IDE versions 222+ (JDK 17) and 243+ (JDK 21)
  • GC collectors: Generational ZGC, ZGC, G1GC, Shenandoah, Parallel, Serial
  • Tuning areas: Memory, code cache, metaspace, GC, compiler, strings, diagnostics
  • Not in scope: OS-level tuning, plugin configuration, IDE settings (non-JVM), or IDE versions below 222

Output Example

# JetBrains IDE VM Options
# IntelliJ IDEA 2024.3 (version 243, JDK 21)

# Memory
-Xms2g
-Xmx4g

# Garbage Collector: Generational ZGC
-XX:+UseZGC
-XX:+ZGenerational

# Performance
-XX:ReservedCodeCacheSize=512m
-XX:+UseStringDeduplication
-XX:SoftRefLRUPolicyMSPerMB=50

# Diagnostics
-XX:+HeapDumpOnOutOfMemoryError
-XX:CICompilerCount=2

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.