Skip to content
Development
Skill

/java-review

Reviews Java code for bugs, naming issues, code smells, and version-appropriate idioms. Use when user asks to "review this code", "check my Java", "look at this class", "find issues in", "code review", "what's wrong with this", or "review this file".

From plugin
claude-java-plugins
1726 skills6 agents5 commands

Claude Code

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

SKILL.md

java-review.SKILL.md
description: Reviews Java code for bugs, naming issues, code smells, and version-appropriate idioms. Use when user asks to "review this code", "check my Java", "look at this class", "find issues in", "code review", "what's wrong with this", or "review this file".
argument-hint: "[paste code or select in editor]"
allowed-tools: Read, Grep, Glob

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

Step 1 — Detect Java version

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

Step 2 — Review for bugs and correctness

  • **Null safety:** flag unguarded dereferences; suggest `Optional<T>` (Java 8+) for values that may be absent
  • **Resource leaks:** flag unclosed `InputStream`, `Connection`, `PreparedStatement`; suggest try-with-resources
  • **equals/hashCode:** if one is overridden without the other, flag it
  • **Collection mutation:** flag modification of a collection while iterating over it
  • **Thread safety:** flag shared mutable fields accessed from multiple threads without synchronization
  • **Off-by-one:** review loop bounds and index access

Step 3 — Review naming and style

  • Classes/interfaces: must be `PascalCase`
  • Methods/variables: must be `camelCase`
  • Constants (static final): must be `SCREAMING_SNAKE_CASE`
  • Flag single-letter variable names outside of loop counters (`i`, `j`, `k`)
  • Flag abbreviations that reduce clarity (e.g., `usr` → `user`, `mgr` → `manager`)

Step 4 — Review Java idioms (version-aware)

For each suggestion involving a version-gated feature, state: "Requires Java X+"

  • Java 8+: suggest streams/lambdas over verbose imperative loops where clarity improves
  • Java 8+: suggest try-with-resources for `Closeable` resources
  • Java 10+: suggest `var` where the type is obvious from the right-hand side
  • Java 16+: suggest records for classes that are pure data holders with no behaviour
  • Java 17+: suggest sealed classes for fixed hierarchies; pattern matching for `instanceof` chains

Step 5 — Review code smells

  • Methods longer than 20 lines: suggest extracting to named helper methods
  • Classes with more than one clear responsibility: suggest splitting
  • Magic numbers/strings: suggest named constants
  • Deep nesting (more than 3 levels): suggest early returns or extraction

Output format

Respond with: 1. **Summary** — 1–2 sentences overall assessment 2. **Issues** — grouped by severity:

  • 🔴 **Critical** (bugs, resource leaks, thread safety)
  • 🟡 **Warning** (naming, missing equals/hashCode, raw types)
  • 🔵 **Suggestion** (idiom improvements, version-gated enhancements)

3. **Strengths** — what is done well (at least one observation)

Be concise. Each issue: one sentence description + one-line fix example.

Next Steps

After completing this review, offer these follow-up actions based on findings:

  • If structural issues found (long methods, god classes) → suggest running `/java-refactor`
  • If missing or inadequate tests found → suggest running `/java-test`
  • If security issues found (SQL concat, hardcoded secrets, weak crypto) → suggest delegating to the `java-security-reviewer` agent
  • If performance issues found (N+1, unbounded queries, String concatenation in loops) → suggest delegating to the `java-performance-reviewer` agent
  • If Javadoc is missing on public API → suggest running `/java-docs`
Read more
@ducpm2303
Ships withclaude-java-plugins

A Claude Code plugin marketplace with 3 focused plugins for Java developers. All plugins support Java 8 through Java 21 and tailor advice to your target Java version.

1726 skills6 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
17
Star history of ducpm2303/claude-java-plugins on GitHub, a chart by star-history.com

Other skills on claude-java-plugins.

java-adr

java-adr

Creates, lists, and manages Architecture Decision Records for Java projects. Use when user asks to "create an ADR", "document…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about java-review.

Which coding agents can use java-review?
java-review installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.