MCPInstall

git-branch-naming

Git branch naming conventions — type prefixes (feat/fix/chore), issue linking, kebab-case. Use when creating branches or setting up repo conventions.

Installs
73
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/laurigates/claude-plugins --skill git-branch-naming
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads git-branch-naming automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

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 branchManaging PR workflows → git-branch-pr-workflow
Setting up team branch conventionsCommitting changes → git-commit-workflow
Discussing naming standardsRebase/merge strategies → git-branch-pr-workflow

Branch Name Format

{type}/{issue}-{short-description}
ComponentFormatRequiredExample
typeLowercase prefixYesfeat, fix
issueIssue number, no #If issue exists123
descriptionkebab-case, 2-5 wordsYesuser-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

TypePurposeConventional Commit
feat/New features, capabilitiesfeat:
fix/Bug fixesfix:
chore/Maintenance, deps, configchore:
docs/Documentation onlydocs:
refactor/Code restructuring, no behavior changerefactor:
test/Adding/updating teststest:
ci/CI/CD pipeline changesci:
hotfix/Emergency production fixesfix: (with urgency)
release/Release preparationchore: 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

ScenarioInclude Issue?Example
Work tracked in GitHub IssuesYesfeat/123-add-oauth
Work tracked in external system (Jira, Linear)Optionalfeat/PROJ-456-oauth or feat/oauth
Exploratory/spike workNospike/auth-approaches
Quick fix without issueNofix/typo-readme
Dependabot/automated PRsNochore/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

PatternExampleWhy Good
Action + Targetadd-oauth-loginClear what's being done
Component + Changeauth-service-refactorIdentifies affected area
Bug + Contextnull-pointer-user-saveDescribes the issue

Avoid

Anti-patternProblemBetter
fix/bugToo vaguefix/123-login-validation
feat/new-featureMeaninglessfeat/user-dashboard
feat/john-working-on-stuffNot descriptivefeat/456-payment-flow
fix/issue-123Redundant, no descriptionfix/123-timeout-error
feat/add-new-user-authentication-system-with-oauthToo longfeat/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:

BranchSuggested Commits
feat/123-authfeat(auth): ...
fix/456-apifix(api): ...
docs/readmedocs: ...

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

ActionCommand
Create branchgit switch -c feat/123-description
List by typegit branch --list 'feat/*'
Delete localgit branch -d feat/123-description
Delete remotegit push origin --delete feat/123-description
Renamegit 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/

FAQ

What does the git-branch-naming skill do?

Git branch naming conventions — type prefixes (feat/fix/chore), issue linking, kebab-case. Use when creating branches or setting up repo conventions.

How do I install git-branch-naming?

Run npx skills add https://github.com/laurigates/claude-plugins --skill git-branch-naming in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/git-branch-naming/ (personal) or .claude/skills/git-branch-naming/ (project).

Which AI agents can use git-branch-naming?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is git-branch-naming safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains git-branch-naming?

It is published by laurigates in laurigates/claude-plugins. It has 73 recorded installs.

More from laurigates/claude-plugins

View all →

python-code-quality

laurigates/claude-plugins

Python code quality with ruff and ty. Use when the user mentions ruff, ty, linting, formatting, type checking, or Python code style.

1K installs

ruff-linting

laurigates/claude-plugins

Open the skill to read its SKILL.md instructions.

465 installs

python-testing

laurigates/claude-plugins

Python testing with pytest, coverage, fixtures, and mocking. Use when the user mentions pytest, unit tests, coverage, fixtures, mocking, or writing Python tests.

Testing & QA428 installs

pytest-advanced

laurigates/claude-plugins

Advanced pytest: fixtures, markers, parametrization, parallel execution. Use when implementing test infrastructure, writing fixtures, or running with coverage.

Testing & QA352 installs

uv-workspaces

laurigates/claude-plugins

Manage multi-package Python projects with uv workspaces. Use when the user mentions uv workspaces, Python monorepo, shared lockfiles, or member dependencies.

321 installs

uv-project-management

laurigates/claude-plugins

Python project setup, deps, and lockfiles with uv. Use when the user mentions uv, creating Python projects, managing dependencies, lockfiles, or pyproject.toml.

320 installs

Popular code quality & workflow skills

View category →

grill-me

mattpocock/skills

A relentless interview to sharpen a plan or design.

Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.

handoff

mattpocock/skills

Compact the current conversation into a handoff document for another agent to pick up.

domain-modeling

mattpocock/skills

Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.

codebase-design

mattpocock/skills

Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.

diagnosing-bugs

mattpocock/skills

Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.