pulllisted
Install: claude install-skill kbrovibes/bro-toolkit
# pull
Bring the current git checkout up to date with its upstream — without losing local work or stomping a half-finished rebase.
## When to use
Trigger this skill when the user asks to:
- "pull", "/pull"
- "rebase against main/origin"
- "update this checkout"
- "sync with upstream"
If you're not in a git repo, say so and stop.
## What to do
Run these checks **in order**. Stop and report at the first failure — never push through.
1. **Confirm git repo.** `git rev-parse --git-dir` — if it fails, say "not a git repo" and stop.
2. **Confirm clean-enough working tree.** `git status --porcelain` — if any output, decide:
- Untracked files only: fine, proceed.
- Modified/staged files: tell the user, then proceed with `--autostash`.
- Unresolved merge/rebase markers (`<<<<<<<`): **stop** and tell the user to resolve first.
3. **Check current branch.** `git symbolic-ref --short HEAD` — if detached HEAD, stop and say so.
4. **Check upstream is set.** `git rev-parse --abbrev-ref --symbolic-full-name @{u}` — if missing, ask the user which remote/branch to pull from (don't guess).
5. **Pull with rebase + autostash:** `git pull --rebase --autostash`.
6. **Summarize.** Report: starting commit → ending commit (short SHAs), number of commits applied, any auto-stash that was reapplied.
## What not to do
- Don't `git pull` without `--rebase` — the user wants linear history.
- Don't `git reset --hard` to "recover" from a failed rebase. Stop and tell the user.
- Don't push.
-