java-commitlisted
Install: claude install-skill limited-grisaille833/claude-java-plugins
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(u