Create Git branches following the Conventional Branch specification (feature/, bugfix/, hotfix/, release/, chore/, plus AI agent prefixes ai/, copilot/, cursor/, claude/, codex/).

CC-BY-4.0Auto-check passedDevelopment

Install Conventional Branch

skills CLI
$ npx skills add conventional-branch/conventional-branch --skill conventional-branch -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install conventional-branch/conventional-branch conventional-branch --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/conventional-branch/conventional-branch.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/conventional-branch .claude/skills/conventional-branch && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
conventional-branch
GitHub stars
135
Token cost
~1.8k tokens
SKILL.md length
587 words
Files
1
Skills in repo
1
Repo updated
First seen
Licence
CC-BY-4.0

At a glance

Create Git branches following the Conventional Branch specification (feature/, bugfix/, hotfix/, release/, chore/, plus AI agent prefixes ai/, copilot/, cursor/, claude/, codex/).

  • Works in 5 steps: Gather Information → Validate the Name → Detect the Base Branch → …
  • Creating a new branch
  • SKILL.md covers Branch Name Format, Naming Rules (Strict), Description Guidelines and Workflow, plus 2 more sections
  • Calls git; reaches github.com

What it does

Conventional Branch is an agent skill from conventional-branch/conventional-branch. 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. Also use alongside commit-check for automated validation.

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: Requires git. Optional: commit-check for automated branch name validation.

It sits in Development, covering Git workflow and Commit messages. It works with Git. The repository describes itself as: A specification for Git branch names — <type/<description, human-readable and machine-parseable. Ships a machine-readable spec, JSON Schema, and conformance fixtures. The licence is CC-BY-4.0.

When your agent uses it

  • Creating a new branch
  • Naming a branch
  • Checking whether a branch name complies with the spec

Example prompts

  • “/conventional-branch”

Requirements

  • Compatibility (from SKILL.md): Requires git. Optional: commit-check for automated branch name validation.

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Gather Information
  2. Validate the Name
  3. Detect the Base Branch
  4. Create and Checkout
  5. Confirm

What it can do on your machine

Read from SKILL.md and the folder at commit 76709bb. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com

    Also links to:

    • conventionalbranch.org
    • conventionalcommits.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Requires git. Optional: commit-check for automated branch name validation.

    From compatibility in the SKILL.md frontmatter.

Context cost

Conventional Branch loads about 1.8k tokens when it runs. Until then it costs about 91 tokens; SKILL.md has 587 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~91
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from conventional-branch/conventional-branch at commit 76709bb, republished under its CC-BY-4.0 licence (© conventional-branch). 587 words, ~1,813 tokens.

