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).
How this skill is triggered — by the user, by Claude, or both
Slash command
/ship:focusThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
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.
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.
npx claudepluginhub withqwerty/plugins --plugin shipOne-shot perspective reset that scans your current work, generates an abstract reframing question, and runs 3 quick checks (scope drift, side effects, better approach) in under 10 lines.
Tests current work against a written mission anchor to detect and correct goal drift, scope creep, or standards erosion. Forces a continue, re-anchor, escalate, or stop decision.
Compares approved plans against actual implementation to detect unimplemented items, out-of-scope changes, and design drift. Invoked via /drift-check.