codex-merge-pr
Merge a pull request
Work the steps in order. Codex doesn't provide skill-scoped command hooks, so the scripts enforce the terminal invariants while these instructions keep every mutating command on the sanctioned path. Never run gh pr merge directly.
Left alone, GitHub writes the squash message by concatenating every commit on the branch. That text has never passed a commit-msg hook, and it arrives on the default branch where the rest of the toolchain assumes those hooks ran. Nothing lints it afterwards. This workflow writes the message itself and puts it through what a commit answers to.
Preflight
Run bash .agents/skills/codex-merge-pr/scripts/preflight.sh [number], passing the pull request number when the request names one.
Step 0: open the task list
Create these with update_plan, keeping exactly one item in_progress at a time.