Download SKILL.mdSave it as .claude/skills/conventional-branch/SKILL.md (or your agent's skills folder).
name
conventional-branch
description
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. Also use alongside commit-check for automated validation.
compatibility
Requires git. Optional: commit-check for automated branch name validation.
license
CC BY 4.0
metadata.version
1.1.0
metadata.spec
https://conventionalbranch.org
metadata.source
https://github.com/conventional-branch/conventional-branch

Conventional Branch

Create Git branches that follow the Conventional Branch 1.1.0 specification — human-readable, machine-parseable, and automation-friendly.

Branch Name Format

<type>/<description>
ComponentFormatRequiredExample
typeDefined prefix (see table below)Yesfeature, fix
descriptionkebab-case, lowercaseYesadd-login-page
Branch Types

Prefer the full names over aliases for consistency.

Purpose prefixes — describe the intent of the work:

TypeAliasPurpose
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:

TypeAliasPurpose
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.

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 (Strict)

Branch names must follow these rules or they will be rejected by validation tools like commit-check:

  • Lowercase only — no uppercase letters anywhere (a-z only)
  • 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
Formal Grammar (ABNF)
abnf
branch-name     = trunk-branch / prefixed-branch
trunk-branch    = "main" / "master" / "develop"
prefixed-branch = type "/" description
type            = "feature" / "feat" / "bugfix" / "fix"
                / "hotfix" / "release" / "chore"
                / "ai" / "copilot" / "cursor"
                / "claude" / "codex"
description     = desc-segment *("-" desc-segment)
desc-segment    = 1*(ALPHA / DIGIT) *("." 1*(ALPHA / DIGIT))
ALPHA           = %x61-7A
DIGIT           = %x30-39
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
ai/refactor-auth-flow
copilot/add-login-page
cursor/fix-header-bug
claude/security-patch
codex/optimize-query
Invalid Examples (Do Not Produce These)
BranchProblem
Feature/Add-LoginUppercase letters
feature/new--loginConsecutive hyphens
feature/-new-loginLeading hyphen
feature/new-login-Trailing hyphen
release/v1.-2.0Hyphen adjacent to dot
fix/header bugSpace
fix/header_bugUnderscore
unknown/some-taskUnknown 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, john-working-on-stuff

Workflow

Follow these steps when creating a new branch.

1. Gather Information

Ask the user for (if not already clear):

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

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

Show full SKILL.md (237 more words)Show less
2. Validate the Name

Before creating, check the assembled name against the Naming Rules above. If any rule fails, fix it silently:

  • Lowercase everything
  • Replace underscores and spaces with hyphens
  • Collapse consecutive hyphens
  • Strip leading/trailing hyphens
3. Detect the Base Branch

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

bash
# 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):

bash
for b in develop main master; do
  git show-ref --verify --quiet "refs/heads/$b" && echo "$b" && break
done
4. Create and Checkout
bash
git checkout <base>
git pull origin <base>
git checkout -b <type>/<description>
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

Validation with commit-check

For automated enforcement, point users to commit-check. It checks branch names against the specification's type prefixes by default, with no configuration:

bash
# Check the current branch name
commit-check --branch

As a pre-commit hook, so a wrong name is caught at the first commit:

yaml
repos:
  - repo: https://github.com/commit-check/commit-check
    rev: v2.18.0
    hooks:
      - id: check-branch

In GitHub Actions, commit-check-action runs the same check on every pull request (branch: true is its default). Copy-pasteable configuration for every platform, including a commit-check.toml that narrows the types to exactly the specification's, is at https://conventionalbranch.org/enforce/.

Relationship with Conventional Commits

Conventional Branch is inspired by Conventional Commits and complements it naturally:

Conventional BranchTypical Conventional Commit
feature/add-loginfeat: add login page
bugfix/fix-headerfix: header overflow on mobile
chore/update-depschore: bump lodash to 5.0
release/v1.2.0chore: release v1.2.0

Align the branch type with commit types where possible (e.g., feature/* branches with feat: commits). See conventional-commit skill for commit message conventions.

© conventional-branch, CC-BY-4.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/conventional-branch of conventional-branch/conventional-branch.

Open the folder on GitHubat commit 76709bb

Compare with similar skills

Conventional Branch next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Conventional Branch compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Conventional Branch this skillconventional-branch/conventional-branch135—~1.8kAutomated safety check: PassCC-BY-4.0
ToolJet Multi-Repo CommitToolJet/ToolJet41k—~1.3kAutomated safety check: PassAGPL-3.0
Git Workflow and Versioningaddyosmani/agent-skills104k2 repos~3.5kAutomated safety check: NotesMIT
React Router Pull Request Creatorremix-run/react-router57k—~2.5kAutomated safety check: PassMIT
Saleor Commit Workflowsaleor/saleor23k—~575Automated safety check: PassBSD-3-Clause
Emoji Commit ConventionsbaptisteArno/typebot.io11k—~424Automated safety check: PassCustom licence

Similar skills

  • Commits changes across ToolJet's root repo and its server/ee and frontend/ee submodules, writing messages from the diffs and updating submodule pointers in order.

    41k GitHub stars~1.3k tokensUpdated today
    DevelopmentAuto-check passed
  • Git Workflow and Versioning

    addyosmani/agent-skills

    Sets git habits for every change: short-lived branches, atomic commits with descriptive messages, clean pull requests, plus versioning, tagging and changelogs for releases.

    104k GitHub starsUsed in 2 repos~3.5k tokens
    DevelopmentAuto-check: notes
  • React Router Pull Request Creator

    remix-run/react-router

    Packages finished React Router work into a draft pull request: branch, commit, push, a written PR body and the right GitHub labels.

    57k GitHub stars~2.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Commits changes in the Saleor codebase and works through pre-commit hook failures from ruff, mypy, the GraphQL schema check and the migrations check.

    23k GitHub stars~575 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Emoji Commit Conventions

    baptisteArno/typebot.io

    Sets the repository's convention for commit messages and pull request titles: one emoji prefix for the main intent, a concise title and clean follow-up commits.

    11k GitHub stars~424 tokensUpdated 3 days ago
    DevelopmentAuto-check passed
  • Draft Pull Request Creator

    wordpress-mobile/WordPress-Android

    Commits and pushes current changes, writes a pull request title and body from the branch history and template, and opens a draft PR on GitHub after you approve it.

    3.2k GitHub stars~881 tokensUpdated today
    DevelopmentAuto-check: notes

Works with

Categories

Questions about Conventional Branch

What does Conventional Branch do?

Create Git branches following the Conventional Branch specification (feature/, bugfix/, hotfix/, release/, chore/, plus AI agent prefixes ai/, copilot/, cursor/, claude/, codex/). Conventional Branch is an agent skill from conventional-branch/conventional-branch. Create Git branches following the Conventional Branch specification (feature/, bugfix/, hotfix/, release/, chore/, plus AI agent prefixes ai/, copilot/, cursor/, claude/, codex/).

When should I use Conventional Branch?

Conventional Branch fits situations like: creating a new branch; naming a branch; checking whether a branch name complies with the spec.

How do I install Conventional Branch in Claude Code?

Run `npx skills add conventional-branch/conventional-branch --skill conventional-branch -a claude-code`. Or copy the skill folder (skills/conventional-branch in conventional-branch/conventional-branch) into .claude/skills/conventional-branch in your project. Claude Code loads it when a task matches its description.

How do I install Conventional Branch in Codex?

Run `npx skills add conventional-branch/conventional-branch --skill conventional-branch -a codex`. Or copy the skill folder (skills/conventional-branch in conventional-branch/conventional-branch) into .agents/skills/conventional-branch in your project. Codex loads it when a task matches its description.

Can I use Conventional Branch in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add conventional-branch/conventional-branch --skill conventional-branch -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/conventional-branch, .gemini/skills/conventional-branch, .github/skills/conventional-branch and .opencode/skills/conventional-branch in your project.

What does Conventional Branch need to run?

Going by SKILL.md and its folder, Conventional Branch needs the command-line tools its instructions call (git). Compatibility (from SKILL.md): Requires git. Optional: commit-check for automated branch name validation..

Does Conventional Branch access the network?

SKILL.md names 3 domains. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. As links in the text: conventionalbranch.org and conventionalcommits.org. This is read from the text; nothing was executed.

Is Conventional Branch safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Conventional Branch use?

Conventional Branch is published under the CC-BY-4.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Conventional Branch use?

About 1.8k tokens (SKILL.md is roughly 7.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Conventional Branch?

Skills that share tags, products or a category with Conventional Branch: ToolJet Multi-Repo Commit (ToolJet/ToolJet, 41k stars), Git Workflow and Versioning (addyosmani/agent-skills, 104k stars), React Router Pull Request Creator (remix-run/react-router, 57k stars) and Saleor Commit Workflow (saleor/saleor, 23k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Conventional Branch?

conventional-branch (a GitHub organization) maintains it in conventional-branch/conventional-branch, which has 135 GitHub stars. The repository was last updated on October 1, 2026.

Source: conventional-branch/conventional-branch on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.