Ship Changes

VerifiedSafe

This skill commits all staged and unstaged changes, runs the project's CI script (bin/ci), and opens a pull request on GitHub if CI passes. It helps when you're ready to ship changes by automating the commit, CI check, and PR creation workflow.

Sby Skills Guide Bot
DevelopmentIntermediate
1106/2/2026
Claude Code
#git#ci#pr#automation#ship

Recommended for

Our review

Automates the process of committing changes, running a CI script, and opening a pull request if CI passes.

Strengths

  • Streamlines the commit-to-PR workflow into a single command.
  • Ensures CI runs before creating the pull request.
  • Automatically creates a branch if currently on master.
  • Allows custom commit message via argument.

Limitations

  • Requires a bin/ci script to be present in the project.
  • Works only with GitHub (gh CLI).
  • Does not handle multi-commit workflows.
When to use it

Use when you have a set of changes ready and want to ship them with a CI check and PR in one step.

When not to use it

Do not use for complex changes that need multiple commits or when CI is not set up.

Security analysis

Safe
Quality score92/100

The skill automates a standard git commit, CI run, and PR creation workflow using only git, gh, and a local script. It does not execute destructive commands, exfiltrate data, or disable safety measures. The risk is minimal.

No concerns found

Examples

Ship current changes
ship
Ship with custom commit message
ship 'Fix login bug'

name: ship description: Commit, run bin/ci, and open a PR if CI passes. Use when ready to ship changes. argument-hint: [optional commit message] disable-model-invocation: true allowed-tools: Bash(git *), Bash(gh pr create *), Bash(bin/ci)

Context

  • Current git status: !git status
  • Current git diff (staged and unstaged changes): !git diff HEAD
  • Current branch: !git branch --show-current
  • Recent commits: !git log --oneline -10

Your task

Ship the current changes by following these steps in order:

1. Create a branch if needed

If on master, create and checkout a new descriptive branch based on the changes.

2. Commit

Stage all changed files and create a single commit with an appropriate message. If $ARGUMENTS is provided, use it as the commit message.

3. Run CI

Run bin/ci and wait for it to complete. This is mandatory — do not skip it.

  • If bin/ci fails: stop here. Show the failure output and suggest fixes. Do NOT push or create a PR.
  • If bin/ci passes: continue to step 4.

4. Open a PR

bin/ci already pushed the branch to origin. Create a pull request using gh pr create and return the PR URL and a brief summary of files changed eg 2 Files Changed

Related skills