← ClaudeAtlas

synclisted

Update the current feature branch with the latest changes from its base branch (rebase by default, merge when asked). TRIGGER when the user says "sync with main", "update my branch", "rebase on main", "catch up with main", "pull in main", "bring this branch up to date", "merge main into this branch", "/nyann:sync". Trigger on "resolve conflicts" only when the user specifically ties it to syncing — otherwise that's a manual resolve. Do NOT trigger on "pull" alone (that's a different operation for updating main itself). Do NOT trigger on main/master/develop — those are long-lived branches and sync-skill refuses them. Do NOT trigger on commit / push / PR — those are separate skills.
thettwe/nyann · ★ 6 · Code & Development · score 71
Install: claude install-skill thettwe/nyann
# sync Wraps `bin/sync.sh`. Rebases (or merges) the current feature branch onto its base, after a clean-tree + branch-safety check. ## 1. Pre-flight (the script does these; your job is to interpret them) - **Not a git repo** (exit 2) → tell the user; stop. - **Detached HEAD / main / master / develop** (exit 2) → refuse with a clear message; suggest switching to a feature branch first (`/nyann:branch` creates one). - **Dirty working tree** (status=`dirty` in JSON) → stop and tell the user to commit or stash first. Don't silently stash on their behalf — `git stash` is a footgun when the rebase also conflicts. ## 2. Choose strategy Default to `rebase`. Use `merge` when: - The user explicitly says "merge" (not "rebase"). - The profile's branching strategy is `gitflow` and the target base is `develop`/`main` (shared long-lived branches — some teams ban rebase on these). - The branch has already been pushed to a shared remote and has open PRs (rebasing rewrites history; merges don't). If unclear, **you MUST call the `AskUserQuestion` tool** (not plain text): ```json { "questions": [ { "question": "How should upstream changes be integrated?", "header": "Strategy", "multiSelect": false, "options": [ { "label": "Rebase (Recommended)", "description": "Keeps history linear; replays your commits on top of base" }, { "label": "Merge", "description": "Preserves original commits; adds a merge commit" } ] } ] } `