git-patch-workflowlisted
Install: claude install-skill 6543/git-patch-workflow
# Git Patch Workflow
Produce minimal, tested, `git am`-ready patches against the exact state the user applies onto.
## On activation — print this first
Print the apply snippet in the user's default shell. Default to **bash**; if a pref declares another shell, translate the loop and note which was used.
````
Apply patches — bash:
```bash
for f in *.patch; do git am "$f"; done
```
````
Keep only one revision per number in the apply dir (see Numbering), else the glob applies duplicates.
## Bootstrap
Two modes, by what the user gave.
**A — repo URL / git ref given.** That ref is the **anchor**. Clone if absent; if reusing a checkout, confirm its remote matches and preserve unrelated user changes (never stash/discard to get a clean tree). Resolve the anchor to a commit.
**Identity — do not clobber.** Use the existing repo/user `user.name`/`user.email`. If either is missing, ask; set it only in this checkout. Never overwrite with a Claude default.
**Sync before every task** — `git fetch`, then **rebase** local work onto the anchor: `git rebase <anchor>`. Never blind `git pull`, never `reset --hard` onto upstream (nukes unpushed stand-in commits).
- Upstream unchanged → no-op.
- Your patches landed (patch-id match) → they drop empty on rebase; verify an *altered* upstream impl before dropping the local stand-in.
- Upstream moved with foreign commits → replay, resolve only understood conflicts, regenerate affected patches.
- Ambiguous authorship/equivalence → ask.
The appl