shiplisted
Install: claude install-skill bengous/claude-code-plugins
# Ship
Route to the correct shipping phase based on repo state. The phase files
`setup.md`, `prep.md` and `merge.md` live in this skill's base directory.
## Inputs
- branch: !`git branch --show-current`
- repo: !`git rev-parse --show-toplevel 2>/dev/null || echo "none"`
- pr: !`gh pr view --json number,headRefName 2>/dev/null || echo "none"`
- config: !`cat .shiprc.json 2>/dev/null || echo "none"`
- tools: !`test -x "${CLAUDE_PLUGIN_ROOT}/scripts/prep-pr.ts" && test -x "${CLAUDE_PLUGIN_ROOT}/scripts/git-ship.ts" && echo "ok" || echo "missing"`
## Routing
```
if tools == "missing":
STOP — tell user: prep-pr and/or git-ship not executable.
Run: chmod +x "${CLAUDE_PLUGIN_ROOT}/scripts/prep-pr.ts" "${CLAUDE_PLUGIN_ROOT}/scripts/git-ship.ts"
if repo == "none":
STOP — tell user: not inside a git repository.
if config == "none":
Read setup.md and follow it
(setup hands off to prep.md or merge.md itself — do not continue below)
if pr == "none":
Read prep.md and follow it
else:
Read merge.md and follow it
```
The merge phase detects and resumes an interrupted squash itself (staged
changes plus a `refs/ship-backup/<branch>` ref). Do not short-circuit here.