From Napkin
Generates and validates Git branch names per the Conventional Branch specification (feature/, bugfix/, hotfix/, release/, chore/). Guides users through branch type selection, description formatting, name validation, and base branch detection.
How this skill is triggered — by the user, by Claude, or both
Slash command
/napkin:conventional-branchThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create Git branches that follow the [Conventional Branch](https://conventional-branch.github.io) specification — a simple, consistent convention for naming Git branches.
Create Git branches that follow the Conventional Branch specification — a simple, consistent convention for naming Git branches.
<type>/<description>
| 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) |
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/ version descriptions (e.g., release/v1.2.0)--), 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
| 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
done
Step 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 readyConventional 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).
npx claudepluginhub ani1797/forge --plugin copilot-sdk2plugins reuse this skill
First indexed Jun 6, 2026
Enforces git branch naming conventions with type prefixes (feat/fix/chore), issue linking, and kebab-case. Use when creating branches or setting up repo standards.
Creates a git branch following Sentry naming conventions with type prefixes (feat, fix, docs, etc.) and GitHub username prefix. Automatically classifies work from task descriptions or local diffs.
Creates Git feature branches with short auto-incremented names and type prefixes (feat/fix/refactor/chore/docs). Generates from manual descriptions, uncommitted changes, or Arkhe SDLC specs.