Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
akillness avatar

Git Workflow

  • 23 installs
  • 40 repo stars
  • Updated August 4, 2026
  • akillness/skills-template

Git Workflow is a skill that routes local Git work - branching, staging, commit cleanup, merge-vs-rebase, conflict resolution, lease-safe pushes, and recovery - into the safest next move.

About

Git Workflow is a skill that routes local Git work into the safest next move. A developer uses it to prepare a branch, clean up commits, choose between merge and rebase, resolve local conflicts, push rewritten history safely, or recover lost commits. It normalizes the Git intake, picks one workflow mode, and recommends the smallest reversible fix using a safety ladder.

  • Routes local Git work into the safest next move across branching, staging, commit cleanup, and merge-vs-rebase
  • Covers conflict resolution, lease-safe pushes, and recovery from resets or bad history edits
  • Applies a safety ladder and prefers the smallest reversible fix

Git Workflow by the numbers

  • 23 all-time installs (skills.sh)
  • Ranked #377 of 733 Git & Pull Requests skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

git-workflow capabilities & compatibility

Capabilities
git workflow · commit cleanup · conflict resolution · git recovery
Works with
github · gitlab
Use cases
refactoring
Pricing
Free
From the docs

What git-workflow says it does

Use this skill as the repo's **routing-first local Git collaboration and recovery anchor**.
SKILL.md
Prefer `git push --force-with-lease`, never raw `--force`, after intentional history rewrites.
SKILL.md
npx skills add https://github.com/akillness/skills-template --skill git-workflow

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs23
repo stars40
Last updatedAugust 4, 2026
Repositoryakillness/skills-template

What it does

Pick the safest next Git move - branch, commit cleanup, merge/rebase, conflict fix, safe push, or recovery.

Who is it for?

Local repository state work when the Git CLI is available: branch shape, index cleanup, history edits, sync decisions, conflict handling, and recovery.

Skip if: Hosted PR review, repo administration, sprint planning, code-architecture judgment, or bug root-cause.

When should I use this skill?

You need to prepare or clean a branch, choose merge vs rebase, resolve conflicts, push rewritten history safely, or recover lost commits.

What you get

The smallest reversible Git fix for the current local state, chosen via a safety ladder.

  • A recommended Git command packet for the safest next move

By the numbers

  • Six Git workflow modes
  • Safety ladder starts with three status checks

Files

SKILL.mdMarkdownGitHub ↗

Git Workflow

Use this skill as the repo's routing-first local Git collaboration and recovery anchor.

The job is not to teach all of Git. The job is to:

  • identify the current local Git state quickly,
  • choose one safe workflow mode,
  • recommend the smallest reversible fix that solves the problem,
  • keep boundaries to review, debugging, planning, and hosted PR workflows explicit.

Read these references when the case gets sharp-edged or the user needs more than the brief:

  • references/collaboration-boundaries.md
  • references/mode-selection-and-command-packets.md
  • references/recovery-patterns.md

If the main need is:

  • reviewing a diff for correctness, architecture, or security → route to code-review
  • reproducing or diagnosing a bug/regression → route to debugging
  • planning tasks, acceptance criteria, or sprint slices → route to task-planning
  • Aider 기반 AI pair-programming 편집 루프 운영 → route to aider-cli-workflow
  • hosted PR lifecycle, branch protection, reviewers, labels, or repo settings → use a dedicated PR/repo-management workflow

When to use this skill

  • Create, rename, or clean up a branch before coding or review
  • Stage changes selectively and shape reviewable commits
  • Decide whether to merge or rebase onto an updated base branch
  • Resolve merge/rebase conflicts safely
  • Push a branch, set upstream, or update rewritten history with --force-with-lease
  • Recover from a bad reset, wrong-branch commit, detached HEAD, dropped commit, or messy rebase
  • Prepare a clean diff before a later PR or review step

