Skills
ship
Commit, push, and open a PR/MR in one shot — the full git lifecycle via gh or glab.
ship
Commit, push, and open a PR/MR in one shot — the full git lifecycle via the GitHub (gh) or GitLab (glab) CLI, auto-detected from the remote.
What it does
One command from working tree to a PR/MR URL. It picks gh for GitHub remotes and glab for GitLab, detected from git remote get-url origin.
Preflight
git status+git diffto see what's actually changing.- Secret scan the diff before anything leaves the machine — API keys, tokens,
.envcontents, private keys, passwords. If found, STOP and report; do not commit. - Confirm the CLI exists and is authed (
gh auth status/glab auth status). If not, it tells you to run the login yourself and stops.
Commit
- If on the default branch (
main/master), create a feature branch first — never commit straight to it — named from the change (feat/…,fix/…). - Stage intentionally into one or more conventional commits (
feat(scope): …,fix(scope): …,chore(scope): …). Split by type/scope when the change is genuinely mixed; otherwise one clean commit.
Push + open
- Push with upstream:
git push -u origin <branch>. - Open the PR/MR with a value-first description — what changed and why, not a file listing, scaled to the change.
- Print the resulting PR/MR URL.
It confirms before any destructive git op.
When to use it
When you say "ship", "ship it", "commit and PR", "open a pull request", or finish a feature and want it up for review.