Skip to content
Development
Skill

/java-health

Runs a holistic code health check scoring Security, Tests, Performance and Quality with A-F grades. Use when user asks to "check health", "score this project", "health check", "how good is this code", "overall assessment", or "code quality score".

From plugin
claude-java-plugins
1726 skills6 agents5 commands

Claude Code

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

SKILL.md

java-health.SKILL.md
description: Runs a holistic code health check scoring Security, Tests, Performance and Quality with A-F grades. Use when user asks to "check health", "score this project", "health check", "how good is this code", "overall assessment", or "code quality score".
argument-hint: "[path to file, class, or leave empty for current project]"
allowed-tools: Read, Grep, Glob

Run a comprehensive health check on the Java code or project I've indicated. This is an aggregating command — it runs multiple review dimensions and produces a single scored report.

Step 1 — Detect context

  • Check `pom.xml` or `build.gradle` for: Java version, Spring Boot version, dependencies
  • If a specific file is provided, scope the review to that file
  • If no file is provided, review the overall project structure

Step 2 — Run all dimensions in parallel (mentally)

Assess each dimension independently, then score it:

A. Security (0–25 points)

Check for:

  • Hardcoded secrets or credentials (-5 each, max -15)
  • SQL string concatenation (-5 each, max -10)
  • Missing input validation on controller methods (-3 each, max -9)
  • Weak password hashing (MD5/SHA-1) (-8)
  • Sensitive data in logs (-4)

Full score = 25. Deduct per finding.

B. Test Structure Assessment (0–25 points)

> **Note:** This is a *structural* assessment — Claude cannot run your test suite or measure real line coverage. For actual coverage numbers run `mvn test jacoco:report` or `./gradlew test jacocoTestReport`.

Check for:

  • Presence of test files for each service class (-5 per missing service test, max -15)
  • Use of H2 instead of Testcontainers for DB integration tests (-5)
  • Missing exception path tests (no test method with "throws", "exception", or "notFound" in name) (-3 per service class, max -9)
  • Tests that mock the class under test (-4)

Full score = 25. Deduct per finding.

C. Performance (0–25 points)

Check for:

  • `@OneToMany`/`@ManyToMany` without `FetchType.LAZY` (-6 each, max -12)
  • Loops calling repository methods (N+1) (-8 each, max -16)
  • `findAll()` without pagination on large entities (-5)
  • `String` concatenation in loops (-3 each, max -6)
  • `synchronized` on entire methods (-3 each, max -6)

Full score = 25. Deduct per finding.

D. Code Quality (0–25 points)

Check for:

  • Methods longer than 20 lines (-3 each, max -12)
  • Classes with more than one clear responsibility (-5 each, max -10)
  • Magic numbers/strings not extracted to constants (-2 each, max -8)
  • Missing Javadoc on public API methods (-1 each, max -5)
  • Raw types (unparameterized generics) (-3 each, max -6)

Full score = 25. Deduct per finding.

Step 3 — Output the Health Report

Format the report exactly like this:

╔══════════════════════════════════════════╗
║         JAVA HEALTH REPORT               ║
║  Project: [project name or file name]    ║
║  Java: [version] | Spring Boot: [version]║
╠══════════════════════════════════════════╣
║  Security          [score]/25   [grade]  ║
║  Test Coverage     [score]/25   [grade]  ║
║  Performance       [score]/25   [grade]  ║
║  Code Quality      [score]/25   [grade]  ║
╠══════════════════════════════════════════╣
║  TOTAL HEALTH      [total]/100  [grade]  ║
╚══════════════════════════════════════════╝

Grade scale: 23–25 = A, 18–22 = B, 13–17 = C, 8–12 = D, 0–7 = F

Step 4 — Top 3 Actions

List the 3 highest-impact improvements ranked by score gain: 1. **[Action]** — fixes [dimension], gains up to +[N] points 2. **[Action]** — fixes [dimension], gains up to +[N] points 3. **[Action]** — fixes [dimension], gains up to +[N] points

Step 5 — Offer drill-downs

After the report, offer:

  • "Run `/java-review` for detailed code quality findings"
  • "Run `/java-security-check` or ask `java-security-reviewer` for a full OWASP analysis"
  • "Run `/java-perf-check` or ask `java-performance-reviewer` for performance deep-dive"
  • "Run `/java-test` to generate missing tests"
  • "For real coverage numbers: `mvn test jacoco:report` or `./gradlew test jacocoTestReport`"
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-health.

Which coding agents can use java-health?
java-health 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.