← ClaudeAtlas

shiplisted

Publish reviewed work — verify the branch's commit series, push it, and open one focused pull request. Use to push, open a PR, or land finished work. Not for writing the code or its commits (`codify`), or running the reviews (`validate`); it assumes an already-reviewed, already-committed branch.
jwogrady/spark · ★ 0 · Code & Development · score 66
Install: claude install-skill jwogrady/spark
# ship — Stage 5 of the Spark lifecycle `Ideate → Plan → Codify → Validate → Ship` Ship publishes work that already exists: the implementation commits belong to [`codify`](../codify/SKILL.md) and the review-fix commits to [`validate`](../validate/SKILL.md), so by Ship the branch tells its story already. Ship verifies that series, pushes, and opens one focused PR. The motion is the same whatever the branch is — an issue branch or a temporary integration branch (the delivery ADR's exception pattern) publishes identically. ## Do this 1. **Confirm the branch.** Never commit or push on `master`/`main` — if you're on it, branch first. Confirm the change passed [`validate`](../validate/SKILL.md). 2. **Review the commit series.** `git log --oneline <trunk>..HEAD` — each commit a coherent Conventional Commit, the series scoped to this one issue. Two concerns in the series means the branch should split before it ships. 3. **Sweep the tail.** `git status` — a clean tree ships as-is. A small coherent remainder (close-out edits, a final doc touch) becomes one last focused commit: ``` <type>: <imperative subject, under 72 chars, no trailing period> <body: why this change exists, not a restatement of the diff> ``` A large uncommitted tail means Codify/Validate skipped their commit steps — commit it as the focused series it should have been, not one blob. 4. **Push** the branch: ```bash git push -u origin <branch> ``` 5. **Open the PR** into the