When not to use this skill

  • The real question is whether the code or architecture is good
  • The real question is how to split or sequence the work
  • The real question is root cause, not Git mechanics
  • The real question is hosted-service workflow instead of local repository state
  • The user wants a giant Git tutorial instead of the next safe move

Instructions

Step 1: Normalize the local Git intake

Classify the request before suggesting commands.

git_intake:
  current_goal: branch-setup | commit-shaping | sync-with-base | conflict-resolution | push-safety | undo-recovery | history-inspection | unknown
  branch_state: clean | has-unstaged-changes | staged-only | ahead-of-origin | behind-origin | diverged | detached-head | unknown
  collaboration_risk: solo-branch | shared-branch | unknown
  remote_context: no-remote | origin-only | fork-plus-upstream | unknown
  trigger_event:
    - need-clean-commits
    - rebased-branch
    - merge-conflict
    - wrong-branch-commit
    - accidental-reset
    - rejected-push
    - lost-commit
    - prepare-for-review
    - sync-main
    - unclear
  preferred_history: keep-linear | preserve-merge-context | unknown
  confidence: high | medium | low

If the packet is incomplete, choose the safest reasonable next move and state the assumptions.

Step 2: Choose one primary workflow mode

Pick exactly one mode:

1. branch-and-stage hygiene — branch creation/switching, staging, stash-or-clean decisions 2. commit-shaping — amend, fixup, reword, interactive rebase, cleaner review units 3. sync-with-base — fetch + merge/rebase choice when the branch must catch up 4. conflict-resolution — merge/rebase already produced conflicts; the next safe loop matters most 5. push-safety — upstream setup, rejected pushes, diverged branches, rewrite-safe pushes 6. undo-and-recovery — reset/rebase/amend/checkout/branch deletion went sideways; rescue first

Step 3: Use the safety ladder

Always prefer these checks before irreversible actions:

  • git status
  • git branch --show-current
  • git log --oneline --decorate -5

Core rules:

  • Prefer git add -p or explicit staging when commit boundaries matter.
  • Prefer amend or interactive rebase only on local or safely rewritable history.
  • Prefer rebase when the branch is mostly yours and a cleaner review history helps.
  • Prefer merge when the branch is shared or preserving integration context matters more than linear history.
  • Prefer git push --force-with-lease, never raw --force, after intentional history rewrites.
  • Prefer git revert over reset --hard when the bad commit is already shared.
  • Prefer git reflog and a rescue branch before panic cleanup.

Step 4: Apply the decision ladder

Use these callouts explicitly:

Merge vs rebase
  • Use rebase when rewrite risk is low and reviewable linear history matters.
  • Use merge when the branch is shared, integration context matters, or rewrite risk is not worth it.
Revert vs reset
  • Use revert for collaborative undo on already-pushed history.
  • Use reset only when rewriting local history intentionally.
  • Use restore / checkout of files when the worktree/index needs repair more than the branch history.
Normal push vs --force-with-lease
  • Use normal push when history was not rewritten.
  • Use `--force-with-lease` after rebase, amend, squash, or another intentional rewrite.
  • If the branch may be shared and the remote state is unclear, stop and name the collaboration risk.

Step 5: Build the Git Workflow Brief

Return this exact structure:

# Git Workflow Brief

## Recommended mode
- Mode: branch-and-stage hygiene | commit-shaping | sync-with-base | conflict-resolution | push-safety | undo-and-recovery
- Why this mode fits: ...

## Current state
- Branch: ...
- Worktree / index state: ...
- Remote context: ...
- Collaboration risk: solo-branch | shared-branch | unknown
- Confidence: high | medium | low

## Safest next move
1. ...
2. ...
3. ...

## Commands

...


## Why this is the safe path
- ...
- ...

## Watch-outs
- ...
- ...

## Recovery fallback
- If this goes wrong, use ...

## Adjacent handoff
- Use `code-review` when ...
- Use `debugging` when ...
- Use `task-planning` when ...

