ship

A release workflow for code changes: review the work, run checks, create a Git commit, push the branch, and open a pull request or merge request. A pull request or merge request is a proposed change for teammates to inspect before it is merged.

In plain words
What is it for?
Use it when a change is ready to ship through GitHub or GitLab, including checking the branch, reviewing the diff, running tests, and preparing the remote review request.
Why use it?
It keeps unreviewed, unrelated, or failing changes from being published and avoids unsafe Git operations such as force-pushing or rewriting history.

Skill for Claude CodeCodex

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/voidtechnology/voidtech-claude-plugins/ship
Any agent
npx skills add VoidTechnology/voidtech-claude-plugins --skill ship
Clone the repo
git clone --depth 1 https://github.com/VoidTechnology/voidtech-claude-plugins

Made for: Claude Code, Codex.

Per session 51 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,553 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.00051 $0.01553
Opus 5 $0.00026 $0.00776
Sonnet 5 $0.00010 $0.00311
Haiku 4.5 $0.00005 $0.00155

Measured yesterday against content hash 0c49933ec4ec, 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 yesterday.

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.

plugins/voidtech-engineering/skills/ship/SKILL.md · 191 lines

How it starts

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

Ship

把当前工作树整理成可审查的远端变更。调用本技能表示用户授权执行一次 review -> commit -> push -> PR/MR 流程;仍然要在风险不清楚时停止并说明阻塞条件。

硬约束

  • 不使用 git reset --hardgit clean、force push、历史改写或删除分支。
  • 不提交明显无关改动、临时文件、密钥、构建产物或调试输出;无法拆分时先停下说明。
  • 默认不在 mainmasterdevelop 或远端默认分支上直接提交。若当前就在默认分支,先创建短分支;分支名使用 ship/<short-topic>feat/<short-topic>fix/<short-topic>
  • 验证失败时不提交、不推送、不创建 PR/MR。只有用户明确要求带失败状态发布时,才可继续,并在 PR/MR 正文中醒目标出失败项。
  • PR/MR 标题和正文必须按 voidtech-core:text-naturalizer 的口吻规则润色:自然、准确、克制,不使用聊天机器人开场、营销腔、机械总结或装饰性 emoji。

流程

1. 盘点仓库状态

运行:

git status --short --branch
git remote -v
git diff --stat
git diff --check

确认:

  • 当前分支、上游分支、默认目标分支。
  • 暂存区和未暂存区是否都属于本次发布。
  • 是否有未跟踪文件需要纳入或忽略。
  • 是否有空白错误、冲突标记或明显生成物。

若发现无关改动,先列出文件并询问用户要拆分、暂存部分文件,还是停止。不要替用户丢弃改动。

2. 识别平台

按 remote 判断平台:

  • GitHub:使用 gh
  • GitLab:使用 glab

执行只读检查:

gh auth status
gh repo view --json nameWithOwner,defaultBranchRef,url

或:

glab auth status
glab repo view

如果两个平台都不匹配,或者 CLI/认证不可用,停止在本地提交前;给出缺失工具、认证命令和后续手动步骤。

3. 审查 diff

阅读完整 diff,而不是只看文件名:

git diff --cached
git diff

按以下顺序审查:

  1. 正确性:改动是否满足用户目标,是否漏掉必要路径。
  2. 风险:公共 API、数据格式、迁移、权限、网络请求、文件系统、并发和安全边界。
  3. 可维护性:是否引入重复、过早抽象、命名漂移或与项目风格冲突。
  4. 测试缺口:新增行为是否有测试或可解释的验证替代。
  5. 发布卫生:无密钥、无调试输出、无无关格式化、无临时文件。

发现阻塞问题时,先修复并重新验证;无法修复时停止并报告。非阻塞风险写入 PR/MR 正文。

4. 运行验证

优先使用项目现有质量门。常见入口:

scripts/check-portability.sh
npm test
npm run lint
npm run typecheck
swift test
xcodebuild test

只运行当前仓库实际存在且相关的命令;不要凭空安装依赖。记录每条命令的结果。没有可运行验证时,说明查过哪些文件以及为什么无法运行。

5. 暂存与提交

提交前再次检查:

git status --short
git diff --staged --stat
git diff --staged

提交规则:

  • 只暂存本次发布相关文件。
  • commit message 遵循项目约定;没有约定时使用简短中文 Conventional Commit,例如 feat: 增加发布技能
  • 一次发布默认一个提交;如果 diff 明显包含多个独立逻辑改动,先建议拆成多个提交。

执行:

git add <files>
git commit -m "<message>"

6. 推送分支

推送前确认当前分支不是默认分支,并且不需要 force push:

git branch --show-current
git status --short --branch
git push -u origin HEAD

如果远端拒绝普通 push,停止并说明原因;不要改用 force push。

Read the full file on GitHub · 191 lines

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. yesterday First seen · 191 lines · 51 tokens per session scan A 0c49933ec4ec

Subscribe to this mod's changes

ship is a skill published in the GitHub repository VoidTechnology/voidtech-claude-plugins (2 stars, last pushed 28d ago), licensed Apache-2.0. It adds 51 tokens to every session and 1,553 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

systematic-debugging

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.

obra/superpowers · 21 tokens

next-cache-components-adoption

Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…

vercel/next.js · 95 tokens

babysit-pr

Babysit a GitHub pull request after creation by continuously polling review comments, CI checks/workflow runs, and mergeability state until the PR is merged/closed or user help is required. Diagnose failures, retry likely flaky failures up to 3 times, auto-fix/push branch-related issues when appropriate, and keep…

openai/codex · 114 tokens

imagegen

Generate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, or transparent-background cutouts. Use when Codex should create a brand-new image, transform an existing image, or derive visual variants from references, and the output…

openai/codex · 113 tokens

cpu-profile-analysis

Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…

microsoft/vscode · 71 tokens

next-cache-components-optimizer

Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…

vercel/next.js · 170 tokens