Catalog
github/conventional-branch

github

conventional-branch

Create Git branches following the Conventional Branch specification (feature/, bugfix/, hotfix/, release/, chore/). Use when creating a new branch, naming a branch, or checking whether a branch name complies with the spec.

global
New~1.1k
v1.0Saved Jun 26, 2026

Conventional Branch

Create Git branches that follow the Conventional Branch specification — a simple, consistent convention for naming Git branches.

Branch Name Format

<type>/<description>

Branch Types

Type Alias Purpose
feature/ feat/ New features or enhancements
bugfix/ fix/ Bug fixes
hotfix/ Urgent production fixes
release/ Release preparation (dots allowed in version: release/v1.2.0)
chore/ Non-code tasks (deps, docs, config)

Trunk Branches

main, master, and develop are trunk branches — they do not use a prefix. Never create new branches with the same names as trunk branches; branch off them instead.

Naming Rules

  • Lowercase only — no uppercase letters anywhere
  • Alphanumerics, hyphens, and dotsa-z, 0-9, -, .
  • Dots allowed only in release/ version descriptions (e.g., release/v1.2.0)
  • No underscores, spaces, or special characters
  • No consecutive hyphens (--), dots (..), or hyphen-dot adjacency (-. or .-)
  • No leading or trailing hyphens or dots in the description

Valid Examples

main
master
develop
feature/add-login-page
feat/add-login-page
bugfix/fix-header-bug
fix/header-bug
hotfix/security-patch
release/v1.2.0
chore/update-dependencies
feature/issue-123-new-login

Invalid Examples

Branch Problem
Feature/Add-Login Uppercase letters
feature/new--login Consecutive hyphens
feature/-new-login Leading hyphen
feature/new-login- Trailing hyphen
release/v1.-2.0 Hyphen adjacent to dot
fix/header bug Space
fix/header_bug Underscore
unknown/some-task Unknown prefix type

Description Guidelines

  • Use kebab-case with 2-5 words
  • Be descriptive but concise (~50 chars total)
  • Good: add-oauth-login, fix-header-overflow, update-ci-config
  • Bad: fix-bug, new-feature

Workflow

Follow these steps:

Step 1 — Determine Branch Type

Ask the user (if not already clear):

  • Branch type — default to feature when uncertain
  • Brief description — what the branch is for

If the user mentions a ticket or issue number, include it in the description (e.g., feature/issue-123-add-oauth).

Step 2 — Validate the Name

Check the assembled name against the Naming Rules above. If any rule fails, fix it:

  • Lowercase everything
  • Replace underscores and spaces with hyphens
  • Collapse consecutive hyphens
  • Strip leading/trailing hyphens

Step 3 — Detect the Base Branch

Different repos use different trunk branches. Detect which one this repo uses:

# Prefer the remote's default branch
git symbolic-ref --short refs/remotes/origin/HEAD 2>/dev/null | sed 's|^origin/||'

If that returns nothing, check which trunk branch exists locally (priority order: develop, main, master):

for b in develop main master; do
  git show-ref --verify --quiet "refs/heads/$b" && echo "$b" && break
done

Step 4 — Create and Checkout

git checkout <base>
git pull origin <base>
git checkout -b <type>/<description>

Step 5 — Confirm

Tell the user:

  • The branch name that was created
  • That they are now on the new branch
  • Remind them: git push -u origin <branch-name> when ready

Relationship with Conventional Commits

Conventional Branch complements Conventional Commits:

Conventional Branch Typical Conventional Commit
feature/add-login feat: add login page
bugfix/fix-header fix: header overflow on mobile
chore/update-deps chore: bump lodash to 5.0
release/v1.2.0 chore: release v1.2.0

Align the branch type with commit types where possible (e.g., feature/* branches with feat: commits).

Files1
1 files · 1.0 KB

Select a file to preview

Overall Score

88/100

Grade

A

Excellent

Safety

92

Quality

88

Clarity

90

Completeness

82

Summary

This skill guides agents to create Git branches following the Conventional Branch specification, a naming convention that uses prefixes (feature/, bugfix/, hotfix/, release/, chore/) followed by kebab-case descriptions. The skill provides branch type definitions, strict naming rules, validation logic, and a five-step workflow to detect the base branch, validate the name, and create the branch safely.

Detected Capabilities

git command execution (checkout, pull, branch creation)local git repository introspection (symbolic-ref, show-ref)remote repository interaction (pull from origin)bash script execution for branch detectionuser input validation and text transformation (lowercasing, hyphen normalization)

Trigger Keywords

Phrases that MCP clients use to match this skill to user intent.

create git branchbranch naming conventionconventional branchnew feature branchvalidate branch name

Risk Signals

INFO

No risky patterns detected — skill is read-only from a git perspective (uses standard git commands only, no destructive operations, no credential access, no network requests beyond standard git protocol)

entire skill

Referenced Domains

External domains referenced in skill content, detected by static analysis.

conventional-branch.github.iowww.conventionalcommits.org

Use Cases

  • Create a new feature branch with a consistent, specification-compliant name
  • Rename or validate an existing branch name against the Conventional Branch spec
  • Enforce branch naming standards across a team or repository
  • Integrate branch creation into CI/CD or development automation workflows
  • Ensure branch names align with commit message conventions for better repository hygiene

Quality Notes

  • Excellent documentation: clear specification with branch types, naming rules, and examples
  • Well-organized structure with distinct workflow steps (determine type, validate, detect base, create, confirm)
  • Strong examples provided: both valid and invalid branch names with explanations of violations
  • Clear reference to related standards (Conventional Commits), showing understanding of the broader ecosystem
  • Practical detection logic for multiple trunk branch names (develop, main, master) — accounts for repository variation
  • Edge cases covered: lowercase enforcement, hyphen/dot adjacency rules, leading/trailing character restrictions
  • Companion relationship to Conventional Commits is documented with mapping table
  • Instructions are deterministic and agent-friendly — each step has clear success criteria
  • Limitations are explicitly stated (trunk branches should not be created)
Model: claude-haiku-4-5-20251001Analyzed: Jun 26, 2026

Reviews

Add this skill to your library to leave a review.

No reviews yet

Be the first to share your experience.

Add github/conventional-branch to your library

Command Palette

Search for a command to run...