Agent skill

Java Conventional Commit Writer

by decebals in decebals/claude-code-java

Writes Conventional Commits messages for Java projects from staged changes, with Java-specific types, scopes and a token-light workflow.

MITAuto-check passedDevelopment

Install Java Conventional Commit Writer

skills CLI
$ npx skills add decebals/claude-code-java --skill git-commit -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install decebals/claude-code-java git-commit --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/decebals/claude-code-java.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/git-commit .claude/skills/git-commit && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
git-commit
GitHub stars
750
Token cost
~1.4k tokens
SKILL.md length
341 words
Files
2
Skills in repo
18
Repo updated
First seen
Licence
MIT

At a glance

Writes Conventional Commits messages for Java projects from staged changes, with Java-specific types, scopes and a token-light workflow.

  • Works in 5 steps: Analyze changes using git diff --staged → Identify scope from modified files → Determine type based on change nature → …
  • Writing a commit message after finishing a Java code change
  • SKILL.md covers When to Use, Format Standard, Examples and Workflow, plus 8 more sections
  • Calls git

What it does

This skill generates commit messages in Conventional Commits format (`type(scope): subject`, then a body) tuned for Java codebases. Types include feat, fix, refactor, test, docs, perf, build for Maven or Gradle changes, and chore, and scope examples name Java-flavored units such as a module, a class like PluginManager, or an area like lifecycle or dependencies. Subjects stay imperative, unpunctuated and under 50 characters, and the body explains what and why rather than how, wrapped at 72 characters with issue references such as Fixes #123.

The workflow analyzes `git diff --staged`, infers scope from the modified files, picks a type from the nature of the change, and runs `git commit -m` with the composed message. For token efficiency it reads staged changes once through `git diff --staged --stat` plus targeted file diffs rather than whole files, keeps bodies to two or three lines, and batches small related changes into one logical commit. Worked examples cover a bug fix, a breaking-change feature, a refactor, a test addition and a dependency upgrade.

When your agent uses it

  • Writing a commit message after finishing a Java code change
  • Committing before opening a pull request
  • Describing a breaking API change in a Java library's commit

Example prompts

  • “Commit these changes to the plugin loader.”
  • “Create a commit for the Spring Boot version bump I just made.”
  • “Write a commit message for this breaking change to PluginDescriptor.”

Requirements

  • A git repository with staged changes

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Analyze changes using git diff --staged
  2. Identify scope from modified files
  3. Determine type based on change nature
  4. Generate message following format
  5. Execute commit: git commit -m "message"

What it can do on your machine

Read from SKILL.md and the folder at commit 0d98fe9. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • conventionalcommits.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Java Conventional Commit Writer loads about 1.4k tokens when it runs. Until then it costs about 48 tokens; SKILL.md has 341 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~48
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from decebals/claude-code-java at commit 0d98fe9, republished under its MIT licence (© decebals). 341 words, ~1,438 tokens.

Download SKILL.mdSave it as .claude/skills/git-commit/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
git-commit
description
Generate conventional commit messages for Java projects. Use when user says "commit", "create commit", "commit changes", or after completing code changes that need to be committed.
license
MIT

Git Commit Message Skill

Generate conventional, informative commit messages for Java projects.

When to Use

  • After making code changes
  • User says "commit this" / "commit changes" / "create commit"
  • Before creating PRs

Format Standard

Use Conventional Commits format:

<type>(<scope>): <subject>

<body>

<footer>
Types (Java context)
  • feat: New feature (new API, new functionality)
  • fix: Bug fix
  • refactor: Code refactoring (no functional change)
  • test: Add/update tests
  • docs: Documentation only
  • perf: Performance improvement
  • build: Maven/Gradle changes
  • chore: Maintenance (dependency updates, etc)
Scope Examples (Java specific)
  • Module name: core, api, plugin-loader
  • Component: PluginManager, ExtensionFactory
  • Area: lifecycle, dependencies, security
Subject Rules
  • Imperative mood: "Add support" not "Added support"
  • No period at end
  • Max 50 chars
  • Lowercase after type
  • Explain WHAT and WHY, not HOW
  • Wrap at 72 chars
  • Reference issues: "Fixes #123" / "Relates to #456"

Examples

Simple fix
fix(plugin-loader): prevent NPE when plugin directory is missing

Check for null before accessing plugin directory to avoid
NullPointerException during initialization.

Fixes #234
Feature with breaking change
feat(api): add support for plugin dependencies versioning

BREAKING CHANGE: PluginDescriptor now requires semantic versioning
format (x.y.z) instead of free-form version strings.

Closes #567
Refactoring
refactor(core): extract plugin validation logic

Move validation logic from PluginManager to separate
PluginValidator class for better testability and separation
of concerns.
Test addition
test(plugin-loader): add integration tests for plugin loading

Add comprehensive integration tests covering:
- Loading from directory
- Loading from JAR
- Error handling for invalid plugins
Build/dependency update
build(deps): upgrade Spring Boot to 3.2.1

