option
HomeHome Skill Code Review Git Commit Helper

Generate descriptive commit messages by analyzing git diffs. Use when the user asks for help writing commit messages or reviewing staged changes.

...Expand all
50
Updated time June 29, 2026

About Git Commit Helper

The Git Commit Helper skill is designed to assist developers in generating clear and descriptive commit messages by analyzing git diffs. It addresses the common problem of vague or poorly structured commit messages, which can lead to confusion and hinder collaboration in software development projects. By offering suggestions based on the changes staged for commit, it ensures that messages are informative and follow best practices in commit message formatting.

This skill features a structured approach to commit message generation, following the conventional commits format. It categorizes changes into specific types such as features, fixes, and documentation updates, and provides guidelines for writing effective commit messages. Users can analyze their staged changes using various git commands and receive tailored commit message suggestions, ultimately enhancing the clarity and quality of their version control practices.

Target users include software developers, teams working on collaborative projects, and anyone involved in maintaining codebases. The Git Commit Helper is particularly useful for those who want to improve their commit message quality, streamline their workflow, and ensure that their version control history is meaningful and easily understandable for current and future collaborators.

FAQ

How do I use the Git Commit Helper?

You can analyze staged changes using 'git diff --staged' and then generate a commit message based on the changes.

Is this skill compatible with all git environments?

Yes, the Git Commit Helper can be used in any environment that supports git commands.

Are there any limitations to using this skill?

The skill relies on the proper use of git commands and the conventional commits format for optimal results.

Can I customize the commit message format?

While the skill follows a conventional format, you can adapt the generated messages as needed.

What if I have multiple changes to commit?

You can use the multi-file commit guidelines to structure your messages effectively.

View on GitHub

Git Commit Helper

Quick start

Analyze staged changes and generate commit message:

# View staged changesgit diff --staged# Generate commit message based on changes# (Claude will analyze the diff and suggest a message)

Commit message format

Follow conventional commits format:

<type>(<scope>): <description>[optional body][optional footer]

Types

  • feat: New feature
  • fix: Bug fix
  • docs: Documentation changes
  • style: Code style changes (formatting, missing semicolons)
  • refactor: Code refactoring
  • test: Adding or updating tests
  • chore: Maintenance tasks

Examples

Feature commit:

feat(auth): add JWT authenticationImplement JWT-based authentication system with:- Login endpoint with token generation- Token validation middleware- Refresh token support

Bug fix:

fix(api): handle null values in user profilePrevent crashes when user profile fields are null.Add null checks before accessing nested properties.

Refactor:

refactor(database): simplify query builderExtract common query patterns into reusable functions.Reduce code duplication in database layer.

Analyzing changes

Review what's being committed:

# Show files changedgit status# Show detailed changesgit diff --staged# Show statisticsgit diff --staged --stat# Show changes for specific filegit diff --staged path/to/file

Commit message guidelines

DO:

  • Use imperative mood ("add feature" not "added feature")
  • Keep first line under 50 characters
  • Capitalize first letter
  • No period at end of summary
  • Explain WHY not just WHAT in body

DON'T:

  • Use vague messages like "update" or "fix stuff"
  • Include technical implementation details in summary
  • Write paragraphs in summary line
  • Use past tense

Multi-file commits

When committing multiple related changes:

refactor(core): restructure authentication module- Move auth logic from controllers to service layer- Extract validation into separate validators- Update tests to use new structure- Add integration tests for auth flowBreaking change: Auth service now requires config object

Scope examples

Frontend:

  • feat(ui): add loading spinner to dashboard
  • fix(form): validate email format

Backend:

  • feat(api): add user profile endpoint
  • fix(db): resolve connection pool leak

Infrastructure:

  • chore(ci): update Node version to 20
  • feat(docker): add multi-stage build

Breaking changes

Indicate breaking changes clearly:

feat(api)!: restructure API response formatBREAKING CHANGE: All API responses now follow JSON:API specPrevious format:{ "data": {...}, "status": "ok" }New format:{ "data": {...}, "meta": {...} }Migration guide: Update client code to handle new response structure

Template workflow

  1. Review changes: git diff --staged
  2. Identify type: Is it feat, fix, refactor, etc.?
  3. Determine scope: What part of the codebase?
  4. Write summary: Brief, imperative description
  5. Add body: Explain why and what impact
  6. Note breaking changes: If applicable

Interactive commit helper

Use git add -p for selective staging:

# Stage changes interactivelygit add -p# Review what's stagedgit diff --staged# Commit with messagegit commit -m "type(scope): description"

Amending commits

Fix the last commit message:

# Amend commit message onlygit commit --amend# Amend and add more changesgit add forgotten-file.jsgit commit --amend --no-edit

Best practices

  1. Atomic commits - One logical change per commit
  2. Test before commit - Ensure code works
  3. Reference issues - Include issue numbers if applicable
  4. Keep it focused - Don't mix unrelated changes
  5. Write for humans - Future you will read this

Commit message checklist

  • Type is appropriate (feat/fix/docs/etc.)
  • Scope is specific and clear
  • Summary is under 50 characters
  • Summary uses imperative mood
  • Body explains WHY not just WHAT
  • Breaking changes are clearly marked
  • Related issue numbers are included

All Files

1 files
SKILL.md 4.5k
View

Install Git Commit Helper

Download and extract the skill files to your .claude/skills/ directory.

Download ZIP

Clone the repository and copy the skill files to your project.

git clone https://github.com/davila7/claude-code-templates/blob/main/cli-tool/components/skills/development/git-commit-helper/SKILL.md # Copy SKILL.md to your .claude/skills/ directory

Copy Copy
Quick Setup: Copy the skill folder to .claude/skills/Claude will automatically detect and use the skill

Related Skills

code-simplify
Updated time July 2, 2026
requesting-code-review
Updated time June 29, 2026
commit-standards
Updated time June 29, 2026
fetch-pr-review-comments
Updated time June 29, 2026
OR