Skip to content
Back to skills

Java Commit

ASecurity

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".

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

Works with

  • api

Security analysis

A100/100

Scanned May 27, 2026

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

Installs into .claude/skills of the current project.

Are you the author of Java Commit?

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

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

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: 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.

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.