Skills
Skill 90 of 200
Create Git branches following the Conventional Branch specification (feature/, bugfix/, hotfix/, release/, chore/, plus AI agent prefixes ai/, copilot/, cursor/, claude/, codex/).
2 minutes · 418 words · 10 sections
Install
npx skills add github/awesome-copilot --skill conventional-branchnpx skills add github/awesome-copilot/plugin marketplace add github/awesome-copilotThe first command installs just this skill, by the name in its SKILL.md; the second installs the whole repository.
Create Git branches that follow the Conventional Branch (opens in a new tab) specification — a simple, consistent convention for naming Git branches.
<type>/<description>Purpose prefixes — describe the intent of the work:
| 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) |
AI agent source prefixes — identify branches generated by AI coding agents:
| Type | Alias | Purpose |
|---|---|---|
ai/ | — | Generic prefix for any AI coding agent |
copilot/ | — | GitHub Copilot |
cursor/ | — | Cursor |
claude/ | — | Claude Code by Anthropic |
codex/ | — | OpenAI Codex |
Use a vendor-specific prefix when you know which agent is producing the branch; use ai/ as a vendor-neutral fallback.
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.
a-z, 0-9, -, .release/v1.2.0, chore/upgrade-node-v20.11)--), dots (..), or hyphen-dot adjacency (-. or .-)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
ai/refactor-auth-flow
copilot/add-login-page
cursor/fix-header-bug
claude/security-patch
codex/optimize-query| 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 |
add-oauth-login, fix-header-overflow, update-ci-configfix-bug, new-featureFollow these steps:
Step 1 — Determine Branch Type
Ask the user (if not already clear):
feature when uncertainIf 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:
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
doneStep 4 — Create and Checkout
git checkout <base>
git pull origin <base>
git checkout -b <type>/<description>Step 5 — Confirm
Tell the user:
git push -u origin <branch-name> when readycommit-check (opens in a new tab) validates branch names against the specification. Run commit-check --branch, use its check-branch pre-commit hook, or commit-check-action (opens in a new tab) in GitHub Actions. Configuration for GitHub rulesets, GitLab, Bitbucket and Git hooks is at https://conventionalbranch.org/enforce/ (opens in a new tab).
Conventional Branch complements Conventional Commits (opens in a new tab):
| 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).
Create Git branches following the Conventional Branch specification (feature/, bugfix/, hotfix/, release/, chore/, plus AI agent prefixes ai/, copilot/, cursor/, claude/, codex/). Use when creating a new branch, naming a branch, or checking whether a branch name complies with the spec.
The verbatim description from this skill’s front matter — the string an agent matches on to decide whether to load it.
main, last pushed 9 November 2026.SKILL.md, not by matching a directory convention. 2 distinct layouts observed: .github/skills/*/SKILL.md, skills/*/SKILL.md.h1 and no skipped levels:.github/plugin/marketplace.json by GitHub, declaring 207 plugins. It is read for editorial metadata only — never as the skill index, which is always the repository tree./github/awesome-copilot.md, and each skill at its own .md URL.