git-commit

📁 dmythro/agent-skills 📅 1 day ago
2
总安装量
2
周安装量
#73851
全站排名
安装命令
npx skills add https://github.com/dmythro/agent-skills --skill git-commit

Agent 安装分布

opencode 2
gemini-cli 2
claude-code 2
github-copilot 2
codex 2
kimi-cli 2

Skill 文档

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

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

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"

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 "..."