conventional-branch
Helps your agent create Git branch names following a specific pattern. This organizes code and makes teamwork easier.
What it does
This tool helps create names for new Git branches, which are like separate lines of work in your code. It ensures the name follows a specific pattern for better organization.
When to use it
- ✓When starting a new feature in the code.
- ✓When fixing a bug.
- ✓When organizing non-code tasks.
Example of what to ask your AI
“I want to create a branch to add a new login page.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
You state what you want to do (e.g., add login) and the type of work (e.g., feature). The tool suggests a branch name following rules and can even create the branch for you if you wish.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add github/awesome-copilot --skill conventional-branchOr download just the file:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/conventional-branch/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
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 dots —
a-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
featurewhen 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).
FAQ
What is a Git branch?
Think of a branch as a copy of your project where you can work on new ideas or fixes without affecting the main version. Later, you can merge your changes back.
Why is the branch name important?
Standardized names help you and your team quickly understand what's being done in that branch, making the work more organized and easier to follow.
What are the branch types?
Common types include 'feature' (new features), 'bugfix' (bug fixes), 'hotfix' (urgent fixes), 'release' (preparing versions), and 'chore' (other tasks).
Details
Original description by the author
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.
repo: github/awesome-copilot
Popularity
- GitHub stars
- 40k
- Ranking position
- #5063
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
acquire-codebase-knowledge
Helps your agent understand and document an existing code project. It's useful for onboarding new people or getting an overview of the architecture.
github/awesome-copilot
acreadiness-assess
Enables your agent to assess a project's readiness for AI and generate a report. It's useful for understanding how well a project is prepared to use AI tools.
github/awesome-copilot
acreadiness-generate-instructions
Helps your agent create instructions for AI tools based on an assessment. It's useful for improving how AI interacts with code and closing identified gaps.
github/awesome-copilot
acreadiness-policy
Enables your agent to help define or apply policies for AI project assessment. It's useful for standardizing how projects are evaluated and ensuring compliance.
github/awesome-copilot
Similar skills
benchmark-optimization-loop
Has your agent improve something's speed in a measured way. It tests multiple versions and chooses the fastest one that still works correctly.
affaan-m/ECC
change-impact
Helps your agent analyze the impact of code changes before making them. It compares the planned vs. actual results afterward, covering paths, data, tests, and documentation. Useful for risky or system-wide changes.
affaan-m/ECC
click-path-audit
Lets your agent trace all user buttons and interactions to find bugs. It finds issues where functions seem to work alone but fail together. Useful when bugs persist even after debugging.
affaan-m/ECC