ship-check-merge-readinesslisted
Install: claude install-skill skowalskidev/dotclaude
# Check merge readiness — assemble onto current master, own only your scope
The failure this prevents: a PR that is green in isolation but does not compose. It branched
off an old master, a sibling PR merged the engine it depends on, and once both land they
disagree — or it silently needs a change in someone else's PR that nobody tracked. "My tests
pass" is not "the assembled system works."
The end state you are checking for: **every open PR involved, once merged onto today's master,
works together — nothing missing, nothing double-owned, and every cross-owner gap is tracked
and flagged as blocking.**
## Step 1 — Establish the real current state (never trust the branch in isolation)
- `git fetch origin` and resolve **current** master (`git rev-parse origin/master`). The PR's
own merge-base is usually stale; that staleness is the whole problem.
- List the PR, its stack (base chain), and **every open PR it needs, depends on, or influences**
— the ones that touch the same subsystem, the same hot files, or a contract it consumes.
`gh pr list`, plus read the PR's own "Coordination"/"depends on" notes and the ticket.
- For each, record: merged-or-open, what it changed, and whether it is on master yet.
## Step 2 — Draft the PR, then rebase onto up-to-date master, resolve for correctness
- **Draft it before you touch it.** The moment you start reshaping a PR — rebasing, editing the
body, re-implementing onto master — convert it (and every PR in the stack you will touch)