Conventional Commits standards for git messages. Use when creating commits, writing commit messages, or reviewing commit history.
This skill inherits all available tools. When active, it can use any tool Claude has access to.
Write commit messages following Conventional Commits v1.0.0.
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
! for breaking changes, colon, spacefeat for new features (MINOR in SemVer)fix for bug fixes (PATCH in SemVer)- instead of spaces (except BREAKING CHANGE)! before : indicates breaking change; BREAKING CHANGE: footer may be omitted if ! is used| Type | Purpose | SemVer |
|---|---|---|
feat | New feature | MINOR |
fix | Bug fix | PATCH |
docs | Documentation only | - |
style | Formatting, whitespace | - |
refactor | Neither fix nor feature | - |
perf | Performance improvement | - |
test | Adding or updating tests | - |
build | Build system or dependencies | - |
ci | CI configuration | - |
chore | Maintenance tasks | - |
Use imperative mood: "add feature" not "added feature". Keep under 50 characters. No period. Lowercase after type prefix.
Wrap at 72 characters. Explain what and why, not how.
Do not include "Generated with Claude Code", AI attribution, Co-authored-by lines for AI, emoji, time estimates, dates, or TODO items.
Simple:
docs: correct spelling of CHANGELOG
With scope:
feat(lang): add Polish language
Breaking change:
feat!: send email to customer when product ships
BREAKING CHANGE: customers now receive emails by default.
With body:
fix: prevent duplicate form submissions
Disables submit button after first click and adds
debounce to the handler.
With footer:
fix: resolve race condition in auth flow
Refs: #123
Reviewed-by: Alice