shiplisted
Install: claude install-skill melchimaelran/pact
# ship — commit, PR, merge
See [`workflow-map.md`](../../references/workflow-map.md). GitHub links are by the
frontmatter `issue:` number, never by matching titles.
**No AI references** in any commit, PR body, issue comment, or branch name —
enforced by the `no-ai-guard` hook while this skill runs. Absolute.
## Phase 0 — schema gate
`pact schema --gate`. Exception: a standalone commit in a repo with no `.pact/`
is not a PACT project — just commit.
## Mode
- `--abandon SP-id` -> set that spec back to `status: planned`, delete its
`spec/<id>` branch and any worktrees, free the active-spec lock, regenerate
views. Stop.
- `--to-issues` -> publish the active plan to GitHub Issues (`--mode` =
`feature` | `epics` | `stories`, default `epics`); write each created number
into story/epic frontmatter `issue:`. Re-runnable; never creates twice. Stop.
- default -> **ship the active spec** (below).
## Phase 1 — pre-check
- The active spec's stories are all `status: done`.
- If `review_gate` is on: `pact review` returned PASS for the current
spec-branch SHA.
- Current branch is `spec/<id>-<slug>` (or check it out).
## Phase 2 — preflight
If `[workflow].preflight` is on: `sha=$(git rev-parse HEAD)`. If
`pact green check spec/<id> $sha` succeeds -> skip with
"already verified at `<sha>`". Otherwise `pact env lint` + `pact env test`;
`pact green record` on green.
## Phase 3 — commit
Per-story commits already exist (from `build`). Make a final synthesis commit only
if ther