home / skills / 0xdarkmatter / claude-mods / git-workflow

git-workflow skill

/skills/git-workflow

This skill streamlines git workflows with lazygit, gh, and delta to stage, review, and manage commits and PRs efficiently.

npx playbooks add skill 0xdarkmatter/claude-mods --skill git-workflow

Review the files below or copy the command above to add this skill to your agents.

Files (6)
SKILL.md
2.7 KB
---
name: git-workflow
description: "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."
compatibility: "Requires git, gh (GitHub CLI), lazygit, and delta. Network access needed for GitHub operations."
allowed-tools: "Bash"
---

# Git Workflow

Streamline git operations with visual tools and GitHub CLI integration.

## Tools

| Tool | Command | Use For |
|------|---------|---------|
| lazygit | `lazygit` | Interactive git TUI |
| gh | `gh pr create` | GitHub CLI operations |
| delta | `git diff \| delta` | Beautiful diff viewing |

## lazygit Essentials

```bash
# Open interactive TUI
lazygit

# Key bindings:
# Space - stage/unstage file
# c     - commit
# p     - push
# P     - pull
# b     - branch operations
# r     - rebase menu
# s     - stash menu
# ?     - help
```

## GitHub CLI (gh) Essentials

```bash
# Pull Requests
gh pr create --title "Feature: Add X" --body "Description"
gh pr create --web           # Open in browser
gh pr list                   # List open PRs
gh pr view 123               # View PR details
gh pr checkout 123           # Check out PR locally
gh pr merge 123 --squash     # Squash and merge

# Issues
gh issue create --title "Bug: X"
gh issue list --label bug

# Repository
gh repo view --web           # Open in browser

# Actions
gh workflow run deploy.yml
gh run list --workflow=ci.yml
```

## Delta (Beautiful Diffs)

```bash
# View diff with syntax highlighting
git diff | delta

# Side-by-side view
git diff | delta --side-by-side

# Configure as default pager
git config --global core.pager delta
```

## Quick Reference

| Task | Command |
|------|---------|
| Interactive git | `lazygit` |
| Create PR | `gh pr create` |
| Merge PR | `gh pr merge --squash` |
| Beautiful diff | `git diff \| delta` |
| Interactive rebase | `git rebase -i HEAD~N` |
| Stash changes | `git stash push -m "msg"` |
| Apply stash | `git stash pop` |
| Find bug commit | `git bisect start` |
| Cherry-pick | `git cherry-pick <hash>` |
| Parallel worktree | `git worktree add <path> <branch>` |
| Recover commits | `git reflog` |

## When to Use

- Interactive staging of changes
- Creating pull requests from terminal
- Reviewing PRs and issues
- Visual diff viewing
- Cleaning up commit history (rebase)
- Temporary work saving (stash)
- Bug hunting (bisect)
- Parallel feature work (worktrees)
- Recovering lost work (reflog)

## Additional Resources

For detailed patterns, load:
- `./references/rebase-patterns.md` - Interactive rebase workflows
- `./references/stash-patterns.md` - Stash operations and workflows
- `./references/advanced-git.md` - Bisect, cherry-pick, worktrees, reflog, conflicts

Overview

This skill streamlines daily git and GitHub workflows by combining lazygit, the GitHub CLI (gh), and delta for readable diffs. It provides interactive staging, commit and rebase workflows, PR creation and review from the terminal, and visually enhanced diffs to speed code review and troubleshooting. Ideal for developers who prefer a keyboard-driven, terminal-first workflow.

How this skill works

The skill wires together lazygit for an interactive TUI workflow, gh for GitHub operations (create/list/view/merge PRs, manage issues, run workflows), and delta to render colorized, side-by-side diffs. It responds to common triggers like stage changes, create/review PR, run git diff, interactive commits, rebase, stash, bisect, and other GitHub operations. Commands and key bindings are provided so you can move from staging to PR creation to merging without leaving the terminal.

When to use it

  • Stage and review hunks or files interactively before committing
  • Create, view, checkout, or merge pull requests directly from the terminal
  • Inspect diffs with syntax highlighting and side-by-side views
  • Clean up commit history via interactive rebase before merging
  • Temporarily save work with stash or recover lost commits via reflog
  • Hunt regressions using git bisect or work in parallel with worktrees

Best practices

  • Use lazygit for quick interactive staging and to avoid accidental large commits
  • Set delta as your core.pager for consistent, readable diffs across commands
  • Create concise PR titles and descriptive bodies with gh pr create --title/--body
  • Rebase locally and test before pushing to keep a linear history when appropriate
  • Use stash with clear messages and drop/pop regularly to avoid forgotten stashes
  • Leverage gh pr checkout to test PRs locally and gh pr merge --squash for tidy history

Example use cases

  • Open lazygit to stage selected files, write an interactive commit, then push
  • Run git diff | delta --side-by-side to review a feature branch before a code review
  • Create a pull request from terminal: gh pr create --title "Feature: X" --body "Details"
  • Recover a lost commit with git reflog, then cherry-pick or create a new branch
  • Start a bisect session to isolate a regression: git bisect start / bad / good

FAQ

Do I need to install all three tools to use the skill?

Yes—lazygit, gh, and delta are the primary tools. The workflows are most productive when all are available, but individual commands still work if one is missing.

How do I set delta as my default diff pager?

Run git config --global core.pager delta to make delta the default pager for git commands that produce diffs.