Skip to content

/java-commit

Generates a Conventional Commits message for staged Java changes. Use when user asks to "write a commit message", "help me commit", "what should my commit say", "summarize my changes", "draft a commit", or "create commit message".

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

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/java-commit
How auto-invocation works

Context preview

The summary Claude sees to decide when to auto-load this skill.

Generates a Conventional Commits message for staged Java changes. Use when user asks to "write a commit message", "help me commit", "what should my commit say", "summarize my changes", "draft a commit", or "create commit message".

SKILL.md

java-commit.SKILL.md
description: Generates a Conventional Commits message for staged Java changes. Use when user asks to "write a commit message", "help me commit", "what should my commit say", "summarize my changes", "draft a commit", or "create commit message".
argument-hint: "[leave empty to use git diff, or describe the change]"

Generate a git commit message for the current Java changes. Use the Conventional Commits format tailored to Java/Spring projects.

Step 1 — Gather context

Run (or ask Claude to run): `git diff --staged --stat` to see which files changed. If nothing is staged, check `git diff --stat` for unstaged changes.

Step 2 — Analyse the changes

Based on the changed files, determine:

  • **Type of change**: feat, fix, refactor, test, docs, chore, perf, security
  • **Scope**: the Java package, module, or layer affected (e.g., `service`, `controller`, `repository`, `security`)
  • **What changed**: specific class names, method names, or behaviours

Step 3 — Generate commit message

Use this format:

<type>(<scope>): <imperative summary under 72 chars>

[optional body — what changed and why, not how]

[optional footer — breaking changes, issue references]

Java-specific type rules:

  • `feat`: new class, method, endpoint, or feature
  • `fix`: bug fix in logic, null check, exception handling
  • `refactor`: extract method, rename, restructure — no behaviour change
  • `perf`: N+1 fix, index added, caching, virtual threads
  • `test`: new or updated JUnit/Mockito/Testcontainers tests
  • `security`: OWASP fix, auth change, secret handling improvement
  • `chore`: dependency update, build config, version bump

Java-specific scope examples:

  • `user-service`, `order-controller`, `payment-repository`
  • `auth`, `security`, `jpa`, `api`, `dto`
  • `pom`, `gradle`, `ci`

Examples:

feat(user-service): add findByEmail with case-insensitive search

Adds UserService.findByEmail() using Spring Data derived query.
Returns Optional<User> to handle missing users without null checks.
fix(order-controller): return 404 when order not found instead of 500

Previously threw NullPointerException when order ID did not exist.
Now throws ResourceNotFoundException mapped to 404 by GlobalExceptionHandler.
perf(product-repository): fix N+1 query with @EntityGraph on findAll

Each product was triggering a separate query for its category.
Added @EntityGraph(attributePaths = "category") to load in one JOIN.
refactor(auth-service): replace field injection with constructor injection

Removes @Autowired field injection on JwtTokenProvider and UserDetailsService.
Constructor injection makes dependencies explicit and improves testability.

Step 4 — Output

Provide: 1. The commit message (ready to copy) 2. The git command: `git commit -m "$(cat <<'EOF'\n[message]\nEOF\n)"`

If multiple logical changes are staged together, suggest splitting into separate commits.

Read more
Read it on GitHub ↗
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.

Get the whole plugin, auto-invoked
Stats
17
Stars
0
Views
0
Forks
Maintained
Maintenance
Shell
Language
3mo ago
Last commit
4mo ago
Created

Repo: ducpm2303/claude-java-plugins

Other skills on claude-java-plugins.