conventional-gitlisted
Install: claude install-skill hssh8917/cc-skills
# Conventional Commits & Branch Naming
Follow Conventional Commits v1.0.0 for both branch names and commit messages — consistent naming lets tools auto-generate changelogs, enforce SemVer bumps, and filter history by concern.
## Branch Naming
Format: `<type>/[issue-]<description>` — lowercase, hyphens only, no special chars except `/`.
```
feat/user-authentication
feat/42-user-authentication
fix/login-race-condition
fix/87-login-race-condition
docs/api-reference-update
refactor/payment-module
```
Prefix with the issue number when one exists — GitHub and GitLab auto-link it and it makes `git log` immediately traceable to the tracker. Keep the description under 50 characters — most git UIs truncate branch names in lists around that length. Match the type to the work you're doing — this is the contract readers use to understand the branch purpose at a glance.
NEVER include `worktree` in a branch name — git worktrees are a local checkout mechanism, not a branch concept; the name would leak implementation details into the remote and confuse other contributors.
## Commit Message Format
```
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
```
**Types:**
| Type | SemVer | When |
| ---------- | ------ | ---------------------------- |
| `feat` | MINOR | New feature |
| `fix` | PATCH | Bug fix |
| `docs` | — | Docs only |
| `style` | — |