remotion-dev/update-from-upstream-main
Update the current Remotion branch with the latest canonical main branch. Use when asked to update or sync from upstream main, merge the latest main into a feature branch, fast-forward local main, or bring a pull request branch up to date without rewriting published history.
npx skills add https://github.com/remotion-dev/remotion --skill update-from-upstream-main
Update from the canonical remotion-dev/remotion repository while preserving local work and published branch history.
git status --short --branch
git branch --show-current
git remote -v
Stop and report the state if the current checkout is detached or an operation such as a merge or rebase is already in progress.
If the working tree contains staged, unstaged, or untracked changes, stash them automatically before continuing:
git stash push --include-untracked --message "update-from-upstream-main: preserve local changes"
git rev-parse stash@{0}
Record the created stash's commit ID so the same entry can be restored later. Verify that the working tree is clean before fetching. If stashing fails or leaves changes behind, stop without starting the update. Do not include ignored files unless the user explicitly asks.
remotion-dev/remotion. Prefer upstream when it exists; otherwise use origin. If neither remote points to the canonical repository, stop and ask before adding or changing a remote. git fetch <canonical-remote> main
main, require a fast-forward: git merge --ff-only <canonical-remote>/main
git merge --no-edit <canonical-remote>/main
Do not rebase, reset, or force-push. A merge keeps published branch history intact and can be pushed normally.
ours or theirs across the entire merge. Check every resolved file for leftover conflict markers before staging: rg -n '^(<{7}|={7}|>{7})' -- <resolved-files>
Inspect and remove any matches that are conflict markers. Then stage only the resolved files and finish the merge with:
git commit --no-edit
git stash apply --index <recorded-stash-commit>
Reapply the stash before reporting success or before stopping after a fetch or merge failure, provided no Git operation is still in progress. If applying the stash causes conflicts, resolve them deliberately without rerunning git stash apply. The stash entry remains as a recovery copy. After confirming that all stashed changes, including untracked files and their staged state, were restored, find the entry with the recorded commit ID in git stash list --format='%gd %H' and drop only that entry. Never pop or drop a pre-existing stash.
git diff --check and git diff --cached --check. If conflicts were resolved or the combined changes could affect behavior, run the relevant package tests. For broad changes, run: bun run build
bun run stylecheck
git push <canonical-remote> HEAD
Never force-push.
Take remotion-dev/update-from-upstream-main from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.