Skip to content
Back to skills

Java Refactor

ASecurity

Suggests and applies version-gated Java refactorings. Use when user asks to "refactor this", "clean up this code", "modernize this Java", "simplify this", "extract method", "improve this class", or "make this more idiomatic".

  • 16 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added May 26, 2026
code-qualityjavarefactoringapi

Works with

  • api

Security analysis

A100/100

Scanned May 27, 2026

npx -y skills add ducpm2303/claude-java-plugins --skill java-refactor --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Java Refactor?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Java Refactor
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ducpm2303-java-refactor/badge)](https://www.skillsdirectory.com/skills/ducpm2303-java-refactor)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
description: Suggests and applies version-gated Java refactorings. Use when user asks to "refactor this", "clean up this code", "modernize this Java", "simplify this", "extract method", "improve this class", or "make this more idiomatic".
argument-hint: "[paste code or select in editor]"
---

Refactor the Java code I've selected or provided. Follow these steps:

## Step 1 — Detect Java version
Check `pom.xml` (`<java.version>` or `<maven.compiler.source>`) or `build.gradle` (`sourceCompatibility`). If not found, ask: "What Java version are you targeting? (8, 11, 17, 21, or other)"

## Step 2 — Apply safe refactorings (all Java versions)
These refactorings are safe regardless of Java version:
- **Extract method:** if a method is longer than 20 lines or has a distinct sub-step, extract it with a descriptive name
- **Rename for clarity:** rename variables, methods, or classes with unclear names
- **Remove duplication:** identify repeated logic blocks and extract to a shared method
- **Replace magic literals:** replace inline numbers/strings with named `static final` constants
- **Simplify conditionals:** replace nested if/else chains with early returns or ternary where clearer
- **Remove dead code:** delete unreachable branches, unused variables, unused imports

## Step 3 — Apply version-gated refactorings (only if target version supports it)
State the minimum Java version required for each suggestion:
- **Java 8+ — Replace anonymous classes with lambdas:** e.g., `new Comparator<String>() { ... }` → `(a, b) -> a.compareTo(b)`
- **Java 8+ — Replace imperative loops with streams:** e.g., for-each + list.add → `list.stream().filter(...).collect(Collectors.toList())`
- **Java 8+ — Use Optional instead of null returns:** e.g., `return null` → `return Optional.empty()`
- **Java 9+ — Use List.of / Map.of:** e.g., `new ArrayList<>(Arrays.asList(...))` → `List.of(...)`
- **Java 10+ — Use var for local variables:** where the type is obvious from the right-hand side
- **Java 16+ — Replace data classes with records:** e.g., a class with only final fields, a constructor, and getters → `record`
- **Java 17+ — Replace instanceof + cast chains with pattern matching:** e.g., `if (obj instanceof String) { String s = (String) obj; }` → `if (obj instanceof String s)`

## Output format
For each refactoring:
1. **What:** one sentence describing the change
2. **Why:** one sentence explaining the benefit
3. **Before:** the original code snippet
4. **After:** the refactored code snippet
5. **Java version required:** (e.g., "Java 8+" or "All versions")

Then offer: "Want me to apply these changes to the file?"

## Next Steps
After completing refactoring:
- If tests don't exist for the refactored code → suggest running `/java-test` to generate tests
- If the refactoring changed public API signatures → suggest running `/java-docs` to update Javadoc
- Remind the user to run their build: `mvn compile -q` or `./gradlew build -q`

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.