Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Git Mastery

ASecurity

Advanced Git workflows, branching strategies, history management, and team collaboration patterns. Covers trunk-based development, interactive rebase, bisect debugging, monorepo workflows, and professional commit hygiene. Powered by Kodelyth.

11 stars
0 votes
0 copies
0 views
Added 10/5/2026
ai-agentsgobashdebugginggitapici/cdperformancedocumentation

Works with

api

Security Analysis

A100/100

Scanned 10/5/2026

$npx -y skills add sifxprime/kodelyth-ecc --skill git-mastery --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Git Mastery?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Git Mastery
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/sifxprime-git-mastery/badge)](https://www.skillsdirectory.com/skills/sifxprime-git-mastery)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: git-mastery
description: Advanced Git workflows, branching strategies, history management, and team collaboration patterns. Covers trunk-based development, interactive rebase, bisect debugging, monorepo workflows, and professional commit hygiene. Powered by Kodelyth.
origin: Kodelyth
---

# Git Mastery — Advanced Git Workflows

Professional-grade Git patterns for individuals and teams. Powered by Kodelyth.

## When to Use

- Setting up a branching strategy for a team
- Learning advanced Git commands (rebase, bisect, worktree)
- Fixing a messy commit history before merging
- Debugging when a bug was introduced using `git bisect`
- Working in a monorepo
- Enforcing commit message standards

---

## Branching Strategies

### Trunk-Based Development (Recommended for most teams)

```
main (always deployable)
 ├── feat/add-oauth      (short-lived, < 2 days)
 ├── fix/null-check      (short-lived, < 1 day)
 └── chore/upgrade-deps  (short-lived)
```

**Rules:**
- All branches off `main`, all PRs back to `main`
- Branches live < 2 days — longer = higher merge conflict risk
- Use feature flags to ship incomplete features safely
- Every commit to `main` is potentially deployable

```bash
# Start a feature
git checkout main && git pull
git checkout -b feat/user-authentication

# Sync with main daily (rebase, don't merge)
git fetch origin
git rebase origin/main

# PR → squash merge → delete branch
```

### Gitflow (For versioned software with release cycles)

```
main          (production releases only)
develop       (integration branch)
 ├── feature/xyz     (features off develop)
 ├── release/1.2.0   (stabilization)
 └── hotfix/critical (off main, merges to main + develop)
```

**Use when**: You ship versioned releases (mobile apps, libraries, enterprise software)
**Avoid when**: You deploy continuously (web apps, SaaS)

### Ship / Show / Ask (For experienced teams)

```
Ship: Commit directly to main (trivial changes, docs, chores)
Show: Open PR, merge immediately without review (small, safe changes)
Ask:  Open PR, wait for review (significant changes, risk)
```

---

## Commit Message Mastery

### Conventional Commits Format

```
<type>(<scope>): <description>

[optional body]

[optional footer]
```

**Types:**
```
feat:     New feature (triggers MINOR version bump)
fix:      Bug fix (triggers PATCH version bump)
docs:     Documentation only
style:    Formatting (no logic change)
refactor: Code restructure (no feature, no fix)
test:     Adding or fixing tests
chore:    Build, tooling, dependencies
perf:     Performance improvement
ci:       CI/CD changes
revert:   Reverting a commit
```

**Examples:**
```bash
# Good
git commit -m "feat(auth): add OAuth2 login with Google"
git commit -m "fix(cart): prevent double-submission on slow networks"
git commit -m "refactor(user): extract UserService from UserController"
git commit -m "test(payment): add integration test for failed webhooks"

# Bad
git commit -m "fix bug"
git commit -m "WIP"
git commit -m "changes"
git commit -m "asdf"
```

**With body (for significant changes):**
```bash
git commit -m "feat(billing): add Stripe subscription management

Adds three subscription tiers: Free, Pro ($29/mo), Enterprise ($99/mo).
Payment flow uses Stripe Checkout. Subscription status synced via webhooks.

Breaking: removes legacy PayPal integration (deprecated since v1.3)
Closes #234"
```

---

## Interactive Rebase — History Surgery

### Squash WIP commits before merging

```bash
# You have 5 messy commits you want to clean up
git log --oneline -5
# abc1234 fix
# def5678 WIP
# ghi9012 more changes
# jkl3456 actually fix it
# mno7890 feat: add user search

# Squash all 5 into 1 clean commit
git rebase -i HEAD~5

# In the editor:
# pick mno7890 feat: add user search
# squash jkl3456 actually fix it
# squash ghi9012 more changes
# squash def5678 WIP
# squash abc1234 fix
# → writes a clean single commit message
```

### Fix a commit message (already pushed? see below)

```bash
# Fix the last commit message
git commit --amend -m "feat(search): add full-text user search with pagination"

# Fix a message 3 commits back
git rebase -i HEAD~3
# Change "pick" to "reword" on the target commit
```

### Fixup — add changes to a previous commit

```bash
# You forgot to add a file to a commit 2 commits ago
git add forgotten-file.ts
git commit --fixup HEAD~2

# Then squash fixup into its target automatically
git rebase -i --autosquash HEAD~3
```

### Split a large commit into smaller ones

```bash
git rebase -i HEAD~1
# Change "pick" to "edit" on the commit to split

# Now git stops at that commit
git reset HEAD~1         # unstage all changes
git add -p               # selectively stage first logical change
git commit -m "feat: add user model"
git add -p               # stage second logical change
git commit -m "feat: add user repository"
git rebase --continue    # finish the rebase
```

---

## Git Bisect — Binary Search for Bugs

When you know "it worked in v1.2, broke somewhere before v1.5":

```bash
git bisect start
git bisect bad                    # current HEAD is broken
git bisect good v1.2.0            # this tag/commit was good

# Git checks out the midpoint automatically
# Test it (run your test, check the behavior)
git bisect good   # if this commit is OK
git bisect bad    # if this commit has the bug

# Repeat — git halves the search space each time
# With 1000 commits, it takes at most 10 steps

# Automate with a test script
git bisect run npm test -- --grep "the failing test"

# When done
git bisect reset  # returns to original HEAD
```

---

## Git Worktrees — Multiple Branches Simultaneously

Work on a hotfix while keeping your feature branch untouched:

```bash
# Create a new worktree (separate directory, same repo)
git worktree add ../hotfix-payment hotfix/payment-crash

# Now you have two working directories:
#   ~/project/           → your feature branch
#   ~/hotfix-payment/    → the hotfix branch

# Work in the hotfix directory, commit, push, PR
cd ../hotfix-payment
# ... make fix ...
git commit -m "fix(payment): prevent double charge on retry"
git push origin hotfix/payment-crash

# Clean up when done
cd ~/project
git worktree remove ../hotfix-payment
```

---

## Git Log — Find Anything in History

```bash
# See changes to a specific file over time
git log --follow --oneline -- src/components/Auth.tsx

# See who last changed each line (with commit + author)
git blame src/components/Auth.tsx

# Search commit messages
git log --oneline --grep="payment"

# Search code changes (find when a string was added or removed)
git log -S "functionName" --oneline

# See what changed between two tags
git log v1.2.0..v1.3.0 --oneline

# Visualize branch graph
git log --oneline --graph --decorate --all
```

---

## Git Stash — Save Work in Progress

```bash
# Stash everything (tracked + untracked)
git stash push -u -m "WIP: halfway through auth refactor"

# List stashes
git stash list
# stash@{0}: WIP: halfway through auth refactor
# stash@{1}: quick fix attempt

# Apply and remove the latest stash
git stash pop

# Apply a specific stash (keep it)
git stash apply stash@{1}

# Stash only specific files
git stash push -m "partial" -- src/auth.ts src/user.ts

# Drop a stash
git stash drop stash@{1}
```

---

## Monorepo Git Patterns

```bash
# Only run CI for changed packages
git diff --name-only origin/main...HEAD | grep "^packages/"

# Sparse checkout — only clone part of a large monorepo
git clone --filter=blob:none --sparse https://github.com/org/monorepo
git sparse-checkout init --cone
git sparse-checkout set packages/my-package

# Tag per package
git tag packages/auth@1.2.0
git tag packages/api@2.0.1

# Find which package a file belongs to
git log --oneline -- packages/billing/
```

---

## Branch Protection Rules (GitHub/GitLab)

```yaml
# Recommended branch protection for main:
required_status_checks:
  strict: true           # must be up to date with main
  contexts:
    - "CI / test"
    - "CI / lint"
    - "CI / typecheck"

required_pull_request_reviews:
  required_approving_review_count: 1
  dismiss_stale_reviews: true
  require_code_owner_reviews: true

restrictions:
  push: []               # nobody can push directly to main
  force_push: false      # never allow force push to main
  delete: false          # never allow delete of main
```

---

## Emergency Recovery

```bash
# Accidentally deleted a branch?
git reflog                           # find the last commit hash
git checkout -b recovered-branch <hash>

# Accidentally force pushed?
git reflog origin/main              # see the hash before the force push
git push origin <hash>:main --force # restore it

# Committed to the wrong branch?
git log --oneline -3                # note the commit hash
git reset HEAD~1 --soft             # undo commit, keep changes staged
git stash                           # stash the changes
git checkout correct-branch
git stash pop                       # apply changes to correct branch
git commit -m "feat: the actual message"

# Accidentally committed secrets?
# 1. Rotate the secret IMMEDIATELY (assume it's compromised)
# 2. Remove from history:
git filter-repo --path secrets.env --invert-paths
# OR use BFG Repo Cleaner for simpler cases
```

---

> Powered by Kodelyth — Git is not just version control, it's your project's memory.

Attribution

sifxprimesifxprime
View sourceSee grades on GitHubMore from sifxprime →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698621 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →