/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".
$ npx -y skills add ducpm2303/claude-java-plugins --skill java-commit --agent claude-codeHow 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
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.mddescription: 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
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.
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.
Other skills on claude-java-plugins.
- /java-adr
Creates, lists, and manages Architecture Decision Records for Java projects. Use when user asks to "create an ADR", "document this decision", "write an architecture decision", "add ADR", "list decisions", "show ADRs", or "record this architectural choice".
Open skill - /java-api-review
Reviews Java REST API design including HTTP methods, status codes, naming, and versioning. Use when user asks to "review my API", "check REST design", "is this good REST", "review endpoints", "API design review", "check my controller", or "review HTTP API".
Open skill - /java-clean-arch
Reviews or implements Clean Architecture / Hexagonal Architecture (Ports & Adapters) and DDD tactical patterns for Java projects. Use when user asks to "apply clean architecture", "implement hexagonal architecture", "add ports and adapters", "apply DDD", "refactor to clean
Open skill - /java-concurrency-review
Reviews Java code for thread safety, race conditions, deadlocks, and Java 21 virtual thread compatibility. Use when user asks to "review concurrency", "is this thread safe", "check for race conditions", "concurrency issues", or "virtual thread compatible".
Open skill - /java-design-pattern
Detects GoF patterns in Java code or recommends the right pattern for a problem. Use when user asks to "what pattern is this", "detect design patterns", "suggest a pattern", "should I use factory", "which design pattern", or "recommend a pattern for".
Open skill - /java-docs
Generates Javadoc comments for Java classes and methods. Use when user asks to "add javadoc", "document this class", "write documentation", "add comments", "generate docs", or "document this method".
Open skill

