Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Enhanced git operations using lazygit, gh (GitHub CLI), and delta. Triggers on: stage changes, create PR, review PR, check issues, git diff, commit interactively, GitHub operations, rebase, stash, bisect.
.claude/skills/aiskillstore-git-workflow/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 150% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 161% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 433% | 0% |
| case-22 | ✓→✗ | ▼ Worse | 539% | 0% |
| case-19 | ✓→✓ | = Same ✓ | 178% | 0% |
Create feature branch:
bash# Create and switch to new branch git checkout -b feature/feature-name # Or create from specific commit git checkout -b feature/feature-name <commit-hash>
Naming conventions:
feature/description: New featuresbugfix/description: Bug fixeshotfix/description: Urgent fixesrefactor/description: Code refactoringdocs/description: Documentation updatesStage changes:
bash# Stage specific files git add file1.py file2.js # Stage all changes git add . # Stage with patch mode (interactive) git add -p
Check status:
bash# See what's changed git status # See detailed diff git diff # See staged diff git diff --staged
Write good commit messages:
bashgit commit -m "type(scope): subject Detailed description of what changed and why. - Change 1 - Change 2 Fixes #123"
Commit types:
feat: New featurefix: Bug fixdocs: Documentationstyle: Formatting, no code changerefactor: Code refactoringtest: Adding testschore: MaintenanceExample:
bashgit commit -m "feat(auth): add JWT authentication - Implement JWT token generation - Add token validation middleware - Update user model with refresh token Closes #42"
bash# Push to remote git push origin feature/feature-name # Force push (use with caution!) git push origin feature/feature-name --force-with-lease # Set upstream and push git push -u origin feature/feature-name
bash# Pull latest changes git pull origin main # Pull with rebase (cleaner history) git pull --rebase origin main # Fetch without merging git fetch origin
Merge feature branch:
bash# Switch to main branch git checkout main # Merge feature git merge feature/feature-name # Merge with no fast-forward (creates merge commit) git merge --no-ff feature/feature-name
Rebase instead of merge:
bash# On feature branch git checkout feature/feature-name # Rebase onto main git rebase main # Continue after resolving conflicts git rebase --continue # Abort rebase git rebase --abort
When conflicts occur:
bash# See conflicted files git status # Open files and resolve conflicts # Look for markers: <<<<<<< HEAD Current branch code ======= Incoming branch code >>>>>>> feature-branch # After resolving git add <resolved-files> git commit # For merge git rebase --continue # For rebase
bash# Delete local branch git branch -d feature/feature-name # Force delete git branch -D feature/feature-name # Delete remote branch git push origin --delete feature/feature-name # Clean up stale references git fetch --prune
bash# Rebase last 3 commits git rebase -i HEAD~3 # Commands in editor: # pick: use commit # reword: change commit message # edit: amend commit # squash: combine with previous # fixup: like squash, discard message # drop: remove commit
bash# Stash current changes git stash # Stash with message git stash save "Work in progress on feature X" # List stashes git stash list # Apply most recent stash git stash apply # Apply and remove stash git stash pop # Apply specific stash git stash apply stash@{2} # Drop stash git stash drop stash@{0} # Clear all stashes git stash clear
bash# Apply specific commit git cherry-pick <commit-hash> # Cherry-pick multiple commits git cherry-pick <hash1> <hash2> <hash3> # Cherry-pick without committing git cherry-pick -n <commit-hash>
bash# Start bisect git bisect start # Mark current as bad git bisect bad # Mark known good commit git bisect good <commit-hash> # Git will checkout commits to test # Test and mark each: git bisect good # if works git bisect bad # if broken # When found, reset git bisect reset
bash# 1. Create feature branch git checkout main git pull origin main git checkout -b feature/user-profile # 2. Make changes # ... edit files ... # 3. Commit changes git add src/profile/ git commit -m "feat(profile): add user profile page - Create profile component - Add profile API endpoints - Add profile tests" # 4. Keep up to date with main git fetch origin git rebase origin/main # 5. Push to remote git push origin feature/user-profile # 6. Create Pull Request on GitHub/GitLab # ... after review and approval ... # 7. Merge and cleanup git checkout main git pull origin main git branch -d feature/user-profile
bash# 1. Create hotfix branch from production git checkout main git pull origin main git checkout -b hotfix/critical-bug # 2. Fix the bug # ... make fixes ... # 3. Commit git add . git commit -m "hotfix: fix critical login bug Fixes authentication bypass vulnerability Fixes #999" # 4. Push and merge immediately git push origin hotfix/critical-bug # After merge: # 5. Cleanup git checkout main git pull origin main git branch -d hotfix/critical-bug
bash# 1. Update main branch git checkout main git pull origin main # 2. Create feature branch git checkout -b feature/new-feature # 3. Regular updates from main git fetch origin git rebase origin/main # 4. Push your work git push origin feature/new-feature # 5. If teammate made changes to your branch git pull origin feature/new-feature --rebase # 6. Resolve any conflicts # ... resolve conflicts ... git add . git rebase --continue # 7. Force push after rebase git push origin feature/new-feature --force-with-lease
bashgit reset --soft HEAD~1
bashgit reset --hard HEAD~1
bash# Change commit message git commit --amend -m "New message" # Add files to last commit git add forgotten-file.txt git commit --amend --no-edit
bash# Detailed log git log # One line per commit git log --oneline # With graph git log --oneline --graph --all # Last 5 commits git log -5 # Commits by author git log --author="John" # Commits in date range git log --since="2 weeks ago"
bash# Search commit messages git log --grep="keyword" # Search code changes git log -S "function_name" # Show file history git log --follow -- path/to/file
bash# 1. Create correct branch from current state git branch feature/correct-branch # 2. Reset current branch git reset --hard HEAD~1 # 3. Switch to correct branch git checkout feature/correct-branch
bash# If not pushed yet git reset --hard HEAD~1 # If already pushed (creates revert commit) git revert -m 1 <merge-commit-hash>
bash# Find lost commit git reflog # Create branch from lost commit git checkout -b recovered-branch <commit-hash>
bash# Add upstream remote git remote add upstream https://github.com/original/repo.git # Fetch upstream git fetch upstream # Merge upstream main git checkout main git merge upstream/main # Push to your fork git push origin main
bashgit config --global user.name "Your Name" git config --global user.email "your.email@example.com"
bashgit config --global alias.co checkout git config --global alias.br branch git config --global alias.ci commit git config --global alias.st status git config --global alias.unstage 'reset HEAD --' git config --global alias.last 'log -1 HEAD' git config --global alias.lg 'log --oneline --graph --all'
bashgit config --global core.editor "code --wait" # VS Code git config --global core.editor "vim" # Vim
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-19 | pass→pass | 6,577 | 3,359 | -49% | 1 | 1 | 0% | 1,119 | 3,116 | +178% | 0 | 0 | — |
case-01 | fail→pass | 7,673 | 9,791 | +28% | 1 | 1 | 0% | 1,493 | 3,738 | +150% | 0 | 0 | — |
case-02 | pass→pass | 9,505 | 6,109 | -36% | 1 | 1 | 0% | 2,013 | 3,848 | +91% | 0 | 0 | — |
case-03 | pass→pass | 8,282 | 4,989 | -40% | 1 | 1 | 0% | 1,338 | 3,549 | +165% | 0 | 0 | — |
case-04 | fail→pass | 5,989 | 3,690 | -38% | 1 | 1 | 0% | 1,249 | 3,257 | +161% | 0 | 0 | — |
case-05 | pass→pass | 4,899 | 17,581 | +259% | 1 | 1 | 0% | 997 | 3,292 | +230% | 0 | 0 | — |
case-06 | pass→pass | 7,347 | 6,030 | -18% | 1 | 1 | 0% | 1,474 | 3,722 | +153% | 0 | 0 | — |
case-07 | pass→pass | 4,654 | 2,642 | -43% | 1 | 1 | 0% | 924 | 3,041 | +229% | 0 | 0 | — |
case-08 | pass→pass | 5,382 | 3,920 | -27% | 1 | 1 | 0% | 1,017 | 3,258 | +220% | 0 | 0 | — |
case-09 | pass→pass | 5,095 | 3,060 | -40% | 1 | 1 | 0% | 943 | 3,102 | +229% | 0 | 0 | — |
case-10 | pass→pass | 7,568 | 8,103 | +7% | 1 | 1 | 0% | 1,008 | 3,440 | +241% | 0 | 0 | — |
case-11 | pass→pass | 2,462 | 33,974 | +1280% | 1 | 1 | 0% | 402 | 2,955 | +635% | 0 | 0 | — |
case-12 | pass→pass | 2,639 | 2,402 | -9% | 1 | 1 | 0% | 534 | 2,951 | +453% | 0 | 0 | — |
case-13 | pass→pass | 4,052 | 3,359 | -17% | 1 | 1 | 0% | 777 | 3,126 | +302% | 0 | 0 | — |
case-14 | pass→pass | 2,068 | 2,081 | +1% | 1 | 1 | 0% | 399 | 2,946 | +638% | 0 | 0 | — |
case-15 | pass→pass | 3,296 | 2,530 | -23% | 1 | 1 | 0% | 586 | 2,952 | +404% | 0 | 0 | — |
case-16 | fail→pass | 2,686 | 2,650 | -1% | 1 | 1 | 0% | 559 | 2,978 | +433% | 0 | 0 | — |
case-17 | pass→pass | 5,475 | 3,260 | -40% | 1 | 1 | 0% | 1,029 | 3,141 | +205% | 0 | 0 | — |
case-18 | pass→pass | 2,374 | 2,272 | -4% | 1 | 1 | 0% | 466 | 2,987 | +541% | 0 | 0 | — |
case-20 | pass→pass | 6,649 | 3,796 | -43% | 1 | 1 | 0% | 1,324 | 3,339 | +152% | 0 | 0 | — |
case-21 | pass→pass | 6,644 | 7,496 | +13% | 1 | 1 | 0% | 1,246 | 3,841 | +208% | 0 | 0 | — |
case-22 | pass→fail | 3,129 | 3,483 | +11% | 1 | 1 | 0% | 488 | 3,117 | +539% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +9 percentage points is the difference between those two pass rates over the 22 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
| Model | Method | Date | Lift |
|---|---|---|---|
| gemini-3.6-flash | verified | 8/21/2026 | 0% |
Other measured skills in the registry, with their headline benchmark lift.