--- 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: ``` (): [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