conventional-commit
Create conventional commit messages following best conventions. Use when committing code changes, writing commit messages, or formatting git history. Follows conventional commits specification.
By marcelorodrigo · 940 installs
npx skills add marcelorodrigo/agent-skills --skill conventional-commit
Source repository · Upstream listing
Conventional Commit Messages
Follow these conventions when creating commits.
Prerequisites
Before committing, ensure you're working on a feature branch, not the main branch.
If you're on main or master , create a new branch first:
Branch naming should follow the pattern: <type /<short description where type matches the commit type (e.g., feat/add user auth , fix/null pointer error , refactor/extract validation ).
Format
The header is required. Scope is optional. All lines must stay under 100 characters.
Commit Types
Type Purpose
build Build system or CI changes
chore Routine maintenance tasks
ci Continuous integration configuration
deps Dependency updates
docs Documentation changes
feat New feature
fix Bug fix
perf Performance improvement
refactor Code refactoring (no behavior change)
revert Revert a previous commit
style Code style and formatting
test Tests added, updated or improved
Subject Line Rules
Use imperative, present tense: "add feature" not "added feature"
Do not capitalize the first letter
No period at the end
Maximum 70 characters
Body Guidelines
Explain what and why , not how
Use imperative mood and present tense
Include motivation for the change
Contrast with previous behavior when relevant
Conventional Commits
The commit contains the following structural elements, to communicate intent to the consumers of your library:
fix: a commit of the type fix patches a bug in your codebase (this correlates with PATCH in Semantic Versioning).
feat: a commit of the type feat introduces a new feature to the codebase (this correlates with MINOR in Semantic Versioning).
BREAKING CHANGE: a commit that has a footer BREAKING CHANGE:, or appends a ! after the type/scope, introduces a breaking API change (correlating with MAJOR in Semantic Versioning). A BREAKING CHANGE can be part of commits of any type.
types other than fix: and feat: are allowed, for example @commitlint/config conventional (based on the Angular convention) recommends build:, chore:, ci:, docs:, style:, refactor:, perf:, test:, and others.
footers other than BREAKING CHANGE: <description may be provided and follow a convention similar to git trailer format.
Examples
Simple fix
Feature with scope
Refactor
Breaking change
Revert Format
Principles
Each commit should be a single, stable change
Commits should be independently reviewable
The repository should be in a working state after each commit
References
[Conventional Commits Specification](https://www.conventionalcommits.org/en/v1.0.0/ specification)