
Coco Ship
Use when finished work needs to reach a coco-managed repository (coco-research/coco or...
Install
npx skills add coco-research/coco --skill coco-ship -g -a claude-code -y- Repository
- coco-research/coco797
- Category
- Git and review
- Updated
- 3d ago
- License
- See repository
- Context cost
- Mediumabout 1,698 tokens
- Runs scripts
- No, instructions only
What it does
Use when finished work needs to reach a coco-managed repository (coco-research/coco or similar), verifies branch state, commits, pushes through the corporate DLP guard only when actually needed, opens a PR against main, waits for CI, and reports the result. Never merges, never pushes to main directly.
Shipping to a CoCo-managed Repo
Overview
Formalizes the branch → commit → guard-aware push → PR → CI-wait → report flow used for shipping
work to coco-research/coco (or any repo carrying the same corporate git-guard pre-push hook), so it
doesn't have to be re-derived by hand each time.
Core principle: Verify state → commit → detect whether the guard actually applies → confirm →
push → open PR → wait for real CI → report. Never merge. Never push to main directly, regardless of
how it's asked.
Announce at start: "I'm using the coco-ship skill to ship this branch."
This is the direct formalization of Option 2 ("Push and Create PR") in
finishing-a-development-branch, specialized for repos that carry the corporate git-guard. It
assumes implementation is already done and reviewed, it doesn't replace planning skills like
brainstorming, writing-plans, or GSD's phase workflow, and it doesn't run tests itself (that's
finishing-a-development-branch's Step 1, or the project's own CI).
The Process
Step 1: Preflight
git status -sb
git branch --show-current
If the current branch is main or master: stop. Do not commit or push here. Offer to create a
feature branch first:
git checkout -b <feature-branch-name>
If there's nothing to commit and the branch isn't already ahead of its upstream: stop and say so, there's nothing to ship.
Step 2: Commit
Use the standard git-commit protocol already in effect for this harness, this isn't a new invention, just invoked from inside the skill:
- In parallel:
git status,git diff(staged + unstaged),git log(recent messages, for style). - Draft a commit message from the actual diff, why, not just what, matching the repo's existing style.
- Stage named files explicitly. Never
git add -Aorgit add .. - Commit with a
Co-Authored-Bytrailer, via a heredoc so formatting survives. git statusagain to confirm a clean tree.

