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 skills/paultyng/skill-issue/ship-itnpx skills add paultyng/skill-issue --skill ship-itgit clone --depth 1 https://github.com/paultyng/skill-issueWrote 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/paultyng/skill-issue/ship-it)<a href="https://agentmods.dev/skills/paultyng/skill-issue/ship-it"><img src="https://agentmods.dev/badge/skills/paultyng/skill-issue/ship-it.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 | $0.00063 | $0.01000 |
| Opus 5 | $0.00032 | $0.00500 |
| Sonnet 5 | $0.00013 | $0.00200 |
| Haiku 4.5 | $0.00006 | $0.00100 |
Grade A, and why
ship-it 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 5d 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 — 84 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Ship It
Run the full pre-commit pipeline, commit, push, and handle PR housekeeping.
1. Verify
Run verification per verify-when-complete. Stop if any step fails.
Review-status check (informational, non-blocking). If a .reviews/<date>/SUMMARY.md exists whose GIT_COMMIT_FULL metadata header matches the current HEAD SHA, count the rows under ## Findings — untracked and inside the <details> block for Findings — tracked, then print a single line:
Review status: <N> untracked / <M> tracked findings @ <short-sha> (<.reviews/path>)
Do not block on N > 0 — /ship-it runs because the user said so. The line is a sanity check, not a gate. If no matching SUMMARY.md exists, skip the line silently (don't run /review-all from here).
2. Changelog
Check if the project has a changelog convention:
- If
Taskfile.yamlhas achangelogtask, runtask changelogand follow its output. - Otherwise, look for existing changelog entries:
- Per-PR fragment directories like
.changeset/(JS/TS via@changesets/cli),.changes/(Python viatowncrier), or similar project-defined conventions CHANGELOG.mdat the repo root
- Per-PR fragment directories like
- If a convention is found, create a terse entry following the existing format and patterns.
- If no changelog convention exists, skip this step.
3. Commit
Stage all changes and commit using Conventional Commits format:
<type>[optional scope]: <description>
Common types: feat, fix, refactor, test, docs, chore, ci, build.
Always create a new commit. Never amend.
Apply terse-output commit-message tone: imperative subject ≤72 chars, body explains why (the diff shows what), no "this commit does X" / "I" / "we" / "now". Keep the Co-Authored-By: Claude… attribution.
4. Push and PR
Push the current branch:
git push -u origin HEAD
If a PR exists for the current branch, update its title and description to reflect the current state:
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.
- 5d ago First seen · 84 lines · 63 tokens per session scan A b6917481ac31
ship-it is a skill published in the GitHub repository paultyng/skill-issue (9 stars, last pushed 24d ago), licensed MIT. It adds 63 tokens to every session and 1,000 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 skills, from other repositories
deployment-manager
Deployment and release management specialist for CrawlForge MCP Server. Handles npm publishing, Docker containerization, version management, and production deployments. Use before releases, deployments, and version bumps.
vibetime-release
Use for VibeTime release work, including bumping the date-based version, creating and pushing release tags, triggering GitHub Actions CI packaging, creating or updating GitHub Releases with notes from the previous version, and verifying uploaded macOS/Windows assets. Trigger on requests such as 发版, 发布新版, release, bump…
git-onboarding-auto
Git 설정부터 PR 생성까지 전 과정을 자동으로 실행합니다. "자동으로 해줘", "전부 자동화", "원클릭 PR", "자동 설정" 같은 요청에 사용됩니다.
share-a-library
Use when a managed library is ready to publish to GitHub and hand to teammates as an install command. Run the GitHub publishing steps, then return the exact shareable install command.
devops/changelog-generation
自动生成 CHANGELOG,基于 git 提交历史和 pipeline 产物信息,遵循 Conventional Commits 和 Keep a Changelog 规范.
generate-release-notes
Generate categorized release notes from any source (GitHub, Linear, Jira, or manual input) with optional publishing.