skills/conventional-branch/SKILL.md
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.
npx skillsauth add williamlimasilva/.copilot conventional-branchInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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).
tools
Create a new workshop or use an existing directory as one. Handles two paths: (A) use an existing local directory the operator points at, or (B) create a new private GitHub repo in the signed-in account. Never creates a repo inside another repo.
development
Guide for setting up vcpkg in C++ projects, managing dependency versions, and cross-compiling. Covers manifest initialization, CMake and Visual Studio integration, classic-to-manifest migration, version pinning, baselines, overrides, triplets, and cross-compilation. Use when a user is working with vcpkg project setup, installation, version management, or cross-platform builds. For specialized tasks, additional references cover custom registries and overlay ports (references/registries.md), CI/CD and binary caching (references/ci.md), and troubleshooting and dependency lifecycle (references/troubleshooting.md).
testing
Emit structured agent signals — hands-up, blocked, done, checkpoint, partnership. Signals are written as JSON to .signals/ for dashboard consumption and noted in the journal for persistence.
development
Install and configure Markstream streaming Markdown renderers for Vue, React, Svelte, Angular, Nuxt, and Vue 2 applications. Use for package selection, minimal peer dependencies, CSS order, SSR boundaries, streaming mode, and renderer setup.