Git Commit Helper
Craft clear, consistent commit messages from git diffs
✨ The solution you've been looking for
Generate descriptive commit messages by analyzing git diffs. Use when the user asks for help writing commit messages or reviewing staged changes.
See It In Action
Interactive preview & real-world examples
AI Conversation Simulator
See how users interact with this skill
User Prompt
I've staged some changes for authentication. Can you help me write a good commit message? Here's the diff: [paste git diff --staged output]
Skill Processing
Analyzing request...
Agent Response
A well-structured commit message following conventional commits format with appropriate type, scope, and description
Quick Start (3 Steps)
Get up and running in minutes
Install
claude-code skill install git-commit-helper
claude-code skill install git-commit-helperConfig
First Trigger
@git-commit-helper helpCommands
| Command | Description | Required Args |
|---|---|---|
| @git-commit-helper generate-commit-message-from-staged-changes | Analyze git diff and create a properly formatted conventional commit message | None |
| @git-commit-helper review-multi-file-changes-for-atomic-commits | Break down complex changes into focused, atomic commits with clear messaging | None |
| @git-commit-helper format-breaking-changes-properly | Document breaking changes with clear migration guidance in commit messages | None |
Typical Use Cases
Generate commit message from staged changes
Analyze git diff and create a properly formatted conventional commit message
Review multi-file changes for atomic commits
Break down complex changes into focused, atomic commits with clear messaging
Format breaking changes properly
Document breaking changes with clear migration guidance in commit messages
Overview
Git Commit Helper
Quick start
Analyze staged changes and generate commit message:
1# View staged changes
2git diff --staged
3
4# Generate commit message based on changes
5# (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 authentication
Implement 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 profile
Prevent crashes when user profile fields are null.
Add null checks before accessing nested properties.
Refactor:
refactor(database): simplify query builder
Extract common query patterns into reusable functions.
Reduce code duplication in database layer.
Analyzing changes
Review what’s being committed:
1# Show files changed
2git status
3
4# Show detailed changes
5git diff --staged
6
7# Show statistics
8git diff --staged --stat
9
10# Show changes for specific file
11git 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 flow
Breaking change: Auth service now requires config object
Scope examples
Frontend:
feat(ui): add loading spinner to dashboardfix(form): validate email format
Backend:
feat(api): add user profile endpointfix(db): resolve connection pool leak
Infrastructure:
chore(ci): update Node version to 20feat(docker): add multi-stage build
Breaking changes
Indicate breaking changes clearly:
feat(api)!: restructure API response format
BREAKING CHANGE: All API responses now follow JSON:API spec
Previous format:
{ "data": {...}, "status": "ok" }
New format:
{ "data": {...}, "meta": {...} }
Migration guide: Update client code to handle new response structure
Template workflow
- Review changes:
git diff --staged - Identify type: Is it feat, fix, refactor, etc.?
- Determine scope: What part of the codebase?
- Write summary: Brief, imperative description
- Add body: Explain why and what impact
- Note breaking changes: If applicable
Interactive commit helper
Use git add -p for selective staging:
1# Stage changes interactively
2git add -p
3
4# Review what's staged
5git diff --staged
6
7# Commit with message
8git commit -m "type(scope): description"
Amending commits
Fix the last commit message:
1# Amend commit message only
2git commit --amend
3
4# Amend and add more changes
5git add forgotten-file.js
6git commit --amend --no-edit
Best practices
- Atomic commits - One logical change per commit
- Test before commit - Ensure code works
- Reference issues - Include issue numbers if applicable
- Keep it focused - Don’t mix unrelated changes
- 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
What Users Are Saying
Real feedback from the community
Environment Matrix
Dependencies
Context Window
Security & Privacy
Information
- Author
- davila7
- Updated
- 2026-01-30
- Category
- automation-tools
Related Skills
Git Commit Helper
Generate descriptive commit messages by analyzing git diffs. Use when the user asks for help writing …
View Details →Commit Helper
Help create git commits and PRs with properly formatted messages and release notes following …
View Details →Commit Helper
Help create git commits and PRs with properly formatted messages and release notes following …
View Details →