git-commit-helper
Generates structured, conventional commit messages automatically by analyzing your git diffs.
Install
mkdir -p .claude/skills/git-commit-helper && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/1295" && unzip -o skill.zip -d .claude/skills/git-commit-helper && rm skill.zipInstalls to .claude/skills/git-commit-helper
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Generate conventional commit messages automatically. Use when user runs git commit, stages changes, or asks for commit message help. Analyzes git diff to create clear, descriptive conventional commit messages. Triggers on git commit, staged changes, commit message requests.Key capabilities
- →Analyze staged git changes to generate commit messages
- →Categorize commits by type such as feat, fix, or refactor
- →Format messages according to Conventional Commits specification
- →Identify breaking changes for footer inclusion
- →Reference issue numbers in commit footers
How it works
The skill inspects staged git changes, categorizes the nature of the modifications, and constructs a commit message following the Conventional Commits format.
Inputs & outputs
When to use git-commit-helper
- →Generating standard commit messages
- →Ensuring clean git history
- →Formatting commit messages for features and fixes
About this skill
Git Commit Helper Skill
Generate conventional commit messages from your git diff.
When I Activate
- ✅
git commitwithout message - ✅ User asks "what should my commit message be?"
- ✅ Staged changes exist
- ✅ User mentions commit or conventional commits
- ✅ Before creating commits
What I Generate
Conventional Commit Format
<type>(<scope>): <subject>
<body>
<footer>
Types:
feat: New featurefix: Bug fixdocs: Documentation changesstyle: Code style (formatting, no logic change)refactor: Code refactoringperf: Performance improvementstest: Test additions or fixesbuild: Build system changesci: CI/CD changeschore: Maintenance tasks
Examples
Feature Addition
# You staged:
git add auth.service.ts login.component.tsx
# I analyze diff and suggest:
feat(auth): add JWT-based user authentication
- Implement login/logout functionality
- Add token management service
- Include auth guards for protected routes
- Add unit tests for auth service
Closes #42
Bug Fix
# You staged:
git add UserList.tsx
# I suggest:
fix(components): resolve memory leak in UserList
Fixed subscription not being cleaned up in useEffect,
causing memory leak when component unmounts.
Closes #156
Breaking Change
# You staged:
git add api/users.ts
# I suggest:
feat(api): update user API response format
Changed response structure to include metadata
for better pagination and filtering support.
BREAKING CHANGE: User API now returns { data, metadata }
instead of direct array. Update client code accordingly.
Documentation Update
# You staged:
git add README.md docs/api.md
# I suggest:
docs: update API documentation with authentication examples
- Add authentication flow diagrams
- Include cURL examples for protected endpoints
- Document error responses
Analysis Process
Step 1: Check Staged Changes
git diff --staged --name-only
git diff --staged
Step 2: Categorize Changes
- New files → feat
- Modified files → fix, refactor, or feat
- Deleted files → chore or refactor
- Test files → test
- Documentation → docs
Step 3: Analyze Content
- What was changed?
- Why was it changed?
- What's the impact?
- Are there breaking changes?
Step 4: Generate Message
Subject line:
- Max 50 characters
- Imperative mood ("add" not "added")
- No period at end
- Lowercase after type
Body:
- Explain WHAT and WHY, not HOW
- Wrap at 72 characters
- Bullet points for multiple changes
Footer:
- Breaking changes:
BREAKING CHANGE: description - Issue references:
Closes #123,Fixes #456
Message Components
Type Selection
feat: New functionality
- New components, features, capabilities
fix: Bug fixes
- Resolving issues, fixing bugs
refactor: Code improvements
- No functional changes, better code structure
perf: Performance
- Speed improvements, optimization
docs: Documentation
- README, comments, guides
test: Testing
- Adding or fixing tests
style: Formatting
- Code style, linting, formatting
chore: Maintenance
- Dependencies, build config, tooling
Scope Selection
Common scopes:
- Component name:
feat(UserCard): ... - Module:
fix(auth): ... - Package:
chore(api): ... - Area:
docs(readme): ...
Subject Guidelines
✅ Good:
add user authenticationfix memory leak in componentupdate API documentation
❌ Bad:
added user authentication(past tense)fixes bug(too vague)Update API docs.(period at end)
Advanced Examples
Multiple Changes
# Multiple files in auth feature
feat(auth): implement complete authentication system
- Add JWT token generation and validation
- Implement password hashing with bcrypt
- Create login/logout API endpoints
- Add auth middleware for protected routes
- Include refresh token functionality
Closes #42, #43, #44
Refactoring
# Code restructuring
refactor(api): extract database logic into repository pattern
Moved database queries from controllers to repository classes
for better separation of concerns and testability.
No functional changes or API modifications.
Performance Improvement
# Optimization
perf(queries): optimize user data fetching
- Implement query batching to eliminate N+1 queries
- Add database indices on frequently queried columns
- Cache user profile data with 5-minute TTL
Performance improvement: 80ms → 12ms average response time
Git Integration
Pre-commit Hook
I work great with pre-commit hooks:
#!/bin/sh
# .git/hooks/prepare-commit-msg
# If no commit message provided, trigger skill
if [ -z "$2" ]; then
# Skill suggests message based on staged changes
echo "# Suggested commit message (edit as needed)" > "$1"
fi
Amending Commits
# Poor initial message
git commit -m "fix stuff"
# Amend with better message
# I suggest improved message based on changes
git commit --amend
Sandboxing Compatibility
Works without sandboxing: ✅ Yes Works with sandboxing: ✅ Yes
May need network access for:
- Fetching issue details from GitHub API
- Checking if issue numbers are valid
Sandbox config (optional):
{
"network": {
"allowedDomains": [
"api.github.com"
]
}
}
Customization
Custom Commit Types
Edit SKILL.md to add company-specific types:
deploy: Deployment
migrate: Database migrations
hotfix: Production hotfixes
Custom Scopes
Train the skill to recognize your project structure:
Common scopes: auth, api, ui, database, admin, mobile
Message Templates
Customize message format for your team:
# Standard format
feat(scope): subject
# Your custom format
[JIRA-123] feat(scope): subject
Tips for Best Messages
- Be specific: "fix login button" not "fix bug"
- Use imperative mood: "add" not "added" or "adds"
- Include context: Why this change was needed
- Reference issues: Always include issue numbers
- Breaking changes: Always flag in footer
Common Patterns
Frontend Changes
feat(ui): add responsive navigation menu
fix(components): resolve prop validation warning
style(css): update button hover effects
Backend Changes
feat(api): add user pagination endpoint
fix(database): resolve connection pool exhaustion
perf(queries): add database indices for user lookups
Infrastructure Changes
ci: add automated deployment pipeline
build: update dependencies to latest versions
chore(docker): optimize container image size
Related Tools
- code-reviewer skill: Reviews code before commit
- @docs-writer sub-agent: Generates changelog from commits
- /review command: Pre-commit code review
Integration
With code-reviewer
# 1. Write code
# 2. code-reviewer flags issues
# 3. Fix issues
# 4. Stage changes
# 5. I generate commit message
git commit # Uses my suggested message
With /review Command
# 1. Make changes
/review --scope staged # Review before commit
# 2. Address findings
# 3. Stage final changes
# 4. I generate commit message
git commit
Learn More
When not to use it
- →Committing changes without staging them first
Prerequisites
Limitations
- →Requires staged changes to perform accurate analysis
How it compares
It automates the creation of standardized commit messages based on actual code changes rather than requiring manual drafting.
Compared to similar skills
git-commit-helper side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| git-commit-helper (this skill) | 7 | 9mo | Review | Beginner |
| resolve-conflicts | 81 | 8mo | Review | Intermediate |
| openspec-onboard | 10 | 6mo | Review | Beginner |
| codex-cli-bridge | 9 | 9mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by alirezarezvani
View all by alirezarezvani →You might also like
resolve-conflicts
antinomyhq
Use this skill immediately when the user mentions merge conflicts that need to be resolved. Do not attempt to resolve conflicts directly - invoke this skill first. This skill specializes in providing a structured framework for merging imports, tests, lock files (regeneration), configuration files, and handling deleted-but-modified files with backup and analysis.
openspec-onboard
studyzy
Guided onboarding for OpenSpec - walk through a complete workflow cycle with narration and real codebase work.
codex-cli-bridge
alirezarezvani
Bridge between Claude Code and OpenAI Codex CLI - generates AGENTS.md from CLAUDE.md, provides Codex CLI execution helpers, and enables seamless interoperability between both tools
skill-sync
KyleKing
Syncs Claude Skills with other AI coding tools like Cursor, Copilot, and Codeium by creating cross-references and shared knowledge bases. Invoke when user wants to leverage skills across multiple tools or create unified AI context.
github-workflow-automation
ruvnet
Advanced GitHub Actions workflow automation with AI swarm coordination, intelligent CI/CD pipelines, and comprehensive repository management
git-advanced-workflows
wshobson
Master advanced Git workflows including rebasing, cherry-picking, bisect, worktrees, and reflog to maintain clean history and recover from any situation. Use when managing complex Git histories, collaborating on feature branches, or troubleshooting repository issues.