ship

ship is a skill for Claude Code, Codex from panda850819/verbs. It costs 65 tokens per session (1,513 once invoked), scanned A, original, MIT.

A delivery workflow takes completed code work through tests, scope checks, review, commit, branch push, and pull-request creation.

In plain words
What is it for?
Use it to prepare a non-default branch for publication, run the required checks, inspect the final change set, commit relevant files, push them, and create or update a pull request.
Why use it?
It provides a final gate before sharing a change, so unfinished work, failing tests, or overlooked project pitfalls do not get shipped unnoticed.

Skill for Claude CodeCodex

Part of the verbs plugin — 10 skills shipped together

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.

agentmods
npx agentmods add skills/panda850819/verbs/ship
Any agent
npx skills add panda850819/verbs --skill ship
Clone the repo
git clone --depth 1 https://github.com/panda850819/verbs

Made for: Claude Code, Codex.

Or install verbs, the plugin that ships this one along with the rest of its 10 skills.

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

README.md
[![agentmods](https://agentmods.dev/badge/skills/panda850819/verbs/ship.svg)](https://agentmods.dev/skills/panda850819/verbs/ship)
Your own site
<a href="https://agentmods.dev/skills/panda850819/verbs/ship"><img src="https://agentmods.dev/badge/skills/panda850819/verbs/ship.svg" alt="Measured on agentmods" height="20"></a>
Per session 65 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,513 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
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 $0.00065 $0.01513
Opus 5 $0.00032 $0.00757
Sonnet 5 $0.00013 $0.00303
Haiku 4.5 $0.00006 $0.00151

Measured 4d ago against content hash 88d37fe16bd8, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

ship 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 4d ago.

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/engineering/ship/SKILL.md · 119 lines

How it starts

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

Ship

/ship closes completed code work through a pull request. Knowledge-note lifecycle and external publication remain host concerns. You already know how to write a commit; this skill is the gate sequence, not the coaching.

Gates (in order, none skippable silently)

  1. Config — read the ## verbs block from CLAUDE.md or AGENTS.md for the test command, tag format, and release preference.
  2. Pre-flightgit pull; run the project's test/build command and STOP on failure with the output; inspect git diff --stat, git log origin/{main}..HEAD --oneline, and the current branch.
  3. Pitfall ack — search {learnings_dir} for type: pitfall entries whose files: touch changed files; a match must be listed and acknowledged before proceeding. Skip only what an earlier read this session already listed by this same query: an escalated review's RECALL block covers an entry only when it actually named it. Running review is not itself evidence — its recall ranks by topic-token overlap against title and tags, takes the top 3-5, and drops effective confidence below 3, so a pitfall naming a changed file can sit outside its results entirely. Same store, different query. Acknowledge the remainder here.
  4. Scope check — if a brief for this branch exists in docs/briefs/, compare the current full diff against its Scope In/Out and the diff at review time. Print Scope: ON TRACK, or SCOPE DRIFT: [...] / POST-REVIEW CHANGES: [...] and ask before proceeding. No brief → still warn on commits made after the last /review this session.
  5. Review gate — if /review has not run on the current diff this session, warn: "Review not run. Run /review first?" Proceed only on an explicit skip.
  6. Branch before commit (hard rule) — never push to main/master; always ship via PR. On main → create fix/* / feat/* / refactor/* BEFORE staging; a branch created after the commit still advances the local default branch.
  7. Commit — stage relevant files only (never git add -A); conventional message type(scope): description; empty git diff --cached after staging → report and skip the commit; never amend, never skip hooks.
  8. Tag / release (config-gated)tag: semver → derive the bump from commits (feat = minor, fix = patch) and tag; release: true → GitHub Release from the tag with generated notes. Truth gate before publishing: every PR / SHA the notes cite must be an ancestor of the tag (git merge-base --is-ancestor), and added/removed claims must match git diff {prev-tag}..{tag} --stat — the notes describe what the tag contains, nothing more. On mismatch fix the notes, never re-tag. Otherwise skip both.
  9. Push + PR — push with -u (plus tags if created); gh pr create with a title under 70 chars and a what/why/how-to-test body. Resolve an existing PR instead of creating a duplicate.
  10. QA evidence upsert — when qa ran, read the handoff from the Git metadata path defined in lib/qa-evidence-format.md. Recompute its artifact identity against the PR head, then create or update the authenticated viewer's single marker comment. Read the comment back before reporting its URL. A stale artifact, malformed block, FAIL, or UNPROVEN row still gets published as Acceptance: NOT VERIFIED, but blocks a ready/done claim. For a UI diff that required qa, missing evidence also blocks completion. For non-UI work, state QA evidence: not applicable; never fabricate a report. Re-running ship updates the same comment rather than adding another.
  11. Artifact proof — before asking a human to validate an artifact or using manual validation as completion evidence, apply lib/verify-the-test-loop.md and prove that the tested artifact contains the current commit. Missing artifact identity blocks the completion claim.
  12. Closure evidence — done means the PR URL, pushed commit/branch, and, when QA ran, the verified QA comment URL are printed. Missing delivery evidence → name the gap and do not claim done.

Read the full file on GitHub · 119 lines

Files

What ships with it

6 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. 4d ago First seen · 119 lines · 65 tokens per session scan A 88d37fe16bd8

Subscribe to this mod's changes

ship is a skill published in the GitHub repository panda850819/verbs (5 stars, last pushed 11d ago), licensed MIT. It adds 65 tokens to every session and 1,513 once invoked, about $0.0003 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

re0-release

Walk a pending change through this repo's shipping and releasing checklist end to end, then tag and publish once confirmed. User-invoked: run it when you've decided to ship.

LilMGenius/paperthin · 40 tokens

synthetic-release-notes

Draft release notes from user-provided changes.

theinfosecguy/razin · 15 tokens

release

Ships completed work in the obsidian-markdown-lint-mcp-server repository. Two phases depending on context: WRAP UP (on a feature branch with committed work, runs the test gates, updates CHANGELOG and README, commits, pushes, opens a draft PR) and CUT RELEASE (on main after a merge, determines the semver bump, bumps…

psenger/obsidian-markdown-lint-mcp-server · 150 tokens

conventions

Defines the commit message, branch naming, pull request, and release note conventions for the obsidian-markdown-lint-mcp-server repository. Make sure to load this skill whenever writing a commit message, naming a branch, drafting a PR title or body, or writing CHANGELOG entries in this repo. Use when the user asks…

psenger/obsidian-markdown-lint-mcp-server · 120 tokens

release

Create and publish releases for the Hongdown project. Use when releasing a new version, creating a patch release, or creating a major/minor release. Handles CHANGES.md updates, version bumping, tagging, and branch management.

dahlia/hongdown · 48 tokens

release

Draft, prepare, or publish a GitHub or GitLab release. Use when the user asks for release notes, wants to publish a release, or asks what changed since the last tag.

skrrt-sh/skills · 40 tokens