| 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
- Description in imperative mood.
add feature not added feature or adds feature.
- Scope is the affected module name.
fix(user-service): handle null email — not fix(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
main or develop. 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 -i before 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.