Agent Skills: Git Mastery

|

UncategorizedID: phrazzld/claude-config/git-mastery

Install this agent skill to your local

pnpm dlx add-skill https://github.com/phrazzld/claude-config/tree/HEAD/skills/git-mastery

Skill Files

Browse the full folder contents for git-mastery.

Download Skill

Loading file tree…

skills/git-mastery/SKILL.md

Skill Metadata

Name
git-mastery
Description
|

Git Mastery

Enforce distributed-first, async-friendly git workflows with automated quality gates.

Commits: Atomic + Conventional

Every commit must be:

  • Single logical change (use git add -p for selective staging)
  • Complete (code + tests + docs together)
  • Independently buildable and testable
  • Describable without "and" in subject

Format: type(scope): subject (50 chars max)

feat(auth): add OAuth2 login flow
fix(api): handle null response in user endpoint
docs(readme): add deployment instructions
refactor(db): extract query builder

Types: feat, fix, docs, style, refactor, perf, test, build, ci, chore

BREAKING CHANGE: Add footer BREAKING CHANGE: description → triggers MAJOR version.

Branches: Short-Lived + Typed

Naming: type/issue-description (lowercase, hyphens, <60 chars)

feature/123-oauth-login
fix/456-null-pointer-api
hotfix/critical-auth-bypass

Rules:

  • Max 3 days old (escalate if longer)
  • Delete immediately after merge
  • Rebase onto main daily: git pull --rebase origin main
  • Never push directly to main

Merge Strategy (Algorithmic)

| Condition | Strategy | |-----------|----------| | <3 days, single author, atomic | Rebase (linear history) | | Multi-author or external PR | Merge (preserve context) | | Many fixup/experimental commits | Squash (clean history) |

Main branch: fast-forward only (git config merge.ff only).

PR Workflow

  1. CI passes before human review (lint, type-check, test, security)
  2. CODEOWNERS auto-assigns reviewers
  3. 1-2 approvals required
  4. Squash fixup commits before merge
  5. Branch auto-deleted on merge

Context-rich PRs: Include motivation, alternatives considered, areas of concern.

Performance (Large Repos)

Enable commit-graph:

git config core.commitGraph true
git config gc.writeCommitGraph true

Clone optimization:

git clone --filter=blob:none URL  # Partial clone
git sparse-checkout set src/      # Only needed paths

Large files (>10MB): Use Git LFS.

Anti-Patterns

  • Mixed commits ("fix auth and update logging")
  • Long-lived branches (>1 week without escalation)
  • Manual merge strategy choice (use decision tree)
  • Requiring sync coordination across timezones
  • Large binary files in git history
  • WIP/fix typo commits in main history

References

Commit Conventions

See references/commit-conventions.md for detailed commit message standards including:

  • Conventional commit format (type(scope): subject)
  • Imperative mood rules
  • Body and footer conventions
  • Breaking change format