| name | ak:ship |
| description | Ship pipeline: merge main, test, review, commit, push, PR. Single command from feature branch to PR URL. Use for shipping official releases to main/master or beta releases to dev/beta branches. |
| user-invocable | true |
| when_to_use | Invoke when a completed branch needs PR shipping workflow. |
| category | dev-tools |
| keywords | ["ship","PR","merge","push","release"] |
| argument-hint | [official|beta] [--skip-tests] [--skip-review] [--skip-journal] [--skip-docs] [--dry-run] |
| license | MIT |
| metadata | {"author":"agentkit","version":"2.0.0"} |
Ship: Unified Ship Pipeline
Single command to ship a feature branch. Fully automated — only stops for test failures, critical review issues, or major version bumps.
Inspired by: gstack /ship by Garry Tan. Adapted for framework-agnostic, multi-language support.
Arguments
| Flag | Effect |
|---|
official | Ship to default branch (main/master). Full pipeline with docs + journal |
beta | Ship to dev/beta branch. Lighter pipeline, skip docs update |
| (none) | Auto-detect: if base branch is main/master → official, else → beta |
--skip-tests | Skip test step (use when tests already passed) |
--skip-review | Skip pre-landing review step |
--skip-journal | Skip journal writing step |
--skip-docs | Skip docs update step |
--dry-run | Show what would happen without executing |
Ship Mode Detection
If argument = "official" → target = main/master (auto-detect default branch)
If argument = "beta" → target = dev/beta (auto-detect dev branch)
If no argument → infer from current branch naming:
- feature/* hotfix/* bugfix/* → official (target main)
- dev/* beta/* experiment/* → beta (target dev/beta)
- unclear → ask_user capability
When to Stop (blocking)
- On target branch already → abort
- Merge conflicts that can't be auto-resolved → stop, show conflicts
- Test failures → stop, show failures
- Critical review issues → ask_user capability per issue
- Major/minor version bump needed → ask_user capability
When NOT to Stop
- Uncommitted changes → always include them
- Patch version bump → auto-decide
- Changelog content → auto-generate
- Commit message → auto-compose
- No version file → skip version step silently
- No changelog → skip changelog step silently
Pipeline
Step 1: Pre-flight → Branch check, mode detection, status, diff analysis
Step 2: Link Issues → Find/create related GitHub issues
Step 3: Merge target → Fetch + merge origin/<target-branch>
Step 4: Run tests → Auto-detect test runner, run, check results
Step 5: Review → Two-pass checklist review (critical + informational)
Step 6: Version bump → Auto-detect version file, bump patch/minor
Step 7: Changelog → Auto-generate from commits + diff
Step 8: Journal → Write technical journal via /ak:journal
Step 9: Docs update → Update project docs via /ak:docs update (official only)
Step 10: Commit → Conventional commit with version/changelog
Step 11: Push → git push -u origin <branch>
Step 12: Create PR → gh pr create with structured body + linked issues