ship-pr

ship-pr is a skill for Claude Code from davidtheproduct/claude-ship-skills. It costs 135 tokens per session (1,815 once invoked), scanned A, original, MIT.

A skill that takes one code change through a Git worktree, branch, pull request, review checks, squash merge, and cleanup. A pull request is a proposed change submitted for review before it is merged.

In plain words
What is it for?
Use it for one pull-request-sized feature, fix, documentation change, or tooling change when the repository has a GitHub remote and configured GitHub CLI.
Why use it?
It provides a repeatable path from an isolated edit to a merged change while using the repository's own build, type-check, and test commands.

Skill for Claude Code

Written for Claude Code: hooks in frontmatter. Also seen: mentions Claude Code.

Good fit Use it for one pull-request-sized feature, fix, documentation change, or tooling change when the repository has a GitHub remote and configured GitHub CLI.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/davidtheproduct/claude-ship-skills/ship-pr
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add davidtheproduct/claude-ship-skills --skill ship-pr
Clone the repo
git clone --depth 1 https://github.com/davidtheproduct/claude-ship-skills

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for ship-pr

README.md
[![agentmods](https://agentmods.dev/badge/skills/davidtheproduct/claude-ship-skills/ship-pr/github.svg)](https://agentmods.dev/skills/davidtheproduct/claude-ship-skills/ship-pr)
Your own site
<a href="https://agentmods.dev/skills/davidtheproduct/claude-ship-skills/ship-pr"><img src="https://agentmods.dev/badge/skills/davidtheproduct/claude-ship-skills/ship-pr/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for ship-pr

Your own site · 80×15
<a href="https://agentmods.dev/skills/davidtheproduct/claude-ship-skills/ship-pr"><img src="https://agentmods.dev/badge/skills/davidtheproduct/claude-ship-skills/ship-pr.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 135 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,815 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00135 $0.01815
Opus 5 $0.00068 $0.00907
Sonnet 5 $0.00027 $0.00363
Haiku 4.5 $0.00014 $0.00181

Measured 11d ago against content hash a404ee063d25, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

ship-pr scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.

The scan reads SKILL.md. This mod also ships 3 executable files (scripts/check-em-dashes.sh, scripts/worktree-close.sh, scripts/worktree-new.sh), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/ship-pr/SKILL.md · 74 lines

How it starts

The opening of the file, as written. The whole thing — 74 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Ship PR

A repo-agnostic worktree -> branch -> PR -> squash-merge -> cleanup workflow. Works in any git repo with an origin remote and gh configured; the scripts detect the package manager and default branch rather than assuming pnpm/Turborepo/main.

This is the atomic unit of the ship stack: parallel-ship and epic-ship both call this skill internally (per fanned-out agent and per phase respectively). Invoke it directly for anything that is one PR-sized change.

Naming note: if a repo you work in defines its own project-level ship-pr skill (tuned to that repo's quirks), rename this personal-level copy (e.g. ship-pr-global) - in Claude Code's skill resolution, a personal-level skill overrides a project-level one of the same name, so an identical name would silently shadow the tuned version.

Step 1: Pick the branch type

Change scope Prefix
Docs only (markdown, docs/**) docs/
New behavior feat/
Bug correction (behavior existed, broke) fix/
Tooling/refactor, no behavior change chore/
Production is broken right now hotfix/

If unsure between feat/ and fix/: did this behavior exist and work correctly before? Correcting it is fix/. Adding something new is feat/.

Step 2: Worktree -> implement -> verify -> ship -> merge -> cleanup

  1. Worktree: bash ${CLAUDE_SKILL_DIR}/scripts/worktree-new.sh <prefix>/<slug>. Run from anywhere inside the target repo. It fetches the remote default branch (detected locally via refs/remotes/origin/HEAD, falling back to a git remote show origin network call only if that's unset, then to main), creates .worktrees/<slug>/ at the repo root (added to .gitignore automatically if missing), installs dependencies with whatever package manager the repo's lockfile indicates, and copies untracked .env* files from the repo root if present.
  2. Implement: do the actual work. Implement directly rather than just writing a plan, unless the user asked for a plan. For large files (200+ lines), make incremental targeted edits rather than rewriting the whole file in one shot.
  3. Verify - do not skip, do not just document it: check package.json (or the repo's equivalent - Makefile, Cargo.toml, etc.) for what's actually available and run it:
    • A build script (build, compile) if present.
    • A typecheck script (typecheck, tsc, or tsc --noEmit directly) if the repo is TypeScript.
    • The test suite (test).
    • Lint (lint) if configured.
    • UI/visual change: run the app, take a screenshot, and actually look at it (use a screenshot-verification skill if you have one).
    • Deps added/updated: install with --frozen-lockfile/ci (not a plain install) to catch a drifted lockfile the way CI would.
    • Markdown touched: the skill-scoped hook on this skill greps added lines in every touched .md file for em-dashes before git push/gh pr create and blocks if it finds any. Note this checks the diff, not the whole file - if this repo's CI whole-file-scans touched markdown (verify by checking the CI config), pre-existing em-dashes you didn't write can still fail CI even though this hook passed.
    • If the repo has branch protection requiring CI to pass, wait for it. If it doesn't (check repo settings or just try merging), CI is a second-opinion signal - don't sit and wait on a slow/queued run when the manual checks above already cover it.

Read the full file on GitHub · 74 lines

Files

What ships with it

3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 11d ago First seen · 74 lines · 135 tokens per session scan A a404ee063d25

Subscribe to this mod's changes

ship-pr is a skill published in the GitHub repository davidtheproduct/claude-ship-skills (2 stars, last pushed 1mo ago), licensed MIT. It adds 135 tokens to every session and 1,815 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

release-skills

A release workflow for preparing and publishing a new version of a software project. A release is a named version that may include updated version files, release notes, tags, or a GitHub Release.

JimLiu/baoyu-skills · 87 tokens

version-release

Choose and apply the correct semantic version bump for this repository. Use for every user-visible release, before merge when a change set should ship as patch, minor, or major, and whenever package/plugin/desktop version metadata must stay synchronized.

hoangsonww/Claude-Code-Agent-Monitor · 50 tokens

changelog-gen

A changelog generator that turns Git history into a version-by-version record of project changes. A changelog is a readable summary of new features, fixes, breaking changes, documentation, and other updates.

laolaoshiren/claude-code-skills-zh · 19 tokens

publish

Publish oh-my-opencode to npm by triggering the GitHub Actions publish workflow and verifying its artifacts. Ship-only: never runs pre-publish-review or re-reviews merged code unless the user explicitly asks. Argument: . Triggers: publish, release, deploy, npm publish.

code-yeongyu/oh-my-openagent · 68 tokens

pre-publish-review

Nuclear-grade 12-agent pre-publish release gate. Runs /get-unpublished-changes to detect all changes since last npm release, spawns up to 10 ultrabrain agents for deep per-change analysis, invokes /review-work (orchestrator manual QA plus one gate reviewer) for holistic review, and 1 oracle for overall release…

code-yeongyu/oh-my-openagent · 161 tokens

release

CONTRIBUTOR TOOL - Cut a plugin release: bump plugin.json version, finalize CHANGELOG, update README if needed, gate on make ci, commit, tag vX.Y.Z, and create the GitHub release. Use when shipping a new plugin version. NOT distributed.

oliver-kriska/claude-elixir-phoenix · 60 tokens