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 agentmods add commands/thettwe/nyann/shipgit clone --depth 1 https://github.com/thettwe/nyannWhat 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 | $0.00063 | $0.00895 |
| Opus 5 | $0.00032 | $0.00447 |
| Sonnet 5 | $0.00013 | $0.00179 |
| Haiku 4.5 | $0.00006 | $0.00089 |
Grade A, and why
nyann: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 3d 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.
What it actually says
Plugin root: This is a Claude Code plugin, NOT a CLI tool. Do NOT
search via which, npm list, pip list, or brew list. This file
is at <plugin_root>/commands/. All scripts: <plugin_root>/bin/.
Read the matching skills/*/SKILL.md for the full flow.
/nyann:ship
Wraps bin/ship.sh. Combines bin/pr.sh create + (auto-merge OR
bin/wait-for-pr-checks.sh + gh pr merge --delete-branch) into one
invocation that emits a ShipResult JSON
(schemas/ship-result.schema.json).
| Outcome | Mode | Exit | Meaning |
|---|---|---|---|
queued |
auto-merge | 0 | GitHub will merge server-side when checks + reviews pass |
shipped |
client-side | 0 | Wait completed, merge call succeeded, branch deleted |
ci-failed |
client-side | 3 | At least one check failed; loop bailed early |
ci-timeout |
client-side | 3 | Deadline hit, some still in progress |
merge-failed |
either | 3 | auto-merge couldn't be enabled, or gh pr merge failed |
pr-failed |
either | 3 | bin/pr.sh died before producing a URL |
skipped |
either | 0 | gh missing/unauthed (nothing created) |
When to invoke
- "ship this PR" / "open and merge" → run this (auto-merge default).
- "ship it and block until merged" → run this with
--client-side. - "create the PR and auto-merge it on green CI" → run this (default).
When NOT to invoke
- The user wants only the PR opened, not merged →
/nyann:pr. - The user wants to wait for CI but not merge →
/nyann:wait-for-pr-checks. - The PR already exists and they want to merge it → just
gh pr merge <num> --autodirectly; ship is for PR-creation + merge. - The user wants to tag a release after merge →
/nyann:release(run after ship reportsshippedor after the auto-merge lands).
See skills/ship/SKILL.md for the full title/body synthesis flow,
mode-selection guidance, and outcome interpretation.
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.
- 3d ago First seen · 71 lines · 63 tokens per session scan A 9292bef3aba6
nyann:ship is a command published in the GitHub repository thettwe/nyann (6 stars, last pushed 4d ago), licensed MIT. It adds 63 tokens to every session and 895 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.
Other commands, from other repositories
create-namespace
Slash command that creates a new namespace file under system/namespaces/ in the personal repo, with lifecyclestate: scratch.
generate-release-notes
Generate comprehensive release notes from merged PRs between releases.
release
Prepare a release: bump version, finalize CHANGELOG, and show the git tag command.
review-renovate
Review and merge renovate PRs with automerge configuration updates.
release
Perform a full release: generate release notes, bump version, commit, tag, and push.
SHIP_RELEASE
Ship the active release/X.Y.Z — build the installer, merge to main, tag, push, and publish the GitHub release. Run after /prerelease passes.