Update Spring Boot from 3.1.0 to 3.2.1 for security patches
and performance improvements.

Workflow

  1. Analyze changes using git diff --staged
  2. Identify scope from modified files
  3. Determine type based on change nature
  4. Generate message following format
  5. Execute commit: git commit -m "message"

Token Optimization

  • Read staged changes ONCE: git diff --staged --stat + targeted file diffs
  • Don't read entire files unless necessary
  • Use concise body - aim for 2-3 lines max
  • Batch multiple small changes into logical commits

Anti-patterns

❌ Avoid:

  • "fix stuff" / "update code" / "changes"
  • "WIP" commits (unless explicitly requested)
  • Mixing unrelated changes (use separate commits)
  • Over-detailed technical implementation in message

✅ Good commits:

  • Single logical change
  • Clear, searchable subject
  • References issues when applicable
  • Explains business value

Integration with GitHub

After commit, suggest next steps:

  • "Push changes?"
  • "Create PR for issue #X?"
  • "Continue with next task?"

Common Patterns for Java Projects

Adding new functionality
feat(extension): add support for prioritized extensions

Allow extensions to specify priority order for execution.
Extensions with higher priority run first.

Closes #123
Fixing bugs
fix(classloader): resolve resource lookup in nested JARs

ClassLoader.getResource() was failing for resources in
JARs loaded from plugin JARs (nested JARs). Fixed by
implementing proper resource resolution chain.

Fixes #456
Dependency updates
build(deps): bump slf4j from 1.7.30 to 2.0.9

Updates SLF4J to latest stable version. No API changes
required as we use only stable APIs.
Documentation improvements
docs(readme): add plugin development quickstart guide

Add step-by-step guide for creating first plugin:
- Project setup
- Implementing Plugin interface
- Building and testing
Performance optimizations
perf(plugin-loader): cache plugin descriptors

Cache parsed plugin descriptors to avoid repeated I/O
and parsing. Reduces plugin loading time by ~40%.

Related to #789

Multi-file Changes

When changes span multiple components:

refactor(core): reorganize plugin lifecycle management

- Extract lifecycle state machine to separate class
- Move validation logic to validators package
- Update tests to reflect new structure

This refactoring improves testability and separation
of concerns without changing external APIs.

Related to #111, #222

Breaking Changes

Always use BREAKING CHANGE footer:

feat(api)!: replace Plugin.start() with Plugin.initialize()

BREAKING CHANGE: The Plugin.start() method has been renamed
to Plugin.initialize() for better semantic clarity. All
plugin implementations must update their code.

Migration guide: Replace @Override start() with @Override
initialize() in all Plugin implementations.

Closes #999

Quick Reference Card

Change TypeTypeExample Scope
New featurefeatapi, core, loader
Bug fixfixplugin-loader, lifecycle
Refactoringrefactorcore, utils
Teststestintegration, unit
Docsdocsreadme, javadoc
Buildbuildmaven, deps
Performanceperfclassloader, cache
Maintenancechoreci, tooling

References

© decebals, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in skills/git-commit of decebals/claude-code-java.

  • SKILL.md
  • README.md

Open the folder on GitHubat commit 0d98fe9

Compare with similar skills

Java Conventional Commit Writer next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Java Conventional Commit Writer compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Java Conventional Commit Writer this skilldecebals/claude-code-java750—~1.4kAutomated safety check: PassMIT
Creating Description For Gh PRredis/jedis12k—~838Automated safety check: PassMIT
ToolJet Multi-Repo CommitToolJet/ToolJet41k—~1.3kAutomated safety check: PassAGPL-3.0
Git Workflow and Versioningaddyosmani/agent-skills102k2 repos~3.5kAutomated safety check: NotesMIT
React Router Pull Request Creatorremix-run/react-router57k—~2.5kAutomated safety check: PassMIT
Saleor Commit Workflowsaleor/saleor23k—~575Automated safety check: PassBSD-3-Clause

Similar skills

  • Official

    Generate a clear, concise GitHub PR title and description from the diff between two local git branches, and save it to prDescription.md in the repo root.

    12k GitHub stars~838 tokensUpdated today
    DevelopmentAuto-check passed
  • Commits changes across ToolJet's root repo and its server/ee and frontend/ee submodules, writing messages from the diffs and updating submodule pointers in order.

    41k GitHub stars~1.3k tokensUpdated today
    DevelopmentAuto-check passed
  • Git Workflow and Versioning

    addyosmani/agent-skills

    Sets git habits for every change: short-lived branches, atomic commits with descriptive messages, clean pull requests, plus versioning, tagging and changelogs for releases.

    102k GitHub starsUsed in 2 repos~3.5k tokens
    DevelopmentAuto-check: notes
  • React Router Pull Request Creator

    remix-run/react-router

    Packages finished React Router work into a draft pull request: branch, commit, push, a written PR body and the right GitHub labels.

    57k GitHub stars~2.5k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Commits changes in the Saleor codebase and works through pre-commit hook failures from ruff, mypy, the GraphQL schema check and the migrations check.

    23k GitHub stars~575 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Emoji Commit Conventions

    baptisteArno/typebot.io

    Sets the repository's convention for commit messages and pull request titles: one emoji prefix for the main intent, a concise title and clean follow-up commits.

    11k GitHub stars~424 tokensUpdated yesterday
    DevelopmentAuto-check passed

