name: dart-merge-pr description: "DART Merge PR: monitor CI and merge a ready PR"
dart-merge-pr
Use this skill in Codex to run the DART dart-merge-pr workflow. The editable
workflow source currently lives in .claude/commands/, and this generated
Codex skill is a first-class Codex entrypoint.
Invocation
- Claude Code/OpenCode:
/dart-merge-pr <arguments> - Codex:
$dart-merge-pr <arguments>
Treat the text after the skill name as $ARGUMENTS. When the workflow
references $1, $2, etc., map those to the positional values supplied by the
user.
Command Body
Monitor and merge PR after explicit maintainer/user approval: $ARGUMENTS
Required Reading
@AGENTS.md @docs/onboarding/ci-cd.md @docs/onboarding/contributing.md @docs/onboarding/testing.md
Workflow
- Resolve PR number, repository, base branch, head branch, and head SHA.
- Verify PR state:
gh pr view <PR> --json state,isDraft,mergeable,mergeStateStatus,reviewDecision,headRefOid,title,url gh pr checks <PR> --json name,state,bucket,link,workflow - Run local pre-merge validation on the current head after the latest pushed
change:
pixi run test-allandpixi run -e cuda test-all. Do not substitute the default-environment run for the CUDA-environment run; if CUDA cannot execute, record that command's skip or blocker explicitly. - If any required check is pending, watch quietly until it passes or fails.
- If any local validation or hosted check fails, use
/dart-fix-cior$dart-fix-ci; do not merge. - Confirm merge method from repository settings. DART uses squash/rebase, not merge commits.
- Ask for explicit maintainer/user approval before any merge action.
- Merge only after that approval, when local validation and hosted checks are green, the PR is not draft, and GitHub reports it mergeable.
- Use the current head SHA when merging so a moved branch cannot be merged accidentally.
- For squash merges, use the recent DART title convention:
- commit title:
<PR title> (#<PR number>) - no agent prefix
Notes
- If GitHub reports
BEHINDbutmergeable=MERGEABLEand required checks are green, do not update the branch without explicit maintainer/user approval just to make it current. - Recent DART human-authored PRs use single-parent squash commits with the exact PR title plus
(#number). - Branch deletion is handled by repo settings unless the user explicitly asks for manual cleanup.
Output
- Local validation state for
pixi run test-allandpixi run -e cuda test-all - Final CI state
- Merge method and merge commit SHA
- Whether the PR is merged or what blocks it