← ClaudeAtlas

shiplisted

Use when work is ready to leave the branch — when the user says "ship", "potion ship", "create the PR", "get this merged", or "push this up".
Ian-Louw/potion · ★ 1 · AI & Automation · score 74
Install: claude install-skill Ian-Louw/potion
# Potion Ship Inherit `${CLAUDE_PLUGIN_ROOT}/core/CORE.md`. Ship = merge base in, prove it still works, package it honestly, PR. **Emission contract — the ship checklist, in order:** VERIFICATION.md `verdict: pass` and fresh (the gate does not negotiate); base merged, tests re-run POST-merge; merge-specs.sh applied — nonzero exit BLOCKS ship, the human resolves; changelog cross-checked so every branch commit maps to a bullet; version bumped if the project versions; the PR carries evidence and publishing stays human-gated — never force-push, never skip hooks; STATE.md and PROJECT.md updated. Before finishing, re-read the emitted PR body and changelog against this block; fix in place, or regenerate — at most once. ## Steps 1. **Gate.** The phase's VERIFICATION.md must have `verdict: pass` (or every open gap listed in its `accepted` frontmatter — an acceptance is valid ONLY if it records an explicit user statement (who + date + their words or a paraphrase). You may PROPOSE accepting a gap; only the user accepts. Self-recorded acceptance is a gate violation, not a shortcut.) **Staleness check:** compare `verified_at` against the newest commit touching non-`.potion` files — any code commit after verification means the verification describes code that no longer exists → re-run /potion:verify. No verification at all → run /potion:verify first. This gate does not negotiate. 2. **Sync.** Detect the base branch, merge it in, resolve conflicts. Re-run the