Agent Skills: Git Commit Messages

>-

UncategorizedID: fredrikaverpil/dotfiles/git-commit

Install this agent skill to your local

pnpm dlx add-skill https://github.com/fredrikaverpil/dotfiles/tree/HEAD/stow/shared/.claude/skills/git-commit

Skill Files

Browse the full folder contents for git-commit.

Download Skill

Loading file tree…

stow/shared/.claude/skills/git-commit/SKILL.md

Skill Metadata

Name
git-commit
Description
>-

Git Commit Messages

Write commit messages following the Conventional Commits specification.

Format

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

[optional body]

[optional footer(s)]

Types

| Type | Purpose | | ---------- | ------------------------------------------------------- | | feat | New feature | | fix | Bug fix | | docs | Documentation only | | style | Code style (formatting, no logic change) | | refactor | Code change that neither fixes a bug nor adds a feature | | perf | Performance improvement | | test | Adding or correcting tests | | build | Build system or external dependencies | | ci | CI configuration | | chore | Maintenance tasks | | revert | Reverts a previous commit |

Rules

  1. Use imperative mood in description ("add feature" not "added feature")
  2. Do not end description with a period
  3. Keep description under 72 characters
  4. Separate subject from body with a blank line
  5. Use the body to explain intent, nuances, gotchas, or background behind the change — not a paraphrase of the diff

Breaking Changes

Add ! after type/scope or include BREAKING CHANGE: in footer:

feat(api)!: remove deprecated endpoints

BREAKING CHANGE: The /v1/users endpoint has been removed.

Scope

Optional. Use to specify area of change (e.g., api, ui, auth, db).

Branch Naming

When creating a new branch, name it <type>/<kebab-description> using the same types as commit messages (e.g., feat/add-user-auth, fix/broken-symlinks).

Exception: when the environment has already assigned a branch (e.g., claude/... branches in Claude cloud sandbox sessions), keep it — never rename it or create a differently named branch to match this convention.

Identity, Signing and Attribution

Git identity and commit signing are configured by the environment (gitconfig on developer machines, a SessionStart hook in cloud sandboxes) — leave both to it:

  1. The message describes the change only: no Co-Authored-By, no "Generated with" lines, no session links or model names.
  2. Let git resolve the author from config — commit without --author or -c user.name=.../-c user.email=....
  3. Let git resolve signing from config — commit without -S, --gpg-sign or --no-gpg-sign, and leave signing-related config as it is.