From superpowers-plus
Enforces semantic prefix naming for new git work branches (feat/, fix/, exp/, etc.) when using git checkout -b, git switch -c, or similar commands.
How this skill is triggered — by the user, by Claude, or both
Slash command
/superpowers-plus:git-branch-conventionsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> **Scope:** New work branches only — not permanent branches (`main`, `master`, `develop`), release branches, or sync branches. Repos may have their own branch policies that take precedence.
Scope: New work branches only — not permanent branches (
main,master,develop), release branches, or sync branches. Repos may have their own branch policies that take precedence.
git checkout -b, git switch -c, git branch <name>, or git worktree add -bNew work branches MUST start with one of these prefixes:
| Prefix | Use For | Examples |
|---|---|---|
feat/ | New features, user-facing functionality | feat/scheduler-v3, feat/outbound-calling |
fix/ | Bug fixes, defect corrections | fix/memory-leak-tts, fix/null-check-handler |
exp/ | Experimental, spike, or throwaway work | exp/grpc-prototype, exp/redis-caching-spike |
doc/ | Documentation updates only | doc/api-reference-update, doc/onboarding-guide |
perf/ | Performance and optimization work | perf/query-optimization, perf/reduce-cold-start |
chore/ | Non-feature maintenance — deps, CI, config, refactors, test harness, repo housekeeping | chore/bump-deps-march, chore/ci-pipeline-fix |
Is it throwaway / exploratory? → exp/
Is it a bug fix? → fix/
Is it only documentation? → doc/
Is it only performance / optimization? → perf/
Is it a new feature or behavior change? → feat/
Everything else (deps, CI, refactor, tests) → chore/
Mixed-purpose branches: Use the prefix that describes the primary intent.
{prefix}/{short-description}
Rules:
fix/PROJ-1189-null-config# ✅ CORRECT
git checkout -b feat/outbound-calling
git checkout -b fix/PROJ-1189-null-config
git checkout -b exp/grpc-spike
git checkout -b chore/bump-node-22
git checkout -b chore/refactor-auth-module
# ❌ WRONG — missing prefix
git checkout -b outbound-calling
# ❌ WRONG — non-standard prefix
git checkout -b feature/outbound # Use feat/
git checkout -b bugfix/null-check # Use fix/
git checkout -b refactor/auth-module # Use chore/
git checkout -b test/add-unit-tests # Use chore/
git checkout -b hotfix/urgent-patch # Use fix/
# ❌ WRONG — formatting
git checkout -b FEAT/OUTBOUND # Uppercase
git checkout -b feat/outbound_calling # Underscores
After creating a branch, confirm the name matches all format rules:
branch=$(git branch --show-current)
if echo "$branch" | grep -qE '^(feat|fix|exp|doc|perf|chore)/[a-z0-9]+(-[a-z0-9]+)*$'; then
echo "✅ Valid: $branch"
else
echo "❌ Invalid: $branch"
echo " Required: {prefix}/{lowercase-hyphenated-description}"
echo " Prefixes: feat/ fix/ exp/ doc/ perf/ chore/"
fi
Note: The obra/superpowers using-git-worktrees skill shows feature/auth in its example. That prefix is non-canonical per this convention — use feat/auth instead. This skill takes precedence for branch naming.
| Mode | Symptom | Recovery |
|---|---|---|
| Non-compliant branch name | PR rejected by CI | Follow type/description pattern |
| Non-standard prefix used | Confusion in branch listing | Use the six canonical prefixes |
| Skipping prefix on quick branches | Inconsistent repo | Every work branch gets a prefix |
npx claudepluginhub bordenet/superpowers-plus --plugin superpowers-plusGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.