Branch names and commit messages for crew work, in the conventional-commit form python-semantic-release reads (feat/, fix/, perf/ release; docs/, refactor/, test/, build/, ci/, chore/ do not). Use when a voyage starts on a new branch, before the first commit, and whenever you write a commit message.
Install
npx skillscat add ajaradv/agents/git-conventions Install via the SkillsCat registry.
SKILL.md
Git conventions for crew work
Ships may release with python-semantic-release, which reads branch prefixes and commit types to decide versions. Name branches and write commits so it reads them correctly.
Branch names: <type>/<short-kebab-description>
| Type | Use for | Releases? |
|---|---|---|
feat |
a new capability users see | minor |
fix |
a bug fix | patch |
perf |
a speed or resource improvement, no behaviour change | patch |
docs |
documentation only | no |
refactor |
restructuring with no behaviour change | no |
test |
tests only | no |
build |
build system, packaging, dependency upgrades that change the build | no |
ci |
CI configuration | no |
chore |
maintenance that fits nothing above (dependency bumps, tooling) | no |
- The description is 2 to 6 words, lowercase, hyphens, specific:
fix/order-total-rounding,chore/tailwind-4.3-daisyui-5.7,docs/pytest-docker-note. Version numbers keep their dots. - No
crew/prefix, no dates, no ticket noise. - A voyage's branch is created for you at Set sail, with a type guessed from the goal. Before your first commit, check it (
git branch --show-current); if the type or description is wrong, rename it:git branch -m <type>/<description>. Never rename after commits exist on it, and never touch other branches.
Commit messages: conventional commits
<type>[optional scope]: <imperative summary, lowercase, no period>
[optional body: why, not what]
[optional footer: BREAKING CHANGE: <what breaks>]- Same types as branches:
feat: add order export,fix(api): round totals to cents,chore(deps): bump tailwindcss to 4.3.3 and daisyui to 5.7.50,docs: note that just pytest runs in docker compose. feat!:or aBREAKING CHANGE:footer only for real breaking changes (a major release).- One logical change per commit; the summary line under 72 characters.
- Never skip hooks (
--no-verify,-n,core.hooksPathtricks). If a git hook fails, fix what it reports and commit again; if it cannot run at all (a missing tool or interpreter), stop and report the task blocked with the hook's error, so the captain can fix the environment. - Never push; the captain reviews and merges.