arthai-marketplace

/ship

Use when the user wants to commit, push, and create a PR in one command. Shortcut for the full ship workflow — stages, commits, pushes, and opens a GitHub PR.

Synopsis

/ship [message]

When to use it

Quickstart

/ship

What you’ll see: a quick revert-safety check, changed files staged, the commit message shown before the commit runs, the branch rebased on latest and pushed, and a final report with the commit subject, files staged, branch, and PR URL — plus a reminder that no local tests ran, so watch CI (/monitor ci or gh pr checks --watch).

Examples

/ship                                  # auto-generate the commit message from the diff
/ship fix flaky retry in webhook poller   # use your text as the commit message

Arguments & flags

Flag Values Default What it does
<message> free text auto-generated Used as the commit message; without it, one is written from the diff in your repo’s commit style

What it does

  1. Revert check — runs /revert-check in advisory mode first. Silent when clean; if it suspects your tree is undoing recently-merged work, it shows the files and asks before proceeding.
  2. Pre-flight — checks git status and the diff. Refuses to run on main — create a feature branch first. On toolkit projects (those with tests/run.sh, like this repo), also requires a fresh .precheck-passed marker from /precheck — missing or stale, and /ship stops with PRECHECK REQUIRED. If the tree is clean, skips straight to push + PR.
  3. Stage and commit — stages relevant files (never .env, .env.local, credentials, coverage.xml, or large binaries) and commits with your message or an auto-generated one matched to recent commit style. The generated message is shown before the commit runs, and every commit is appended with Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>.
  4. Rebase and push — fetches and rebases on the latest default branch (stopping loudly on conflicts — never auto-resolving), then pushes to origin, setting the upstream if needed.
  5. Create the PR — if a PR already exists for the branch, shows its URL; otherwise opens one with a concise title and a Summary + Test plan body.
  6. Final report — commit subject, files staged, branch, and the PR URL (re-fetched as a self-check), plus the CI advisory: no local tests ran, so CI is your only gate.

Output & artifacts

What it deliberately does not do: run QA/lint/tests (use /pr for that), merge the PR, or deploy.

Troubleshooting

Problem Fix
Refuses to run on main git checkout -b my-change and re-run — /ship never pushes to main
PRECHECK REQUIRED error Only on toolkit-shaped projects (repos with tests/run.sh, like claude-agents itself). Run /precheck first — it writes a marker /ship checks for that must be fresh (same commit, less than 30 minutes old)
Rebase conflicts before push /ship stops and shows the instructions — resolve, then git rebase --continue and re-run (or git rebase --abort)
Revert check flags files you deleted on purpose Confirm the changes are intentional when asked, and /ship continues
Pre-commit hook fails The skill fixes the issue, re-stages, and creates a new commit (it never amends)
gh not found or not authenticated Install the GitHub CLI and run gh auth login