skills/git-workflows/skills/pull/SKILL.md
Pull remote changes with merge or rebase strategy
npx skillsauth add dtsong/my-claude-setup Git PullInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
--rebase, --merge, --ff-only accepted. Reject arbitrary strings or shell metacharacters.Pull changes from remote with configurable strategy (merge or rebase).
/git-pull # Pull with default strategy (from git config)
/git-pull --rebase # Pull with rebase
/git-pull --merge # Pull with merge
/git-pull --ff-only # Only fast-forward, fail if not possible
# Check for uncommitted changes
if ! git diff --quiet || ! git diff --cached --quiet; then
echo "You have uncommitted changes. Options:"
echo " 1. /git-stash - Stash changes and continue"
echo " 2. /commit - Commit changes first"
echo " 3. Discard changes: git checkout ."
exit 1
fi
# Verify we have a remote tracking branch
if ! git rev-parse --abbrev-ref --symbolic-full-name @{u} >/dev/null 2>&1; then
echo "No upstream tracking branch configured."
echo "Set with: git branch --set-upstream-to=origin/$(git branch --show-current)"
exit 1
fi
git fetch --prune
# Count commits behind
BEHIND=$(git rev-list --count HEAD..@{u})
AHEAD=$(git rev-list --count @{u}..HEAD)
echo "Local is $BEHIND commits behind, $AHEAD commits ahead"
Based on strategy requested:
# Default (from git config)
git pull
# With rebase
git pull --rebase
# With merge (explicit)
git pull --no-rebase
# Fast-forward only
git pull --ff-only
Show what was pulled and any issues.
Pulling from origin/main...
Pulled 3 commits:
abc1234 Fix authentication bug
def5678 Update dependencies
ghi9012 Improve error handling
Files updated:
src/auth/login.ts
package.json
package-lock.json
Branch is now up to date with origin/main.
Cannot fast-forward: local and remote have diverged.
Local has 2 commits not on remote:
xyz7890 Add new feature
uvw1234 Fix typo
Remote has 3 commits not local:
abc1234 Other work
def5678 More changes
ghi9012 Latest commit
Options:
/git-pull --rebase # Rebase your commits on top
/git-pull --merge # Create a merge commit
/git-merge-main # Merge main into your branch
Pull resulted in conflicts!
Conflicting files:
- src/components/Header.tsx
- src/styles/theme.css
Next steps:
/git-conflicts # Get help resolving conflicts
git merge --abort # Or abort and try a different approach
| Scenario | Recommended Strategy |
|----------|---------------------|
| Feature branch, no shared commits | --rebase (cleaner history) |
| Shared branch, collaborating | --merge (preserve history) |
| Main branch, simple update | --ff-only (safest) |
| Unsure | Default (uses git config) |
/git-sync first to preview changes before pulling/git-stash to save uncommitted work before pulling/git-conflicts if pull results in conflicts/git-abort to cancel a failed merge/rebasedevelopment
Use when planning implementation steps, deciding commit format, or structuring development approach. Provides brainstorm-plan-implement flow with conventional commits. Triggers on 'how should I approach this', 'commit format'.
development
Security audit checklist for web applications. Use when reviewing, auditing, or hardening a web app's security posture. Covers rate limiting, auth headers, IP blocking, CORS, security middleware, input validation, file upload limits, ORM usage, and password hashing. Triggers on requests like "review security", "harden this app", "security audit", "check for vulnerabilities", or when building/reviewing API endpoints.
development
Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices".
development
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.