merge

$npx mdskill add remotion-dev/remotion/merge

Shepherds a Remotion pull request through CI checks and merges it.

  • Solves getting a PR merged when checks fail or conflicts arise.
  • Depends on GitHub CLI and the pr-ready and flake skills.
  • Distinguishes genuine CI failures from flakes by inspecting logs.
  • Reruns flaky checks, resolves conflicts, then merges the PR.

SKILL.md

.github/skills/mergeView on GitHub ↗
---
name: merge
description: Wait for a Remotion pull request to become mergeable, handle merge conflicts, distinguish genuine CI failures from flakes, rerun flaky checks through the flake skill, and merge the PR. Use when asked to run /merge, merge a current PR after checks pass, or shepherd a Remotion PR through CI to merge.
---

# /merge

Use this skill for an existing pull request in the Remotion monorepo.

## Loop

Start from the top after every pushed fix, conflict resolution, CI rerun, or other state change:

1. Identify the PR:

```bash
gh pr view --json number,url,state,isDraft,baseRefName,headRefName,mergeable,mergeStateStatus,reviewDecision,statusCheckRollup
```

2. If the PR is draft, closed, blocked by requested changes, missing required approval, or otherwise not eligible to merge for a non-CI reason, stop and report the blocker.

3. If GitHub reports merge conflicts, resolve them using the [`pr-ready`](../pr-ready/SKILL.md) workflow. Commit and push the resolution when needed, then start this loop from the top.

4. Wait for checks:

```bash
gh pr checks --watch --interval 30
```

5. If all required checks pass and the PR is mergeable, merge it:

```bash
gh pr merge --merge --delete-branch
```

If the repository or PR clearly requires another merge method, use that method instead.

## CI Failures

When checks fail, inspect the failed jobs and logs before deciding what to do:

```bash
gh pr checks --watch=false
gh run view <run-id> --json databaseId,status,conclusion,url,jobs
gh run view <run-id> --log-failed
```

If it is a genuine CI failure:

1. Fix the underlying issue locally, using the [`pr-ready`](../pr-ready/SKILL.md) workflow when helpful.
2. Run the targeted local checks, plus broader checks when the change has broad impact.
3. Commit and push the fix.
4. Start the loop from the top.

If it is a CI flake:

1. Use the [`flake`](../flake/SKILL.md) skill in this monorepo.
2. Rerun the failed flaky job or failed jobs as directed by that skill.
3. Start the loop from the top.

More from remotion-dev/remotion

SkillDescription
add-bugAdd a new Remotion bug entry to packages/bugs/api/[v].ts. Use when the user describes a bug and affected Remotion versions that should be surfaced through the bugs API.
add-cli-optionAdd a new Remotion CLI or config option by creating an AnyRemotionOption, registering CLI parsing, wiring config setters, and updating documentation. Use when adding or converting command-line flags or Remotion options.
add-effectAdd a new effect to @remotion/effects, including implementation, package exports, docs, demos, preview images, Remotion skill updates, formatting, and builds.
add-expertAdd a new expert to the Remotion experts page
add-new-packageAdd a new package to the Remotion monorepo, including package scaffolding, monorepo registration, documentation, build scripts, and release checklist updates. Use when creating a new @remotion package.
add-sfxAdd a new sound effect to @remotion/sfx
add-webcodecs-bugAdd a browser WebCodecs bug to the Remotion Mediabunny WebCodecs bugs docs page. Use when given a Chromium, WebKit, or Firefox issue URL that should be tracked in packages/docs/docs/mediabunny/webcodecs-bugs.mdx, especially when needing to look up the issue title, filing date, reporter, and resolution state before editing the MDX table.
canvas-capture-extensionRebuild, install, and reload the private Remotion Canvas Capture unpacked Chrome extension. Use when the extension needs to be restored after a Codex worktree was deleted, rebuilt after source changes, moved to its durable install directory, or reloaded in Chrome or Chrome Canary.
checkoutCheckout a requested branch or ref in the Remotion repo, rename the current task to the associated PR title when running in Codex, then install dependencies and build. Use when the user asks to checkout a ref and prepare the workspace.
convertStart the local @remotion/convert app and open it in the Codex browser. Use when the user invokes /convert or $convert, asks to launch convert.remotion.dev locally, or wants to inspect the Convert package UI.