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 catlog22/Claude-Code-Workflow --skill shipgit clone --depth 1 https://github.com/catlog22/Claude-Code-WorkflowWrote 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/catlog22/claude-code-workflow/ship)<a href="https://agentmods.dev/skills/catlog22/claude-code-workflow/ship"><img src="https://agentmods.dev/badge/skills/catlog22/claude-code-workflow/ship/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/catlog22/claude-code-workflow/ship"><img src="https://agentmods.dev/badge/skills/catlog22/claude-code-workflow/ship.svg" alt="Reviewed on agentmods" width="80" 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.00043 | $0.01699 |
| Opus 5.5 | $0.00017 | $0.00680 |
| Sonnet 5.5 | $0.00009 | $0.00340 |
| Haiku 4.5 | $0.00004 | $0.00170 |
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 1mo 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 — 125 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Ship
Structured release pipeline that guides code from working branch to a published release through 7 gated phases: pre-flight checks, automated code review, version bump, changelog generation, PR creation, platform publish (npm/PyPI/etc.), and GitHub release.
Phases 5 (PR) and 6 (Publish) are conditionally skippable — trunk-based workflows that commit directly to main skip Phase 5; private packages skip Phase 6. Phase 7 (GitHub release) is the terminal phase and always runs unless the publish step failed.
Key Design Principles
- Phase Gates: Each phase must pass before the next begins — no shipping broken code
- Multi-Project Support: Detects npm (package.json), Python (pyproject.toml), and generic (VERSION) projects
- AI-Powered Review: Uses CCW CLI to run automated code review before release
- Audit Trail: Each phase produces structured output for traceability
- Safe Defaults: Warns on risky operations (direct push to main, major version bumps)
Architecture Overview
User: "ship" / "release" / "publish"
|
v
┌──────────────────────────────────────────────────────────┐
│ Phase 1: Pre-Flight Checks │
│ → git clean? branch ok? tests pass? build ok? │
│ → Output: preflight-report.json │
│ → Gate: ALL checks must pass │
├──────────────────────────────────────────────────────────┤
│ Phase 2: Code Review │
│ → detect merge base, diff against base │
│ → ccw cli --tool gemini --mode analysis │
│ → flag high-risk changes │
│ → Output: review-summary │
│ → Gate: No critical issues flagged │
├──────────────────────────────────────────────────────────┤
│ Phase 3: Version Bump │
│ → detect version file (package.json/pyproject.toml/VERSION)
│ → determine bump type from commits or user input │
│ → update version file │
│ → Output: version change record │
│ → Gate: Version updated successfully │
├──────────────────────────────────────────────────────────┤
│ Phase 4: Changelog & Commit │
│ → generate changelog from git log since last tag │
│ → update CHANGELOG.md │
│ → create release commit, push to remote │
│ → Output: commit SHA │
│ → Gate: Push successful │
├──────────────────────────────────────────────────────────┤
│ Phase 5: PR Creation (skippable for trunk-based) │
│ → gh pr create with structured body │
│ → auto-link issues from commits │
│ → Output: PR URL │
│ → Gate: PR created OR skipped (direct-to-main) │
├──────────────────────────────────────────────────────────┤
│ Phase 6: Platform Publish (skippable if private) │
│ → detect registry (npm / PyPI / crates.io) │
│ → npm publish / twine upload / cargo publish │
│ → verify new version is live on registry │
│ → Output: published artifact metadata │
│ → Gate: registry confirms version OR skipped (private) │
├──────────────────────────────────────────────────────────┤
│ Phase 7: GitHub Release │
│ → git tag -a vX.Y.Z + push tag │
│ → gh release create with structured notes │
│ → Output: release URL │
│ → Gate: release URL returned │
└──────────────────────────────────────────────────────────┘
What ships with it
7 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.
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.
- 1mo ago First seen · 125 lines · 43 tokens per session scan A 0b9c4ca97bc1
ship is a skill published in the GitHub repository catlog22/Claude-Code-Workflow (2,124 stars, last pushed 4mo ago), licensed MIT. It adds 43 tokens to every session and 1,699 once invoked, about $0.0002 per session on Opus 5.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-09-03.
Other skills, from other repositories
dsh-plugin-publisher
A release tool for DSH plugins, where DSH is the DeepSeek Harness used to load these add-ons. It validates an existing plugin package, publishes it through npm, Git, or a tarball, and checks that the harness can load it.
lov-skill-optimizer
Audit and optimize one or more existing Agent Skills from a canonical source path, then bump semver, update README/SKILL.md/skill.yaml/CHANGELOG.md, and verify installed copies and catalog synchronization. Checks frontmatter, trigger quality, CLI hygiene, naming, portability, version drift, dirty worktrees, shared…
lov-skill-publisher
Publish or submit a validated Skill. Default to the LovStudio official website, run lov-skill-pricing automatically, and use other channels only when explicitly named.
lov-app-delta-updater
An automatic update workflow for Tauri and Electron desktop apps. It distinguishes signed full packages from genuine delta packages, which contain only changes, and checks how updates are discovered, installed, verified, and recovered.
github-release-notes-writer
Draft or update user-focused GitHub Release Notes from verified tags, commits, pull requests, existing releases, and supplied changelog baselines. Use when preparing prerelease or stable release notes, turning GitHub's generated What's Changed list into a curated narrative, documenting upgrades or breaking changes, or…
github-release-pr-writer
Draft or update GitHub release pull request descriptions from verified tags, commits, merged pull requests, and the release diff. Use when a PR prepares a version, aligns release metadata, promotes a prerelease, or needs a reviewer-focused release summary, exact change inventory, breaking-change section, or migration…