git-branch-naming

Git Branch Naming Conventions

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "git-branch-naming" with this command: npx skills add laurigates/claude-plugins/laurigates-claude-plugins-git-branch-naming

Git Branch Naming Conventions

Consistent branch naming improves traceability, enables automation, and makes repository history easier to navigate.

When to Use This Skill

Use this skill when... Use something else when...

Creating a new feature/fix branch Managing PR workflows → git-branch-pr-workflow

Setting up team branch conventions Committing changes → git-commit-workflow

Discussing naming standards Rebase/merge strategies → git-branch-pr-workflow

Branch Name Format

{type}/{issue}-{short-description}

Component Format Required Example

type

Lowercase prefix Yes feat , fix

issue

Issue number, no #

If issue exists 123

description

kebab-case, 2-5 words Yes user-authentication

Examples

With issue number (preferred when issue exists)

feat/123-oauth-login fix/456-null-pointer-crash chore/789-update-dependencies docs/101-api-reference

Without issue number (when no issue exists)

feat/oauth-integration fix/memory-leak-cleanup chore/update-eslint-config refactor/auth-service-split

Branch Types

Type Purpose Conventional Commit

feat/

New features, capabilities feat:

fix/

Bug fixes fix:

chore/

Maintenance, deps, config chore:

docs/

Documentation only docs:

refactor/

Code restructuring, no behavior change refactor:

test/

Adding/updating tests test:

ci/

CI/CD pipeline changes ci:

hotfix/

Emergency production fixes fix: (with urgency)

release/

Release preparation chore: or release:

Creating Branches

Standard Workflow

With issue number

git switch -c feat/123-user-authentication

Without issue number

git switch -c fix/login-timeout-handling

From specific base

git switch -c feat/456-payment-api main git switch -c hotfix/security-patch production

Validation Pattern

Before creating, validate the format:

Branch name regex pattern

^(feat|fix|chore|docs|refactor|test|ci|hotfix|release)/([0-9]+-)?[a-z0-9]+(-[a-z0-9]+)*$

Valid:

  • feat/123-user-auth ✓

  • fix/memory-leak ✓

  • chore/update-deps ✓

Invalid:

  • feature/user-auth ✗ (use feat , not feature )

  • fix/UserAuth ✗ (use kebab-case, not PascalCase)

  • my-branch ✗ (missing type prefix)

  • feat/fix_bug ✗ (use hyphens, not underscores)

Issue Linking Best Practices

When to Include Issue Numbers

Scenario Include Issue? Example

Work tracked in GitHub Issues Yes feat/123-add-oauth

Work tracked in external system (Jira, Linear) Optional feat/PROJ-456-oauth or feat/oauth

Exploratory/spike work No spike/auth-approaches

Quick fix without issue No fix/typo-readme

Dependabot/automated PRs No chore/bump-lodash

External Ticket Systems

For Jira, Linear, or other systems, use the ticket ID:

feat/PROJ-123-user-dashboard fix/LINEAR-456-api-timeout chore/JIRA-789-update-sdk

Description Guidelines

Good Descriptions

Pattern Example Why Good

Action + Target add-oauth-login

Clear what's being done

Component + Change auth-service-refactor

Identifies affected area

Bug + Context null-pointer-user-save

Describes the issue

Avoid

Anti-pattern Problem Better

fix/bug

Too vague fix/123-login-validation

feat/new-feature

Meaningless feat/user-dashboard

feat/john-working-on-stuff

Not descriptive feat/456-payment-flow

fix/issue-123

Redundant, no description fix/123-timeout-error

feat/add-new-user-authentication-system-with-oauth

Too long feat/oauth-authentication

Length Guidelines

  • Minimum: 2 words after type/issue (feat/123-user-auth )

  • Maximum: 5 words, ~50 characters total

  • Sweet spot: 3-4 words (feat/123-oauth-token-refresh )

Special Branch Patterns

Release Branches

release/1.0.0 release/2.1.0-beta release/v3.0.0-rc1

Hotfix Branches

hotfix/security-vulnerability hotfix/critical-data-loss hotfix/production-crash-fix

Long-Running Branches

For multi-week efforts, consider date suffix:

feat/123-major-refactor-2026q1 epic/new-billing-system

Team Conventions

User-Prefixed Branches (Optional)

For large teams where branch ownership matters:

Pattern: {user}/{type}/{description}

alice/feat/123-oauth bob/fix/456-memory-leak

Or: {type}/{user}-{description}

feat/alice-oauth-integration fix/bob-memory-leak

Protected Branch Patterns

Configure branch protection for:

main master develop release/* hotfix/*

Automation Integration

Branch Name → Commit Scope

The branch type can inform commit message scope:

Branch Suggested Commits

feat/123-auth

feat(auth): ...

fix/456-api

fix(api): ...

docs/readme

docs: ...

CI/CD Triggers

Common patterns for CI pipeline triggers:

GitHub Actions example

on: push: branches: - 'feat/' - 'fix/' - 'hotfix/**' pull_request: branches: - main

Quick Reference

Branch Creation Checklist

  • Starts with valid type prefix (feat/ , fix/ , etc.)

  • Issue number included (if tracked work)

  • Description is kebab-case

  • Description is 2-5 words

  • Total length under 50 characters

  • No underscores, spaces, or uppercase

Command Reference

Action Command

Create branch git switch -c feat/123-description

List by type git branch --list 'feat/*'

Delete local git branch -d feat/123-description

Delete remote git push origin --delete feat/123-description

Rename git branch -m old-name new-name

Type Selection Flowchart

Is it a bug fix? → fix/ Is it a new capability? → feat/ Is it documentation? → docs/ Is it maintenance/deps? → chore/ Is it restructuring code? → refactor/ Is it adding tests? → test/ Is it CI/CD changes? → ci/ Is it an emergency? → hotfix/

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

ruff linting

No summary provided by upstream source.

Repository SourceNeeds Review
General

imagemagick-conversion

No summary provided by upstream source.

Repository SourceNeeds Review
General

jq json processing

No summary provided by upstream source.

Repository SourceNeeds Review
General

api-testing

No summary provided by upstream source.

Repository SourceNeeds Review