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/cubha/claude-workflow-plugins/shipnpx skills add cubha/claude-workflow-plugins --skill shipgit clone --depth 1 https://github.com/cubha/claude-workflow-pluginsWrote 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/cubha/claude-workflow-plugins/ship)<a href="https://agentmods.dev/skills/cubha/claude-workflow-plugins/ship"><img src="https://agentmods.dev/badge/skills/cubha/claude-workflow-plugins/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 | $0.00113 | $0.02865 |
| Opus 5 | $0.00056 | $0.01432 |
| Sonnet 5 | $0.00023 | $0.00573 |
| Haiku 4.5 | $0.00011 | $0.00286 |
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 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.
How it starts
The opening of the file, as written. The whole thing — 276 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Ship 파이프라인 (Commit → Push → PR → Merge)
$ARGUMENTS 를 파싱해 모드를 결정하고 전체 파이프라인을 실행한다.
브랜치 전략 자동 적응: 리포지토리에
develop브랜치가 있으면 git-flow(feature → develop → main)로, 없으면 GitHub Flow(feature → main)로 자동 동작한다. 별도 설정 없이 현재 리포의 브랜치 구조를 감지해 맞춘다.
파이프라인 구성
[파이프라인 A] --dev : feature/* → develop
[파이프라인 B] --main : develop → main
[GitHub Flow] develop 브랜치 없음 → feature/* → main
[체인 모드] --main + feature/* + 미push 변경사항
= 파이프라인 A 자동 실행 → 완료 후 파이프라인 B 자동 실행
Step 0 — $ARGUMENTS 파싱
$ARGUMENTS에서 아래 항목을 순서대로 추출한다:
| 항목 | 추출 대상 | 기본값 |
|---|---|---|
| 타겟 플래그 | --dev 또는 --main |
없음 (브랜치로 자동 결정) |
| 머지 방식 | --merge 또는 --rebase |
squash |
| 커밋 메시지 | 플래그 제외 나머지 문자열 | 변경사항 분석해 자동 생성 |
두 타겟 플래그 동시 입력 시 → 즉시 중단: "플래그는 --dev 또는 --main 중 하나만 사용 가능합니다."
Step 1 — 사전 확인 및 모드 결정
1-1. 기본 정보 수집
git branch --show-current # 현재 브랜치
git status --short # 변경사항 여부
git remote get-url origin # owner/repo 파싱
git ls-remote --heads origin develop # develop 브랜치 존재 여부
origin 미설정 시 → 즉시 중단: "git remote add origin 후 재시도하세요."
1-2. 모드 결정 분기
develop 브랜치 없음?
└─▶ GitHub Flow MODE (Step 2L)
develop 브랜치 있음?
├─ 현재: main/master → 즉시 중단
├─ 현재: develop + --dev 플래그 → 즉시 중단
│ ("develop에서 --dev 불가. feature 브랜치에서 사용하세요.")
│
├─ 현재: develop + (--main | 플래그 없음)
│ └─▶ PIPELINE B (Step 2B)
│
└─ 현재: feature/*
├─ --dev 또는 플래그 없음
│ └─▶ PIPELINE A (Step 2A)
│
└─ --main
├─ 변경사항 없음 → checkout develop → PIPELINE B (Step 2B)
└─ 변경사항 있음 → CHAIN MODE (Step 2A → Step 2B 자동 연결)
변경사항 없고 현재 브랜치 = develop이며 develop == main 이면 → 즉시 중단: "develop이 이미 main과 동일합니다."
1-3. 기능·보안·DB 사전검토
커밋 직전 기능 검증 게이트를 통과시킨 뒤 경량 보안/DB 검토를 수행한다.
1-3-0. 기능 검증 게이트 (verify.sh — 항상 우선 실행)
커밋·머지 전에 코드가 정적+단위 게이트를 통과하는지 확인한다. --no-verify 금지(아래 정책)의 상위 보증.
[ -f verify.sh ] && bash verify.sh --full
--full: 커밋 전 시점이라 git diff 스코프가 좁을 수 있으므로 전체 검사로 vacuous-pass(아무것도 검사 안 하고 통과)를 방지한다.verify.sh부재 시 → 조용히 통과시키지 않는다. 프로젝트에 통합 검증 스크립트가 없다는 뜻이므로:- 프로젝트에 관례적 검증 명령이 있으면(
package.json의test/build/lint,Makefile의test등) 그걸 실행한다. - 그것도 없으면 REPORT 상단에 "⚠️ 기능 게이트 없음 — 미검증 코드 ship" 경고를 크게 표시하고, 네이티브
/verify(앱 실행·동작 확인)·/security-review(변경 diff 보안 검토)로 최소 확인을 권한다. - 사용자가 명시적으로 진행을 승인하지 않는 한, 완전 미검증 상태로 protected 브랜치 머지까지 자동 진행하지 않는다.
- 프로젝트에 관례적 검증 명령이 있으면(
- FAIL → 즉시 중단, 사용자에게 실패 항목 보고. tsc/lint/build/단위테스트 미통과 코드는 ship하지 않는다.
- 이미 구현·리팩토링 파이프라인을 거쳐 통과 상태라면 빠르게 재확인되어 통과한다 —
/ship직접 진입 시의 최소 기능 안전망.
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 · 276 lines · 113 tokens per session scan A 9875958f0a2e
ship is a skill published in the GitHub repository cubha/claude-workflow-plugins (2 stars, last pushed 1mo ago), licensed MIT. It adds 113 tokens to every session and 2,865 once invoked, about $0.0006 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
abd-devops
ABD DevOps agent: scaffolds CI/CD, validates .env.example coverage, checks Dockerfile hygiene, and handles release tasks.
tutti-app-release
Set up, review, run, or debug external repositories that publish a Tutti workspace app through the reusable Tutti App Release GitHub Actions workflow. Use for caller workflows, tutti.app.json manifests, @tutti-os/app-release-tools, S3/CloudFront release hosting, latest.json, versions.json, catalog.json, catalog-only…
add-azuredevops
Adds Azure DevOps connector to a Power Apps code app. Use when querying work items, creating bugs, managing pipelines, or making ADO API calls.
release-bridge
Bridge Server のリリース(バージョンbump + CHANGELOG + タグ → GH Actions で npm publish).
github-actions-gen
分析真实项目并生成或修订安全、可验证的 GitHub Actions workflow;当用户要求创建 CI、测试矩阵、构建、Release、部署、缓存、Secrets、OIDC、PR 自动化或排查 workflow 配置时使用.
changelog-generator
Generate changelogs from git commits. Use when user says "generate changelog", "update changelog", "what changed since last release", or before preparing a new release.