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.
npx skills add mikecann/agent-skills --skill shipgit clone --depth 1 https://github.com/mikecann/agent-skillsWrote 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.
[](https://agentmods.dev/skills/mikecann/agent-skills/ship)<a href="https://agentmods.dev/skills/mikecann/agent-skills/ship"><img src="https://agentmods.dev/badge/skills/mikecann/agent-skills/ship.svg" alt="Measured on agentmods" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00077 | $0.01768 |
| Opus 5 | $0.00039 | $0.00884 |
| Sonnet 5 | $0.00015 | $0.00354 |
| Haiku 4.5 | $0.00008 | $0.00177 |
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 8d 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.
How it starts
The opening of the file, as written. The whole thing — 230 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Ship
Take the current branch from "work in progress" to "ready to merge".
This skill is for the full PR babysitting loop:
- confirm you are on a real feature branch
- find or create the PR
- watch CI and review activity
- handle automated review comments one by one
- push fixes and keep re-checking
- stop only when the PR is merge-ready or blocked by something a human must decide
When to Use
Use this when the user wants you to:
- ship a branch
- create a PR if needed
- monitor CI until it settles
- deal with AI review bots or automated review comments
- keep a PR merge-ready in a loop
- squash merge once everything is green
Do not use this for a normal one-off code review or a one-time push.
Core Rules
- Work from the current local branch.
- If
git branch --show-currentis empty, or you are detached, stop and tell the user. - If you are on
mainor the repo's default branch, stop and tell the user there is no feature branch to ship.
- If
- Use
ghfor GitHub work.- Use
gh pr view,gh pr create,gh pr checks,gh pr review, andgh api. - If
gh pr viewis not enough for review threads, usegh api graphql.
- Use
- After every push, monitor checks again.
- Do not push and walk away.
- Handle automated review comments explicitly.
- Decide whether the comment is valid.
- If valid, implement a fix, push it, reply with what changed, then resolve the thread.
- If not valid, do not change code, reply with why, then resolve the thread.
- Do not auto-resolve human reviewer comments unless the user explicitly asked for that.
- Do not merge unless the user explicitly asked you to merge when ready.
- If they asked for squash merge, use squash merge.
Workflow
1. Establish PR state
- Get the current branch.
- Check whether it already has an open PR.
- If there is no PR:
- make sure the branch is pushed
- create the PR
- capture the PR number and URL
- Report the PR URL to the user once it exists.
If PR creation needs missing information and the repo does not make it obvious, draft a concise title/body from the branch diff and recent commits.
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.
- 8d ago First seen · 230 lines · 77 tokens per session scan A ae82e48fa5b2
ship is a skill published in the GitHub repository mikecann/agent-skills (21 stars, last pushed 1mo ago), licensed MIT. It adds 77 tokens to every session and 1,768 once invoked, about $0.0004 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-30.
Other skills, from other repositories
github
GitHub via gh CLI: PRs, issues, reviews, repos, auth.
github
Full GitHub CLI control — issues, PRs, code reviews, repo management. Uses gh CLI with auth detection, rate limiting, and templates. Triggers on: github, issue, pull request, PR, code review, repo, branch, label, assignee, milestone, release, workflow, actions.
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…
parallel-pr-review
Use when asked to "review the open PRs", review a batch or stack of pull requests, or run a recurring PR-review pass on a repo — especially with many PRs, stacked branches, conflicts, or security-sensitive changes. Covers grouping, fan-out to review subagents, verdict synthesis, and posting.
oss-maintainer
Run an open-source project's issue/PR/release loop like a careful human maintainer — triage to root cause, absorb community PRs before duplicating them, gate every merge, ship honest releases, and thank the people doing your QA for free.
release
Cut a brooks-lint release: set the version in package.json, propagate it across all four plugin manifests and every version-bearing text file (README badges, docs site metadata), write the CHANGELOG entry, validate, then commit, push, tag, and publish the GitHub release. Triggers when the maintainer asks to "release"…