| name | git-conventions |
| description | Apply when committing, branching, or opening a pull request. Conventional commit format, branch naming, PR scope. |
| license | MIT |
| version | 1.0.0 |
| tokens_target | 650 |
| triggers | git commit, branch, pull request |
| loads_after | |
| supersedes |
Sub-Skill: Git & Workflow Conventions
Purpose: Consistent commit history, clean branches, no merge conflicts through discipline. Rules that work in teams of 2–20 developers.
Rules
Commit Messages (Conventional Commits)
- Format:
<type>(<scope>): <description>— always lowercase, no period at the end.- Types:
feat,fix,refactor,test,docs,chore,perf,ci - Example:
feat(auth): add JWT refresh token rotation
- Types:
- Description in imperative mood.
add featurenotadded featureoradds feature. - Scope is the affected module name.
fix(user-service): handle null email— notfix(backend). - Mark breaking changes with
!.feat(api)!: remove deprecated v1 endpoints - Body for non-obvious changes. Explains the why, not the what.
Branching
- Branch names:
<type>/<ticket-id>-<short-description>— e.g.feat/PROJ-123-user-export. - Feature branches live max. 2 days. Longer → rebase daily onto
main. - No direct push to
mainordevelop. Always through a pull request. - Delete branch before PR merge. Clean up merged branches from remote.
Pull Requests
- PR title = commit message of the squash commit. Consistency between PR and git log.
- Max. 400 lines diff per PR. Larger → split. Reviewers cannot meaningfully review more than 400 lines.
- Self-review before opening a PR. Read through once yourself, fix obvious mistakes.
Merge Strategy
- Squash-merge for feature branches. Clean linear history on
main. - Merge commit for release branches. So release points remain visible.
git rebase -ibefore PR for clean commits. Squash WIP commits together.
Why This Sub-Skill Earns Stars
The agent automatically creates correct commit messages and branch names. No manual corrections, no discussions in review about formatting.