plugins/git-and-pr/skills/ship/SKILL.md
Full ship lifecycle — lint, test, branch, commit, push, PR, CI check. Use when work is complete and ready to land. Pass --merge to also merge after CI passes. Pass --no-test to skip tests.
npx skillsauth add arosenkranz/claude-code-config shipInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Full lifecycle for shipping completed work: pre-flight checks, PR creation, and CI monitoring. Invoke with /ship.
Use /ship when implementation is complete and changes are ready to land. This skill runs the full quality gauntlet before creating a PR.
--merge — Also merge the PR after CI passes (default: stop after CI green)--no-test — Skip the test step in pre-flight (lint still runs)Detect package manager:
if [[ -f "bun.lockb" ]]; then PM="bun"
elif [[ -f "pnpm-lock.yaml" ]]; then PM="pnpm"
elif [[ -f "yarn.lock" ]]; then PM="yarn"
else PM="npm"; fi
Run checks in order. If any fails, stop and report — do not proceed to PR:
Lint (if package.json has a lint script):
$PM run lint
If lint fails, attempt auto-fix with $PM run lint -- --fix and re-check.
Typecheck (if package.json has a typecheck script):
$PM run typecheck
Tests (if package.json has a test script, skip with --no-test):
$PM run test
Check current branch:
git branch --show-current
If on main or master, create a feature branch:
<type>/<short-description> (e.g., feat/add-auth-middleware)git checkout -b <branch-name>Stage relevant files. Exclude:
.env, .env.* files*.secret, *credentials*, *token*dist/, build/, .next/, node_modules/)git add <specific files or patterns>
git status
git diff --staged
Commit with conventional format:
git commit -m "$(cat <<'EOF'
<type>: <concise description under 72 chars>
EOF
)"
Types: feat, fix, refactor, docs, test, chore, perf, ci. Never include "Claude", "AI", or agent attribution.
Push with tracking:
git push -u origin <branch-name>
gh pr create --fill
For multi-commit branches or when richer description is needed:
gh pr create --title "<type>: <description>" --body "$(cat <<'EOF'
## Summary
- <bullet 1>
- <bullet 2>
## Test plan
- [ ] <verification step>
EOF
)"
Output the PR URL.
Monitor CI status with a 5-minute timeout:
timeout 300 gh pr checks <pr-number> --watch
--merge flag was passed.--merge flag)gh pr merge --squash --delete-branch
git checkout main
git pull origin main
If merge is blocked (reviews required, branch protection), report and stop — never force-merge.
After completion, print:
Ship complete
- Lint: passed
- Typecheck: passed (or "no typecheck script")
- Tests: passed / skipped (--no-test) / "no test script"
- PR: #<number> (<url>)
- CI: all checks green / failed / timed out
- Merged: yes (squash) / no (default — use --merge to auto-merge)
tools
Lightweight orchestrator for spec-before-plan workflow. Use when starting a feature with ambiguous requirements. Walks SPEC.md → PLAN.md → execute, delegating to /superpowers:writing-plans and /superpowers:executing-plans. Invoke when asked to "spec this out", "spec-first", "spec and plan for X", or when feature requirements are vague.
tools
Problem Statement Co-Authoring Skill
development
Structure and maintain professional brag documents with clear templates for accomplishments, projects, and growth tracking. Use when documenting achievements, creating brag document entries, formatting accomplishments, or tracking career progress.
development
Analyze technical documentation for clarity, conciseness, and effectiveness using Google Technical Writing principles. Use when reviewing documentation, checking writing quality, improving docs, or providing writing feedback.