More from decebals/claude-code-java

All 18 skills in this repo
  • REST API Contract Review

    decebals/claude-code-java

    Reviews REST API design for correct HTTP verbs, versioning, DTO use, consistent responses and backward compatibility before an API change ships.

    750 GitHub starsUsed in 1 repo~2.8k tokens
    Auto-check passed
  • Java Architecture Review

    decebals/claude-code-java

    Reviews a Java project's architecture at the macro level: package structure, module boundaries, dependency direction and layering.

    750 GitHub starsUsed in 1 repo~2.2k tokens
    Auto-check passed
  • Java Design Patterns Reference

    decebals/claude-code-java

    A practical Java reference for Builder, Factory, Singleton, Strategy, Observer and other patterns, with a table matching problems to patterns.

    750 GitHub starsUsed in 1 repo~4.4k tokens
    Auto-check passed
  • Jpa Patterns

    decebals/claude-code-java

    JPA/Hibernate patterns and common pitfalls (N+1, lazy loading, transactions, queries).

    750 GitHub starsUsed in 1 repo~4k tokens
    Auto-check passed
  • Logging Patterns

    decebals/claude-code-java

    Java logging best practices with SLF4J, structured logging (JSON), and MDC for request tracing.

    750 GitHub starsUsed in 1 repo~3.3k tokens
    Auto-check passed
  • Changelog Generator for Java

    decebals/claude-code-java

    Builds changelog entries from conventional commits in a Java project, after working out whether it uses SemVer, two-part versions or calendar versions.

    750 GitHub stars~2.1k tokensUpdated 1 mo ago
    Auto-check passed

Works with

Categories

Questions about Java Conventional Commit Writer

What does Java Conventional Commit Writer do?

Writes Conventional Commits messages for Java projects from staged changes, with Java-specific types, scopes and a token-light workflow. This skill generates commit messages in Conventional Commits format (`type(scope): subject`, then a body) tuned for Java codebases. Types include feat, fix, refactor, test, docs, perf, build for Maven or Gradle changes, and chore, and scope examples name Java-flavored units such as a module, a class like PluginManager, or an area like lifecycle or dependencies.

When should I use Java Conventional Commit Writer?

Java Conventional Commit Writer fits situations like: writing a commit message after finishing a Java code change; committing before opening a pull request; describing a breaking API change in a Java library's commit.

How do I install Java Conventional Commit Writer in Claude Code?

Run `npx skills add decebals/claude-code-java --skill git-commit -a claude-code`. Or copy the skill folder (skills/git-commit in decebals/claude-code-java) into .claude/skills/git-commit in your project. Claude Code loads it when a task matches its description.

How do I install Java Conventional Commit Writer in Codex?

Run `npx skills add decebals/claude-code-java --skill git-commit -a codex`. Or copy the skill folder (skills/git-commit in decebals/claude-code-java) into .agents/skills/git-commit in your project. Codex loads it when a task matches its description.

Can I use Java Conventional Commit Writer in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add decebals/claude-code-java --skill git-commit -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/git-commit, .gemini/skills/git-commit, .github/skills/git-commit and .opencode/skills/git-commit in your project.

What does Java Conventional Commit Writer need to run?

Going by SKILL.md and its folder, Java Conventional Commit Writer needs the command-line tools its instructions call (git). Our summary lists: A git repository with staged changes.

Does Java Conventional Commit Writer access the network?

SKILL.md names 1 domain. As links in the text: conventionalcommits.org. This is read from the text; nothing was executed.

Is Java Conventional Commit Writer safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Java Conventional Commit Writer use?

Java Conventional Commit Writer is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Java Conventional Commit Writer use?

About 1.4k tokens (SKILL.md is roughly 5.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Java Conventional Commit Writer?

Skills that share tags, products or a category with Java Conventional Commit Writer: Creating Description For Gh PR (redis/jedis, 12k stars), ToolJet Multi-Repo Commit (ToolJet/ToolJet, 41k stars), Git Workflow and Versioning (addyosmani/agent-skills, 102k stars) and React Router Pull Request Creator (remix-run/react-router, 57k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Java Conventional Commit Writer?

decebals (a GitHub user) maintains it in decebals/claude-code-java, which has 750 GitHub stars. The repository holds 18 skills in this directory. The repository was last updated on September 6, 2026.

Source: decebals/claude-code-java on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.