name: git-conventions description: Apply git workflow conventions — commits, branches, PRs. when_to_use: "Use when committing, branching, or opening PRs to apply roster's git conventions. Trigger: 'commit this', 'open a PR'." version: 1.0.1
Git Conventions
Apply standardized git conventions for the action described in $ARGUMENTS (e.g., "commit this", "create PR", "new branch for auth feature").
Steps
- Identify the action requested in
$ARGUMENTS(commit, branch, PR, or full workflow). - Apply the relevant convention sections below.
- Execute the git command(s) following the format.
Commit Format
<type>: <description>
Types: feat, fix, refactor, docs, test, chore, perf, ci
- Description: imperative mood, lowercase, no period, under 72 chars.
- Body (optional): blank line after subject, wrap at 80 chars, explain why not what.
- Footer (optional):
Closes #123,BREAKING CHANGE: <description>.
Examples:
feat: add JWT authentication middlewarefix: prevent null pointer in user lookuprefactor: extract validation into shared module
Branch Naming
<type>/<short-description>
- Kebab-case description, max 4 words.
- Examples:
feat/add-auth,fix/null-pointer,refactor/extract-validation - For issue-linked work:
feat/123-add-auth
PR Workflow
When creating a PR:
- Ensure the branch is pushed with
git push -u origin <branch>. - Use
gh pr createwith this template:
## Summary
- <1-3 bullet points describing what and why>
## Test plan
- [ ] <specific verification step>
- [ ] <edge case checked>
- [ ] <regression check>
- Title: same format as commit subject (
<type>: <description>), under 70 chars. - Request reviewers if the user specifies them.
Commit Workflow
When committing:
- Run
git statusandgit diff --stagedto understand what's staged. - If nothing staged, help the user stage relevant files (prefer explicit paths over
git add .). - Draft commit message following the format above.
- Use a HEREDOC for the message:
git commit -m "$(cat <<'EOF' <type>: <description> EOF )" - Run
git statusafter to confirm success.
Rules
- Never force-push to
mainormaster. - Always push with
-uto set upstream tracking. - Never use
git add .orgit add -A— stage specific files. - Never skip pre-commit hooks (
--no-verify). - Never commit
.env, credentials, or secrets — warn the user if these are staged. - PR descriptions must be comprehensive — reviewers should understand the change without reading code.
- One logical change per commit. Split unrelated changes into separate commits.
Friction Log
At the end of each run, append to skills-meta/friction.jsonl :
{
"date": "<ISO-8601>",
"skill": "git-conventions",
"task": "<task-slug or short description>",
"frictions": [],
"methods": [],
"suggestion_type": null,
"suggestion": null,
"effort_estimate": null
}