From ship
Use this skill when the user is mid-build and drifting, scope is creeping, or focus is lost. Trigger on "ship focus", "scope check", "refocus", "what should I cut", "am I scope creeping", "this is getting bigger than expected", "I'm losing focus", "I keep finding things to improve", "should I stop and ship what I have", or "new requirements came in". Also trigger when the user expresses frustration about a task growing beyond its original intent, mentions touching many more files than expected, or asks whether to change direction mid-build. Do NOT trigger for pre-build gut checks (use ship-think) or post-build reviews (use ship-review).
npx claudepluginhub withqwerty/plugins --plugin shipThis skill is limited to using the following tools:
When the thing has grown beyond what you set out to do, this skill looks at what's actually changed, compares it to the original intent, and tells you what to cut and what to finish.
Surfaces blind spots mid-workflow by scanning context, generating one abstract reframing question, and running 3 quick checks (scope drift, side effects, better approach) in under 10 lines.
Drives projects autonomously from commander's intent to completion via OODA loop: scopes tickets, implements via skills, refactors, reviews, debugs. User as product owner.
Detects scope creep by comparing git diffs against original plan, quantifies drift percentage, classifies into ON_TRACK, MINOR_DRIFT, SIGNIFICANT_DRIFT, OUT_OF_CONTROL tiers.
Share bugs, ideas, or general feedback.
When the thing has grown beyond what you set out to do, this skill looks at what's actually changed, compares it to the original intent, and tells you what to cut and what to finish.
Determine what the user originally set out to build, from one of these sources (in priority order):
/ship:think output)Capture this as a single sentence. This is the anchor everything gets measured against.
Check .claude/ship.local.md for context. Read the product brief — the "What moves the needle" section is your reference for what matters. If the drift is toward something that serves a needle-mover, it might be worth keeping. If it's away from all of them, cut it.
Run git diff (staged + unstaged) and git diff --stat to understand the scope of changes. Also check git status for new untracked files.
Read the changed files to understand what work has been done. Categorise each change as:
Output a short, direct assessment. Format:
What you said you'd build: [one sentence from step 1]
What you've actually built: [one sentence summary of the diff]
Core (finish these):
Cut or defer (these aren't what you sat down to do):
If there's drift, be specific about what to revert or stash:
src/utils/auth.ts— You started refactoring the auth helpers. This isn't what you're shipping.git stashthis or revert it.
If there's no drift, say so:
You're on track. Everything here serves the original goal. Keep going.
End with one sentence of guidance calibrated to the situation:
Only if debrief-nudges: true in .claude/ship.local.md. Skip this section entirely if the flag is false or absent.
Check last-debrief. If it's been more than 7 days (or is never), add a single line at the end:
It's been [N days / a while] since your last debrief. Run
/ship:debriefwhen you have 10 minutes.
If debrief-deferred is set and it's been more than 2 days since deferral:
You deferred your debrief [N days] ago. Time to do it —
/ship:debrief.