Agent skill

Ship Changes

by poshan0126 in poshan0126/dotclaude

Walks through commit, push and pull request creation for the current changes, asking you to confirm the files, message, push and PR text at each step.

MITAuto-check: notesDevelopment

Install Ship Changes

skills CLI
$ npx skills add poshan0126/dotclaude --skill ship -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install poshan0126/dotclaude ship --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/poshan0126/dotclaude.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ship .claude/skills/ship && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ship
GitHub stars
871
Token cost
~953 tokens
SKILL.md length
483 words
Files
1
Skills in repo
14
Repo updated
First seen
Licence
MIT

At a glance

Walks through commit, push and pull request creation for the current changes, asking you to confirm the files, message, push and PR text at each step.

  • Works in 5 steps: Scan → Stage & Commit → Push → …
  • Finishing a piece of work and wanting it committed, pushed and opened as a PR
  • SKILL.md covers Step 1: Scan, Step 2: Stage & Commit, Step 3: Push and Step 4: Pull Request, plus 2 more sections
  • Calls git and gh

What it does

The agent scans git status, the diff summary and the last few commits, then summarizes modified, added, deleted and untracked files; with no changes it says so and stops. It proposes which files to stage and never stages secrets (`.env*`, keys, credentials), lock files, generated files, build output, dependency folders or editor and OS files. It drafts a commit message that matches the repository's existing style and shows you the exact files and message to approve or edit.

After confirmation it commits, using a new commit if a hook fails, then checks for an upstream branch, proposes `git push -u origin` when there is none, and asks before pushing. For the PR it first checks whether one already exists, reads all commits on the branch against the base, drafts a title under 72 characters and a body with a summary and test plan, asks for your approval and runs `gh pr create`, then shows the URL. An optional branch cleanup step follows, which the excerpt does not show.

When your agent uses it

  • Finishing a piece of work and wanting it committed, pushed and opened as a PR
  • Reviewing exactly which files and message will be committed before anything is staged
  • Opening a PR with a drafted title, summary and test plan

Example prompts

  • “I'm done with the login fix. Ship it.”
  • “Commit these changes, push the branch and open a PR, but let me approve each step.”
  • “Check what has changed, propose the files to stage and draft a commit message.”

Requirements

  • A git repository with changes to ship
  • The `gh` command-line tool for the pull request step
  • Pre-approved tools (allowed-tools): Bash(git status), Bash(git diff *), Bash(git log *), Bash(git add *), Bash(git commit *), Bash(git push *), Bash(git checkout *), Bash(git branch *), Bash(gh pr create *), Bash(gh pr view *), Bash(git fetch *), Bash(git for-each-ref *)

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Scan
  2. Stage & Commit
  3. Push
  4. Pull Request
  5. Branch cleanup (optional)

What it can do on your machine

Read from SKILL.md and the folder at commit 94b84b9. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash(git status)
    • Bash(git diff *)
    • Bash(git log *)
    • Bash(git add *)
    • Bash(git commit *)
    • Bash(git push *)
    • Bash(git checkout *)
    • Bash(git branch *)
    • Bash(gh pr create *)
    • Bash(gh pr view *)

    …and 2 more on the same allowed-tools line.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • gh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git and gh, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Ship Changes loads about 953 tokens when it runs. Until then it costs about 34 tokens; SKILL.md has 483 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~34
When it runs · the whole SKILL.md, loaded when a task matches
~953

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:43
    - Secrets: `.env*`, `*.pem`, `*.key`, `credentials.json`
  • NoteMentions a .env fileSKILL.md:85
    - NEVER commit .env, secrets, or credential files

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from poshan0126/dotclaude at commit 94b84b9, republished under its MIT licence (© poshan0126). 483 words, ~953 tokens.

