leonvanzyl/agentic-coding-starter-kit/ship-it
- community
Checking that the SKILL.md file is still in the repository.
Push the current branch to GitHub and create a pull request. Use this skill when the user says "ship it", "ship this", "push to github", "create a pr", "open a pull request", "send for review", "get this reviewed", or wants to push their work and open a PR. Also use when the user says "/ship-it". This skill handles prerequisites, branching, pushing, and PR creation — it does not commit or run quality checks (use checkpoint for that first).
Install
npx vskill@latest install leonvanzyl/agentic-coding-starter-kit/ship-itSKILL.md
Ship It
Push your work to GitHub and open a pull request — handling prerequisites, branch creation, pushing, and PR generation automatically.
This skill complements checkpoint. Use checkpoint to commit locally (with quality gates), then ship-it to get the code to GitHub for review.
Instructions
Step 0: Prerequisites
Verify tooling before doing anything else.
- GitHub CLI installed?
``bash gh --version `` If the command fails (not found):
- Detect the platform and attempt to install:
- Windows:
winget install --id GitHub.cli - macOS:
brew install gh - Linux (Debian/Ubuntu): follow the official apt instructions
- If auto-install fails, tell the user what to install and stop.
- GitHub CLI authenticated?
``bash gh auth status ` If not authenticated, tell the user: ` GitHub CLI is not logged in. Please run this in the prompt: ! gh auth login Then re-run /ship-it. `` Stop here — do not proceed until auth is confirmed.
- Git remote exists?
``bash git remote -v ` If no remote named origin exists, stop and tell the user: ` No git remote found. Add one with: git remote add origin https://github.com/{user}/{repo}.git ``
Step 1: Detect the Environment
Run these commands to understand the current state:
git branch --show-current— get the current branch name- Detect the default branch:
``bash gh repo view --json defaultBranchRef --jq '.defaultBranchRef.name' ``
git status --porcelain— check for uncommitted changes
If there are uncommitted changes, stop and tell the user:
Store the default branch name for use throughout the remaining steps.
Step 2: Check for Unpushed Commits
Determine if there are commits that haven't been pushed yet.
If on a feature branch with a remote tracking branch:
If on a feature branch with no remote tracking branch, or on the default branch:
If there are no unpushed commits, stop and tell the user:
Save the list of unpushed commit messages for use in later steps.
Step 3: Handle Branching
If already on a feature branch (not the default branch):
- Stay on it. No branching needed.
- Skip to Step 4.
If on the default branch:
- Generate a branch name from the unpushed commit messages:
- Read the commit subjects
- Derive a kebab-case branch name with a conventional prefix:
feat/,fix/,refactor/,chore/,docs/based on the commit content - Keep it short (3-5 words max after the prefix), e.g.,
feat/add-user-auth,fix/login-redirect-loop - Strip special characters, lowercase everything
- Create and switch to the new branch:
``bash git checkout -b {branch_name} ``
- Tell the user:
Created branch {branch_name}
Step 4: Push to Origin
If the branch already has a remote tracking branch, a regular git push is fine.
Step 5: Check for Existing PR
Before creating a new PR, check if one already exists for this branch:
If a PR already exists and is open:
- Do NOT create a new one
- Skip to Step 7 and report the existing PR with a note that new commits were pushed.
If no PR exists (or it is closed/merged), proceed to Step 6.
Step 6: Create the Pull Request
Generate the PR title and body from the unpushed commits:
- Title: concise summary under 70 chars. If single commit, use its subject. If multiple, synthesize a short summary. Imperative mood.
- Body: TL;DR of the changes in 2-4 bullet points max.
Step 7: Report
Display the result clearly:
Important
- Do NOT run lint, type-check, or build — that is checkpoint's job
- Do NOT commit anything — only push existing commits and create a PR
- If the user has uncommitted changes, tell them to run /checkpoint first
- Keep the PR body short — a TL;DR, not an essay
- Always check for an existing open PR before creating a new one to avoid duplicates
- Detect the default branch dynamically — do not hardcode
mainormaster - When creating a branch from the default branch, use conventional prefixes (
feat/,fix/, etc.) with kebab-case names - Never run destructive git operations (no
--force, noreset --hard) - If
ghis not installed or authenticated, help the user get set up before proceeding
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingcreate-agentic-app/template/.agents/skills/ship-it/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/leonvanzyl/agentic-coding-starter-kit/ship-it)