Java commit
Skill ducpm2303/claude-java-plugins/plugins/java-core/skills/java-commit
Java developer toolkit for Claude Code — skills, agents, hooks, and coding standards for Java 8+ projects
npx -y skills add ducpm2303/claude-java-plugins --skill java-commitAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 17 stars17 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
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
2.9 KB, as published. Nobody here has run it
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 featurefix: bug fix in logic, null check, exception handlingrefactor: extract method, rename, restructure — no behaviour changeperf: N+1 fix, index added, caching, virtual threadstest: new or updated JUnit/Mockito/Testcontainers testssecurity: OWASP fix, auth change, secret handling improvementchore: dependency update, build config, version bump
Java-specific scope examples:
user-service,order-controller,payment-repositoryauth,security,jpa,api,dtopom,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:
- The commit message (ready to copy)
- The git command:
git commit -m "$(cat <<'EOF'\n[message]\nEOF\n)"
If multiple logical changes are staged together, suggest splitting into separate commits.