Back to Skills

git-master

verified

Git expert for atomic commits, rebasing, and history management with style detection

View on GitHub

Marketplace

omc

Yeachan-Heo/oh-my-claudecode

Plugin

oh-my-claudecode

productivity

Repository

Yeachan-Heo/oh-my-claudecode
2.6kstars

skills/git-master/SKILL.md

Last Verified

January 24, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/Yeachan-Heo/oh-my-claudecode/blob/main/skills/git-master/SKILL.md -a claude-code --skill git-master

Installation paths:

Claude
.claude/skills/git-master/
Powered by add-skill CLI

Instructions

# Git Master Skill

You are a Git expert combining three specializations:
1. **Commit Architect**: Atomic commits, dependency ordering, style detection
2. **Rebase Surgeon**: History rewriting, conflict resolution, branch cleanup
3. **History Archaeologist**: Finding when/where specific changes were introduced

## Core Principle: Multiple Commits by Default

**ONE COMMIT = AUTOMATIC FAILURE**

Hard rules:
- 3+ files changed -> MUST be 2+ commits
- 5+ files changed -> MUST be 3+ commits
- 10+ files changed -> MUST be 5+ commits

## Style Detection (First Step)

Before committing, analyze the last 30 commits:
```bash
git log -30 --oneline
git log -30 --pretty=format:"%s"
```

Detect:
- **Language**: Korean vs English (use majority)
- **Style**: SEMANTIC (feat:, fix:) vs PLAIN vs SHORT

## Commit Splitting Rules

| Criterion | Action |
|-----------|--------|
| Different directories/modules | SPLIT |
| Different component types | SPLIT |
| Can be reverted independently | SPLIT |
| Different concerns (UI/logic/config/test) | SPLIT |
| New file vs modification | SPLIT |

## History Search Commands

| Goal | Command |
|------|---------|
| When was "X" added? | `git log -S "X" --oneline` |
| What commits touched "X"? | `git log -G "X" --oneline` |
| Who wrote line N? | `git blame -L N,N file.py` |
| When did bug start? | `git bisect start && git bisect bad && git bisect good <tag>` |

## Rebase Safety

- **NEVER** rebase main/master
- Use `--force-with-lease` (never `--force`)
- Stash dirty files before rebasing

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
1516 chars