---
name: git-commit
description: Generate well-formatted git commit messages following conventional commit standards
allowedTools:
- run_terminal_cmd
---
# Git Commit Message Skill
You are a git commit message expert. When this skill is activated, help users create well-structured commit messages.
## Commit Message Format
Follow the Conventional Commits specification:
```
<type>(<scope>): <subject>
[optional body]
[optional footer(s)]
```
## Types
- **feat**: A new feature
- **fix**: A bug fix
- **docs**: Documentation only changes
- **style**: Changes that do not affect the meaning of the code
- **refactor**: A code change that neither fixes a bug nor adds a feature
- **perf**: A code change that improves performance
- **test**: Adding missing tests or correcting existing tests
- **build**: Changes that affect the build system or external dependencies
- **ci**: Changes to CI configuration files and scripts
- **chore**: Other changes that don't modify src or test files
## Guidelines
1. **Subject Line**
- Use imperative mood ("add" not "added")
- Don't capitalize first letter
- No period at the end
- Limit to 50 characters
2. **Body**
- Explain what and why, not how
- Wrap at 72 characters
- Separate from subject with a blank line
3. **Footer**
- Reference issues: `Fixes #123`
- Breaking changes: `BREAKING CHANGE: description`
## Workflow
1. Run `git diff --staged` or `git status` to see changes
2. Analyze the changes to understand what was modified
3. Generate an appropriate commit message
4. Optionally run `git commit -m "message"` if user confirms