git-commit
Conventional Commits format for git commits and PR/MR titles. Type prefixes, scope rules, breaking change syntax, and commit message structure. Use when committing changes, writing commit messages, creating PR/MR titles, or formatting squash merge messages. Not for PR workflows (git-pr), CI/CD status (git-ci), or git branch management
How do I install this agent skill?
npx skills add https://github.com/dmythro/agent-skills --skill git-commitIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill provides guidelines and examples for formatting Git commit messages and pull request titles according to the Conventional Commits specification. It is a standard style guide and does not contain any malicious code or dangerous operations.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
- Runlayerpass
1 file scanned · No issues
- ZeroLeakswarn
1 finding · Score: 69/100
What does this agent skill do?
Conventional Commits
Default commit format: Conventional Commits. Use this format for all commits and PR/MR titles unless the project defines its own commit conventions (in CLAUDE.md, AGENTS.md, contributing guides, or similar). Project-specific rules always take priority.
When to Use
- Making any git commit -- this skill defines the required format
- Creating PR/MR titles -- squash merges use the title as the commit message
- Writing squash merge messages -- must follow the same format
- Reviewing commit message format -- validate against these rules
Critical Rules
- Project rules override this skill -- if the project defines commit message conventions (issue number prefixes, custom formats, etc.), follow those instead. This skill is the default when no project-specific rules exist.
- Type is required -- never commit without a type prefix
- Description is lowercase, imperative mood, no period:
fix: handle null responsenotFix: Handled null response. - No
Co-Authored-Bytrailer -- never add it to commit messages - Describe the change, not the process -- never write review provenance (
fix: coderabbit round 2 fixes,fix: address review feedback) as the message; state what the commit changes. The trigger for the change already lives in the PR and its threads. - No filler -- the description alone is usually the whole message; add a body only for information the description and diff cannot carry (breaking change details, migration steps, non-obvious constraints). Never narrate the diff.
Provider Detection
Detect the git provider to use the correct CLI:
git remote get-url origin
| Remote URL contains | Provider | CLI | PR term |
|---|---|---|---|
github.com | GitHub | gh | PR |
gitlab.com or self-hosted GitLab | GitLab | glab | MR |
If ambiguous or both present, ask the user.
Format
<type>(<optional scope>): <description>
[optional body]
[optional footer(s)]
Types
| Type | When |
|---|---|
feat | New feature or capability |
fix | Bug fix |
docs | Documentation only |
style | Formatting, whitespace, semicolons (no logic change) |
refactor | Code change that neither fixes a bug nor adds a feature |
perf | Performance improvement |
test | Adding or updating tests |
build | Build system or external dependencies |
ci | CI/CD configuration |
chore | Maintenance tasks, tooling, config |
Rules
- Type is required -- never commit without a type prefix
- Scope is optional but encouraged for multi-module repos:
feat(auth): add OAuth2 flow - Description is lowercase, imperative mood, no period:
fix: handle null responsenotFix: Handled null response. - Breaking changes use
!after type/scope:feat(api)!: remove v1 endpoints - PR/MR titles follow the same format -- squash merges use the PR/MR title as the commit message
- No
Co-Authored-Bytrailer -- never add it to commit messages - Describe the change, not the process -- state what changed, never why a reviewer asked for it (see Review-Fix Commits below)
- Body is optional and rare -- add one only for what the description and diff cannot carry; never restate the diff or pad with narrative
Commit Examples
git commit -m "feat: add user profile page"
git commit -m "fix(auth): prevent token refresh race condition"
git commit -m "docs: update API reference for v2 endpoints"
git commit -m "refactor(db): extract connection pooling logic"
git commit -m "feat(api)!: change response format for /users"
Review-Fix Commits
Commits that address review feedback (human or bot) follow the same rule as any other commit: the message states what changed. The trigger -- reviewer, bot, round number -- is process context that already lives in the PR threads and is noise in git log.
| Noise (never) | Signal |
|---|---|
fix: coderabbit round 2 fixes | fix: guard nil user in session refresh |
fix: address PR review feedback | fix: close file handle on early return |
chore: apply copilot suggestions | refactor: dedupe retry logic across fetchers |
One review round can produce commits of different types -- split by change, not by round.
PR/MR Title Examples
| Provider | Create PR/MR with title |
|---|---|
| GitHub | gh pr create --title "feat: add dark mode" --body "..." |
| GitLab | glab mr create --title "feat: add dark mode" --description "..." |
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/dmythro/agent-skills/git-commit">View git-commit on skillZs</a>