Sync git-branchless stack with main branch - fetch, rebase, and handle merges
55
58%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./plugins/git-workflow/skills/bl-sync/SKILL.mdCategory: Git Workflow
Sync your commit stack with the main branch. Fetches remote changes, rebases your stack, and handles post-merge cleanup.
/bl-sync [options]| Option | Description |
|---|---|
| (none) | Sync with local main branch |
--pull | Fetch remote + sync with updated main |
--after-merge | Clean up after a PR was merged |
# Sync with local main
/bl-sync
# Fetch and sync (most common)
/bl-sync --pull
# After your PR was merged on GitHub
/bl-sync --after-mergeThis command delegates to the bl-sync-expert agent:
Task(subagent_type="git-workflow:bl-sync-expert",
prompt="Execute sync: <options>")Verify Prerequisites
Show Current State
git sl to display the stackExecute Sync
git syncgit sync --pullgit pull origin main then git moveHandle Conflicts
git rebase --continueRemind About PRs
git submit to update PRsConfirm Result
git slUser: /bl-sync --pull
Agent: Fetching and syncing with main...
Fetching from origin...
remote: Counting objects: 5, done.
Current stack:
◆ old-main (main) old commit
┃
◯ abc123 feat: add User class
┃
● def456 feat: add validation
Syncing onto updated main...
[1/2] feat: add User class - ✓
[2/2] feat: add validation - ✓
◆ new-main (main) teammate's feature ← Updated
┃
◯ xyz789 feat: add User class
┃
● uvw012 feat: add validation
Stack synced! 2 commits rebased onto updated main.
Note: Run `git submit` to update your PRs.User: /bl-sync --after-merge
Agent: Cleaning up after PR merge...
Pulling latest main...
Already up to date with merge commit.
Current state:
◆ merge123 (main) Merge pull request #1
┃
✕ old-abc feat: add User class (merged)
┃
◯ def456 feat: add validation ← Needs moving
┃
● ghi789 feat: add repository
Moving remaining commits onto merge...
git move -s def456 -d merge123
◆ merge123 (main) Merge pull request #1
┃
◯ new-def feat: add validation ← Moved
┃
● new-ghi feat: add repository
Cleanup complete!
Next steps:
1. Recreate branch: git switch -c pr/validation
2. Push to remote: git submit -c @
3. Update PR base branch on GitHubUser: /bl-sync --pull
(with conflicts)
Agent: Fetching and syncing with main...
Syncing onto updated main...
[1/2] feat: add User class - ✓
[2/2] feat: add validation - CONFLICT
Conflict in: src/validation.py
<<<<<<< HEAD
def validate_email(email):
# teammate's version
=======
def validate_email(email):
# your version
>>>>>>> feat: add validation
To resolve:
1. Edit src/validation.py - choose correct version
2. git add src/validation.py
3. git rebase --continue
Or to abort: git rebase --abort| Error | Resolution |
|---|---|
| Dirty working directory | Prompt to commit or stash |
| No remote configured | Suggest git remote add origin <url> |
| Conflicts during sync | Guide through resolution |
| Lost commits | Use git undo -i to recover |
0ebe7ae
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.