Step 6: Use concise mode packets

  • branch-and-stage hygiene — branch name, dirty/clean state, selective staging, stash only when it lowers risk
  • commit-shaping — reviewable commit units, amend/fixup/rebase only when rewrite is safe
  • sync-with-base — fetch first, decide merge vs rebase explicitly, name rewrite risk before starting
  • conflict-resolution — inspect → resolve → git add → continue/commit, with abort as the calm fallback
  • push-safety — distinguish upstream creation, normal push, rejected push, and rewritten-history push
  • undo-and-recovery — identify what moved, inspect reflog, create a rescue branch, prefer reversible steps first

Use the detailed command packets in references/mode-selection-and-command-packets.md when you need the expanded workflow.

Step 7: Keep boundaries sharp

Before finalizing:

  • Do not turn this into a hosted PR tutorial.
  • Do not pretend every branch should be rebased.
  • Do not recommend reset --hard casually without naming the data-loss risk.
  • Do not hide the solo-vs-shared branch distinction.
  • Do not drift into code-review judgment, root-cause analysis, or backlog design.

Output format

Always return a compact Git Workflow Brief, not a giant command dump.

Required qualities:

  • choose one mode
  • state the collaboration risk
  • prefer the safest reversible path that solves the current problem
  • make rewrite risk explicit
  • include a recovery fallback when the commands have teeth
  • keep routing boundaries to review, debugging, planning, and hosted PR workflows visible

Examples

Example 1: rebased branch needs safe push

Input

I rebased my feature branch onto main and now I need to push it without overwriting teammates.

Output sketch

  • Mode: push-safety
  • State whether the branch looks solo or shared
  • Recommend git push --force-with-lease origin <branch> only if rewrite is expected
  • Watch-out warns against raw --force

Example 2: clean up local commits before review

Input

Help me turn these messy local commits into something clean before review.

Output sketch

  • Mode: commit-shaping
  • Suggest explicit staging plus git rebase -i or git commit --amend
  • Keep the goal focused on reviewable commit units, not review comments themselves

Example 3: wrong-branch reset panic

Input

I think I hard-reset the wrong branch. Can Git recover this?

Output sketch

  • Mode: undo-and-recovery
  • Start with git reflog
  • Create a rescue branch from the pre-reset SHA before further cleanup
  • Explain when to stop and avoid more destructive commands

Example 4: request is really PR review

Input

Review this PR and tell me if the architecture is okay.

Output sketch

  • Route away from git-workflow
  • Explain that local Git prep is not the main problem here
  • Hand off to code-review

Best practices

1. Inspect before surgery. Status, branch, and recent log beat guesswork. 2. Prefer reviewable commits over giant snapshots. Commit shape affects review quality. 3. Treat history rewrites as collaboration decisions, not personal preferences. Shared branches change the answer. 4. Use `--force-with-lease`, not raw `--force`. Rewrite safely or do not rewrite. 5. Reach for `reflog` early in recovery. Lost commits are often only misplaced pointers. 6. Choose the smallest safe fix. Not every problem needs branch surgery. 7. Route out when the problem changes. Review, debugging, planning, and hosted PR work stay separate.

References

  • references/collaboration-boundaries.md
  • references/mode-selection-and-command-packets.md
  • references/recovery-patterns.md
  • Git documentation — https://git-scm.com/docs
  • GitHub Docs, Resolving merge conflicts after a Git rebase — https://docs.github.com/en/get-started/using-git/resolving-merge-conflicts-after-a-git-rebase
  • GitLab Docs, Resolve conflicts from the command line — https://docs.gitlab.com/topics/git/git_rebase/#resolve-conflicts-from-the-command-line

Related skills

FAQ

What Git workflow modes does this skill cover?

branch-and-stage hygiene, commit-shaping, sync-with-base, conflict-resolution, push-safety, and undo-and-recovery.

How does it avoid destructive Git mistakes?

It uses a safety ladder - status/branch/log checks first, force-with-lease over raw force, revert over reset --hard on shared history, and reflog before panic cleanup.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.