Download SKILL.mdSave it as .claude/skills/ship/SKILL.md (or your agent's skills folder).
name
ship
description
Commit, push, and create a PR for staged changes, with confirmation at each step. Use when your work is done and you want to ship.
allowed-tools
Bash(git status), Bash(git diff *), Bash(git log *), Bash(git add *), Bash(git commit *), Bash(git push *), Bash(git checkout *), Bash(git branch *), Bash(gh pr create *), Bash(gh pr view *), Bash(git fetch *), Bash(git for-each-ref *)
argument-hint
[optional commit message or PR title]
disable-model-invocation
true

Ship the current changes through commit, push, and PR creation. Confirm with the user before each step using the AskUserQuestion tool.

Step 1: Scan

Current scan state (injected read-only below — no need to re-run these to gather it):

  • Status: !git -C "${CLAUDE_PROJECT_DIR:-.}" status --short 2>/dev/null || echo "(no git repo or no changes)"
  • Change summary: !git -C "${CLAUDE_PROJECT_DIR:-.}" diff --stat HEAD 2>/dev/null || echo "(no diff)"
  • Recent commit style: !git -C "${CLAUDE_PROJECT_DIR:-.}" log --oneline -5 2>/dev/null || echo "(no commits yet)"

For the full patch of a specific file before committing, run git diff -- <file> on demand (kept out of the injection to hold the render small).

  • Present a clear summary to the user:
    • Files modified
    • Files added
    • Files deleted
    • Untracked files
  • If there are no changes, tell the user and stop

Step 2: Stage & Commit

  • Propose which files to stage. Never stage these:
    • Secrets: .env*, *.pem, *.key, credentials.json
    • Lock files: package-lock.json, yarn.lock, pnpm-lock.yaml (unless intentionally updated)
    • Generated: *.gen.ts, *.generated.*, *.min.js, *.min.css
    • Build output: dist/, build/, .next/, __pycache__/
    • Dependencies: node_modules/, vendor/, .venv/
    • OS/editor: .DS_Store, Thumbs.db, *.swp, .idea/, .vscode/settings.json
  • Draft a commit message based on the changes, matching the repo's existing commit style
  • ASK the user to confirm or edit: show the exact files to stage and the proposed commit message
  • Only after confirmation: stage the files and create the commit
  • If the commit fails (e.g., pre-commit hook), fix the issue and try again with a NEW commit

Step 3: Push

  • Check if the current branch has an upstream remote
  • If not, propose creating one with git push -u origin <branch>
  • ASK the user to confirm before pushing
  • Only after confirmation: push to remote
Show full SKILL.md (213 more words)Show less

Step 4: Pull Request

  • Check if a PR already exists for this branch (gh pr view. If it exists, show the URL and stop)
  • Analyze ALL commits on this branch vs the base branch (not just the latest commit)
  • Draft a PR title (under 72 chars) and body with:
    • Summary: 2-4 bullet points
    • Test plan: how to verify
  • ASK the user to confirm or edit the title and body
  • Only after confirmation: create the PR with gh pr create
  • Show the PR URL when done

Step 5: Branch cleanup (optional)

After the PR is created (or if invoked when everything is already shipped), offer to clean up stale local branches:

  • git fetch --prune, then find branches whose upstream is gone: git for-each-ref --format '%(refname:short) %(upstream:track)' refs/heads | grep '\[gone\]'
  • Show the list and ASK before deleting. Delete with git branch -d only.
  • If a branch isn't fully merged (-d refuses), list it separately — deleting unmerged branches needs the user to explicitly say so, every time.

Rules

  • NEVER skip a confirmation step. Each step requires explicit user approval
  • NEVER force-push
  • NEVER commit .env, secrets, or credential files
  • If the user says "skip" at any step, skip that step and move to the next
  • If $ARGUMENTS is provided, use it as the commit message / PR title

© poshan0126, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/ship of poshan0126/dotclaude.

Open the folder on GitHubat commit 94b84b9

Compare with similar skills

Ship Changes next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Ship Changes compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ship Changes this skillposhan0126/dotclaude871—~953Automated safety check: NotesMIT
Git Workflow and Versioningaddyosmani/agent-skills103k2 repos~3.5kAutomated safety check: NotesMIT
React Router Pull Request Creatorremix-run/react-router57k—~2.5kAutomated safety check: PassMIT
Emoji Commit ConventionsbaptisteArno/typebot.io11k—~424Automated safety check: PassCustom licence
Draft Pull Request Creatorwordpress-mobile/WordPress-Android3.2k—~881Automated safety check: NotesGPL-2.0
Adk Gitgoogle/adk-python22k—~1.3kAutomated safety check: PassApache-2.0

Similar skills

  • Git Workflow and Versioning

    addyosmani/agent-skills

    Sets git habits for every change: short-lived branches, atomic commits with descriptive messages, clean pull requests, plus versioning, tagging and changelogs for releases.

    103k GitHub starsUsed in 2 repos~3.5k tokens
    DevelopmentAuto-check: notes
  • React Router Pull Request Creator

    remix-run/react-router

    Packages finished React Router work into a draft pull request: branch, commit, push, a written PR body and the right GitHub labels.

    57k GitHub stars~2.5k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Emoji Commit Conventions

    baptisteArno/typebot.io

    Sets the repository's convention for commit messages and pull request titles: one emoji prefix for the main intent, a concise title and clean follow-up commits.

    11k GitHub stars~424 tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Draft Pull Request Creator

    wordpress-mobile/WordPress-Android

    Commits and pushes current changes, writes a pull request title and body from the branch history and template, and opens a draft PR on GitHub after you approve it.

    3.2k GitHub stars~881 tokensUpdated today
    DevelopmentAuto-check: notes
  • Adk Git

    google/adk-python

    Official

    Writes commit messages and pull request descriptions for the adk-python repository: Conventional Commits types and scopes, subject lines that say why a change was made, and the linked-issue and…

    22k GitHub stars~1.3k tokensUpdated today
    DevelopmentAuto-check passed
  • Git PR Flow

    wgzhao/Addax

    Standard branch, commit, and pull-request workflow for this repo.

    1.4k GitHub stars~216 tokensUpdated today
    DevelopmentAuto-check passed

More from poshan0126/dotclaude

All 14 skills in this repo
  • Session Catchup and Handoff

    poshan0126/dotclaude

    Rebuilds working context after /clear by reading a handoff note and the branch's git state, or writes that handoff note before a session ends.

    871 GitHub stars~811 tokensUpdated 1 mo ago
    Auto-check passed
  • Context Budget Check

    poshan0126/dotclaude

    Estimates the per-turn token cost of a project's .claude folder and CLAUDE.md, split into always-loaded, path-scoped and invoked-only files, and flags what runs over budget.

    871 GitHub stars~1.4k tokensUpdated 1 mo ago
    Auto-check passed
  • Codebase Onboarding Tour

    poshan0126/dotclaude

    Builds a quick mental model of an unfamiliar codebase by dispatching read-only Explore subagents and merging their findings into one brief.

    871 GitHub stars~858 tokensUpdated 1 mo ago
    Auto-check passed
  • Parallel Specialist PR Review

    poshan0126/dotclaude

    Reviews a pull request, staged changes or a file by sending the diff to specialist reviewer agents in parallel, then merges their findings into one compact report.

    871 GitHub stars~1.7k tokensUpdated 1 mo ago
    Auto-check passed
  • dotclaude Project Setup

    poshan0126/dotclaude

    Scans a codebase, interviews you, and installs only the justified Claude Code rules, hooks, agents and skills, tailored to the project's stack.

    871 GitHub stars~3.6k tokensUpdated 1 mo ago
    Auto-check passed
  • Interview-Driven Spec Writer

    poshan0126/dotclaude

    Interviews you about scope, behavior, edge cases and verification, then writes a self-contained SPEC.md that a fresh session can implement without this conversation.

    871 GitHub stars~804 tokensUpdated 1 mo ago
    Auto-check passed

Works with

Categories

Questions about Ship Changes

What does Ship Changes do?

Walks through commit, push and pull request creation for the current changes, asking you to confirm the files, message, push and PR text at each step. The agent scans git status, the diff summary and the last few commits, then summarizes modified, added, deleted and untracked files; with no changes it says so and stops.env*`, keys, credentials), lock files, generated files, build output, dependency folders or editor and OS files.

When should I use Ship Changes?

Ship Changes fits situations like: finishing a piece of work and wanting it committed, pushed and opened as a PR; reviewing exactly which files and message will be committed before anything is staged; opening a PR with a drafted title, summary and test plan.

How do I install Ship Changes in Claude Code?

Run `npx skills add poshan0126/dotclaude --skill ship -a claude-code`. Or copy the skill folder (skills/ship in poshan0126/dotclaude) into .claude/skills/ship in your project. Claude Code loads it when a task matches its description.

How do I install Ship Changes in Codex?

Run `npx skills add poshan0126/dotclaude --skill ship -a codex`. Or copy the skill folder (skills/ship in poshan0126/dotclaude) into .agents/skills/ship in your project. Codex loads it when a task matches its description.

Can I use Ship Changes in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add poshan0126/dotclaude --skill ship -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ship, .gemini/skills/ship, .github/skills/ship and .opencode/skills/ship in your project.

What does Ship Changes need to run?

Going by SKILL.md and its folder, Ship Changes needs the command-line tools its instructions call (git and gh). Our summary lists: A git repository with changes to ship; The `gh` command-line tool for the pull request step. Its frontmatter pre-approves these tools: Bash(git status), Bash(git diff *), Bash(git log *), Bash(git add *), Bash(git commit *), Bash(git push *), Bash(git checkout *), Bash(git branch *), Bash(gh pr create *), Bash(gh pr view *), Bash(git fetch *), Bash(git for-each-ref *).

Does Ship Changes access the network?

SKILL.md contains no URLs. Its commands use git and gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Ship Changes safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Ship Changes use?

Ship Changes is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Ship Changes use?

About 953 tokens (SKILL.md is roughly 3.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Ship Changes?

Skills that share tags, products or a category with Ship Changes: Git Workflow and Versioning (addyosmani/agent-skills, 103k stars), React Router Pull Request Creator (remix-run/react-router, 57k stars), Emoji Commit Conventions (baptisteArno/typebot.io, 11k stars) and Draft Pull Request Creator (wordpress-mobile/WordPress-Android, 3.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ship Changes?

poshan0126 (a GitHub user) maintains it in poshan0126/dotclaude, which has 871 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on August 27, 2026.

Source: poshan0126/dotclaude on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.