mergelisted
Install: claude install-skill ndisisnd/msg
# merge
**The** ship gate. Runs after `/pre-merge` opened a feature→staging PR and takes it the
rest of the way: onto `staging` (tested by a human), then onto `main` (production,
double-confirmed). It is the **only** skill in the harness that merges — eng commits to
feature branches, pre-merge opens PRs. Nothing reaches `main` any other way.
```
pre-merge (PR feature→staging) → merge --staging → (human tests staging) → merge --production → (double-confirm) → PR staging→main → main (live)
```
## Usage
- `/merge --staging [--prd <path>]` — merge the feature→staging PR on green CI, deploy + verify staging, emit a human test script, stamp the sign-off on approval (`refs/staging.md`); `--prd` names the shipped PRD explicitly (else resolved from the PR head branch `feat/prd-<n>-*`)
- `/merge --production [--prd <path>]...` — the double-confirmed release: PR to `prod`, merge, deploy, verify, tag (`refs/production.md`); `--prd` (repeatable) names the PRD(s) this release ships — the release body + the sign-off precondition
- `/merge --production [--bump <major|minor|patch>] [--version <x.y.z>]` — override the release version (default: **minor** bump from the last `v*` tag on prod); the resolved `v<x.y.z>+<build>` is shown in the confirm (`refs/release-identity.md`)
- `/merge --init` — detect ship tooling, interview about the gaps, write `devkit/policy.json`; performs **no** merge, PR, or deploy (`refs/protocol-init.md`)
- `/merge --quiet` / `--status <n>m` — suppress or retune thi