agentsclimarketplace

Commit conventions

Skill VersoXBT/claude-initial-setup/skills/core-workflow/commit-conventions

75 skills, 14 agents, 15 commands for Claude Code. Plug-and-play starter kit covering TypeScript, Python, Go, Rust, React, Next.js, FastAPI, Django, Docker, CI/CD, security, testing, and more. Cross-AI support for Cursor, Copilot, and Codex.

Install
npx -y skills add VersoXBT/claude-initial-setup --skill commit-conventions

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Enforce conventional commits format with proper types, scopes, and breaking change notation. Use when the user is committing code, writing commit messages, asks about commit format, or when you are about to create a git commit. Always apply this skill before running git commit.

SKILL.md

5.3 KB, as published. Nobody here has run it

Conventional Commits

Standard format for commit messages that enables automated changelogs, semantic versioning, and clear project history.

When to Use

  • Writing any git commit message
  • Reviewing commit history for consistency
  • Setting up commit linting (commitlint, husky)
  • Generating changelogs or release notes
  • Any time git commit is about to be executed

Core Patterns

Commit Message Structure

Follow this exact format:

<type>(<optional-scope>): <description>

<optional body>

<optional footer(s)>

The first line (subject) must be under 72 characters. Use imperative mood ("add feature" not "added feature" or "adds feature").

# Simple commit
git commit -m "feat: add user registration endpoint"

# With scope
git commit -m "fix(auth): prevent token refresh race condition"

# With body and footer
git commit -m "feat(api): add pagination to list endpoints

Implement cursor-based pagination for all collection endpoints.
Default page size is 20, max is 100.

Closes #142"

Commit Types

TypeWhen to UseTriggers Version Bump
featNew feature or capabilityMINOR (0.X.0)
fixBug fixPATCH (0.0.X)
refactorCode change that neither fixes nor addsNone
docsDocumentation onlyNone
testAdding or fixing testsNone
choreMaintenance, deps, toolingNone
perfPerformance improvementNone
ciCI/CD configuration changesNone
styleFormatting, whitespace, semicolonsNone
buildBuild system or external depsNone
revertReverts a previous commitDepends

Breaking Changes

Mark breaking changes with ! after the type/scope, and include a BREAKING CHANGE: footer:

# Breaking change with bang notation
git commit -m "feat(api)!: change authentication from API keys to OAuth2

BREAKING CHANGE: All API consumers must migrate to OAuth2 tokens.
API key authentication is removed entirely."

# Breaking change in refactor
git commit -m "refactor!: rename User model fields

BREAKING CHANGE: firstName -> givenName, lastName -> familyName.
Run migration 2024_03_rename_user_fields."

Scopes

Scopes indicate the area of the codebase affected. Keep them consistent within a project:

# Good: consistent, short scopes
feat(auth): add SSO login
fix(auth): handle expired refresh tokens
feat(api): add rate limiting middleware
fix(ui): correct modal z-index on mobile
chore(deps): upgrade express to v5
test(api): add integration tests for /users

# Bad: inconsistent or verbose scopes
feat(authentication-module): add SSO          # too verbose
fix(src/components/Modal): fix z-index        # file path as scope
feat(USER_API): add endpoint                  # inconsistent casing

Anti-Patterns

What NOT to Do

  • Vague messages: fix: stuff, chore: updates, feat: changes
  • Past tense: feat: added login page (use feat: add login page)
  • Uppercase first letter: feat: Add login (use feat: add login)
  • Trailing period: fix: correct null check. (drop the period)
  • Multiple concerns: One commit doing a feat + fix + refactor — split them
  • Missing type: update dependencies (use chore: update dependencies)
  • Type as description: refactor: refactor auth module (use refactor(auth): extract token validation)
# BAD
git commit -m "fixed bug"
git commit -m "WIP"
git commit -m "feat: Added new feature to handle the user login flow and also fixed a bug"

# GOOD
git commit -m "fix(auth): prevent null pointer on missing session cookie"
git commit -m "feat(auth): add login flow with email verification"

Quick Reference

feat:     New feature                    -> MINOR version bump
fix:      Bug fix                        -> PATCH version bump
refactor: Code restructuring             -> No version bump
docs:     Documentation                  -> No version bump
test:     Tests                          -> No version bump
chore:    Maintenance                    -> No version bump
perf:     Performance                    -> No version bump
ci:       CI/CD changes                  -> No version bump
style:    Formatting only                -> No version bump
build:    Build system                   -> No version bump
revert:   Revert previous commit         -> Depends

Format:   <type>(<scope>): <description>
Breaking: Add ! after type/scope + BREAKING CHANGE footer
Subject:  Imperative, lowercase, no period, under 72 chars
Body:     Wrap at 72 chars, explain WHY not WHAT

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.