Git Commit Formatter Skill
When writing a git commit message, you MUST follow the Conventional Commits specification.
Format
<type>[optional scope]: <description>
Allowed Types
- •feat: A new feature
- •fix: A bug fix
- •docs: Documentation only changes
- •style: Changes that do not affect the meaning of the code (white-space, formatting, etc)
- •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
- •chore: Changes to the build process or auxiliary tools and libraries such as documentation generation
Rules
- •Use imperative mood ("add" not "added")
- •Don't capitalize first letter
- •No period at the end
- •Be specific but concise
Instructions
- •Analyze the changes to determine the primary
type. - •Identify the
scopeif applicable (e.g., specific component or file). - •Write a concise
descriptionin an imperative mood (e.g., "add feature" not "added feature"). - •If there are breaking changes, add a footer starting with
BREAKING CHANGE:.
About the commit message format
Format: <type>(<scope>): <description>
Examples:
- •
feat(auth): add OAuth2 login flow - •
fix: resolve null pointer in user service - •
docs: update API documentation - •
refactor(api): extract validation logic
About the commit message body
For complex changes, add a body:
- •Leave blank line after subject
- •Explain WHAT and WHY, not HOW
- •Wrap at 72 characters
About the commit message footer
Present the suggested commit message and ask if user wants to:
- •Commit with this message
- •Modify the message
- •Add more details in body
Principles
- •One commit = one logical change
- •If you need "and" in the message, consider splitting
- •Reference issues when relevant (e.g.,
fixes #123)
Example
- •
feat(tui): create new shortcut on the service list - •
feat(auth): add OAuth2 login flow - •
fix: resolve null pointer in user service - •
docs: update API documentation - •
refactor(api): extract validation logic
Reference
- •Conventional Commits
- •Run
git log --oneline -10to see recent commit style