Agent Skills: Modernize Java Code

Update Java code to modern language features — records, switch expressions, pattern matching, virtual threads, sealed classes, text blocks, and current collection idioms. Triggers on Java source files.

UncategorizedID: kousen/claude-code-training/modernize-java

Install this agent skill to your local

pnpm dlx add-skill https://github.com/kousen/claude-code-training/tree/HEAD/skills/modernize-java

Skill Files

Browse the full folder contents for modernize-java.

Download Skill

Loading file tree…

skills/modernize-java/SKILL.md

Skill Metadata

Name
modernize-java
Description
Update Java code to modern language features — records, switch expressions, pattern matching, virtual threads, sealed classes, text blocks, and current collection idioms. Triggers on Java source files.

Modernize Java Code

Update the target code to use modern Java features:

  • Records instead of mutable POJOs where the type is a value carrier
  • Switch expressions with arrow syntax and exhaustiveness checking
  • Pattern matching for instanceof and switch
  • Local variable type inference (var) where it helps readability
  • Virtual threads (Java 21+) for I/O-bound operations — Executors.newVirtualThreadPerTaskExecutor()
  • Sealed classes when the type hierarchy is closed
  • Text blocks for multiline strings
  • Sequenced collections (Java 21+) where ordered access matters
  • Collection factory methods (List.of, Map.of, Map.entry)

Constraints

  • Don't change behavior — preserve the public API and observable semantics.
  • Don't apply var where the inferred type would harm readability (e.g., factory results that could be any of several types).
  • If the project's target Java version is below 21, skip the 21+ features and note it in your summary.
  • Run the test suite after non-trivial changes; if tests don't exist, surface that as a follow-up rather than as a blocker.