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/greatsumini/cc-system/shipnpx skills add greatSumini/cc-system --skill shipgit clone --depth 1 https://github.com/greatSumini/cc-systemWhat 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.00119 | $0.01246 |
| Opus 5 | $0.00060 | $0.00623 |
| Sonnet 5 | $0.00024 | $0.00249 |
| Haiku 4.5 | $0.00012 | $0.00125 |
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 yesterday.
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 — 94 lines — stays where its author put it; the contents beside it link to each section on GitHub.
ship
작업을 main(기본 브랜치)으로 squash merge 까지 한 번에 출하하는 skill.
사람의 판단이 필요한 커밋 작성은 이 본문이 처리하고, push→PR→merge
의 결정적 plumbing 은 scripts/ship.sh 가 처리한다.
안전 규칙 (어기지 말 것)
- force push 금지,
--no-verify/--no-gpg-sign금지. 훅이 실패하면 우회하지 말고 원인을 고친다. - 기본 브랜치(
main/master)에 직접 커밋·머지하지 않는다 — 항상 feature 브랜치 → PR. - 검증을 약화시켜 머지하지 않는다. required check 가 막으면 auto-merge로
큐잉하거나 통과를 기다린다. check 우회(
--admin)는 사용자가 명시적으로 요청했을 때만(SHIP_ADMIN=1). - 시크릿/대용량 산출물을 커밋하지 않는다(commit skill의 secret-scan 준수).
워크플로
1. 변경 파악 + 커밋
git status --short && git diff --stat
- 커밋할 게 없고 브랜치가 이미 base 보다 앞서 있으면 → 바로 3번(이미 커밋됨).
- 변경이 있으면 커밋한다. 프로젝트에 commit skill 이 있으면 그 규약을
따른다. 없으면 Conventional Commits (
feat:/fix:/docs:/refactor:…), 제목은 명령형 한 줄, 본문은 왜 를 설명. 관련 변경만 스테이징.
2. 브랜치 보장
현재 브랜치가 기본 브랜치면 feature 브랜치를 먼저 만든다(커밋 전에).
DEF="$(gh repo view --json defaultBranchRef --jq .defaultBranchRef.name)"
CUR="$(git branch --show-current)"
if [ "$CUR" = "$DEF" ]; then
git checkout -b <type>/<slug> # 예: feat/ship-skill — 커밋 주제에서 슬러그 도출
fi
이미 feature 브랜치(예: 워크트리 브랜치)면 그대로 둔다.
3. push → PR → squash merge
bash <cc-system>/.claude/skills/ship/scripts/ship.sh
# 또는 제목/본문을 직접 지정:
# ship.sh --title "feat: …" --body "$(cat <<'EOF'
# why / what
# EOF
# )"
ship.sh 가 하는 일: 프리플라이트(클린 트리·non-default 브랜치·base 대비
ahead 확인) → git push -u origin HEAD → 기존 PR 재사용 또는 gh pr create
→ gh pr merge --squash. 즉시 머지가 required check 로 막히면 auto-merge
로 큐잉하고 그 사실을 정직하게 보고한다. 머지 성공 후 원격 브랜치는 따로
삭제(best-effort)한다.
옵션: --base <b>, --title, --body, --no-merge(PR만), --draft.
4. 결과 보고 (정직하게)
ship.sh 의 마지막 출력으로 상태를 그대로 전한다:
✅ MERGED— squash merge 완료.⏳ auto-merge queued— check 통과 후 자동 머지 예정. "머지됨"이라고 말하지 말 것. check 가 끝나면 머지된다고 안내.- auto-merge 불가(exit 3) — PR 은 열려 있음. check 통과를 기다렸다가
(필요시 polling)
gh pr merge <url> --squash로 마무리.
여러 repo 출하
repo 마다 cwd 를 바꿔(또는 git -C) 1~4를 반복한다. ship.sh 는 cwd 의
repo 에 대해 동작하므로 repo-agnostic 하다. 한 repo 가 막혀도(검증 대기 등)
다른 repo 출하를 멈추지 말고, 막힌 항목은 상태를 기록하고 끝까지 진행한다.
What ships with it
1 file 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.
- yesterday First seen · 94 lines · 119 tokens per session scan A 08f170de1de3
ship is a skill published in the GitHub repository greatSumini/cc-system (436 stars, last pushed 2mo ago), licensed MIT. It adds 119 tokens to every session and 1,246 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-30.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
babysit-pr
Babysit a GitHub pull request after creation by continuously polling review comments, CI checks/workflow runs, and mergeability state until the PR is merged/closed or user help is required. Diagnose failures, retry likely flaky failures up to 3 times, auto-fix/push branch-related issues when appropriate, and keep…
imagegen
Generate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, or transparent-background cutouts. Use when Codex should create a brand-new image, transform an existing image, or derive visual variants from references, and the output…
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
next-cache-components-optimizer
Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…