
Git Branch Naming
- 69 installs
- 49 repo stars
- Updated August 4, 2026
- laurigates/claude-plugins
Helps with ai & agent building tasks.
About
git-branch-naming is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted development.
- git-branch-naming
- AI & Agent Building
- AI-coding skill
Git Branch Naming by the numbers
- 69 all-time installs (skills.sh)
- +1 installs in the week ending Aug 2, 2026 (Skillselion tracking)
- Ranked #5,786 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/laurigates/claude-plugins --skill git-branch-namingAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 69 |
|---|---|
| repo stars | ★ 49 |
| Last updated | August 4, 2026 |
| Repository | laurigates/claude-plugins ↗ |
What it does
Helps with ai & agent building tasks.
Files
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-splitBranch 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 productionValidation 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✗ (usefeat, notfeature)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-sdkDescription 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-rc1Hotfix Branches
hotfix/security-vulnerability
hotfix/critical-data-loss
hotfix/production-crash-fixLong-Running Branches
For multi-week efforts, consider date suffix:
feat/123-major-refactor-2026q1
epic/new-billing-systemTeam 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-leakProtected 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:
- mainQuick 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/