dmythro/agent-skills

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

First seen Feb 26, 2026

Installation

$ npx skills add dmythro/agent-skills --skill git-commit

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from dmythro/agent-skills.

npx skills add dmythro/agent-skills

Browse all from dmythro/agent-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 6
License LICENSE
Default branch main
Open issues 0
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Declared agents claude-code

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 5,751 B
  • docs SUMMARY.md 354 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 103 installs

SKILL.md

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

  1. 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.
  2. Type is required -- never commit without a type prefix
  3. Description is lowercase, imperative mood, no period: fix: handle null response not Fix: Handled null response.
  4. No Co-Authored-By trailer -- never add it to commit messages
  5. 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.
  6. 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

  1. Type is required -- never commit without a type prefix
  2. Scope is optional but encouraged for multi-module repos: feat(auth): add OAuth2 flow
  3. Description is lowercase, imperative mood, no period: fix: handle null response not Fix: Handled null response.
  4. Breaking changes use ! after type/scope: feat(api)!: remove v1 endpoints
  5. PR/MR titles follow the same format -- squash merges use the PR/MR title as the commit message
  6. No Co-Authored-By trailer -- never add it to commit messages
  7. Describe the change, not the process -- state what changed, never why a reviewer asked for it (see Review-Fix Commits below)
  8. 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 "..."