| name | ship |
| description | Complete end-of-session workflow - verify work quality, organize commits, and summarize what shipped. Use at the end of a development session to ship cleanly. |
Ship Skill
Complete end-of-session workflow: verify work, organize commits, and summarize what shipped.
When to Use
Invoke with /ship when you're done with a development session and want to:
- Verify code quality and security
- Create clean, organized commits from your changes
- Get a summary of what was shipped
Instructions
Phase 0: Verify Work (Mandatory)
IMPORTANT: All code changes MUST pass verification before organizing commits.
-
Run comprehensive verification by invoking the /verify-work skill.
-
Resolve all BLOCKING issues:
- Auto-fixes are applied silently by verify-work
- If blocking issues remain that need manual fixes, stop and report them
- Cannot proceed to Phase 1 until all blocking issues are resolved
-
Run tests if the project has a test suite:
- Check for a test script in
package.json (or equivalent for the project's runtime)
- Run with the project's package manager/runtime (bun, npm, yarn, pnpm, etc.)
- If tests fail, fix the issues before proceeding
- If no test suite exists, skip this step
Phase 1: Organize Commits
-
Analyze Changes
git status
git diff --stat HEAD
-
Group into Logical Commits
Categorize by: feat, fix, refactor, style, docs, chore, test, perf
-
Present Commit Plan
Show proposed groupings and ask for approval.
-
Execute Commits
Create each commit with conventional commit messages.
Phase 2: Ship Summary
After commits are created, print a brief summary of what was shipped:
## Ship Summary
**Branch:** feature/my-feature
**Commits:** 3
1. feat: add user settings page
2. fix: correct validation on email field
3. chore: update dependencies
**Files changed:** 12 files (+340, -45)
Ready to push or create a PR.
This is informational only — no database writes, no external calls. Just a clean summary so you can see what was done at a glance.
Quick Reference
| Phase | Action | Details |
|---|
| 0 | Verify work | Run /verify-work, auto-fix, run tests |
| 1 | Organize commits | Group changes, create conventional commits |
| 2 | Ship summary | Print what was shipped |
Example Flow
User: /ship
Claude: I'll help you ship your changes. First, let me verify code quality...
[Phase 0: Runs /verify-work]
Verification Results:
- Auto-fixed: 2 console.log statements removed
- All checks passed
Running tests... 45 tests passed.
[Phase 1: Analyzes changes]
I found 8 changed files across 3 categories:
1. feat(auth): add password reset flow (4 files)
2. fix(forms): correct email validation regex (2 files)
3. chore: update lock file (2 files)
Does this grouping look right?
User: yes
Claude: Creating commits...
- feat(auth): add password reset flow
- fix(forms): correct email validation regex
- chore: update lock file
[Phase 2: Summary]
## Ship Summary
**Branch:** feature/password-reset
**Commits:** 3
1. feat(auth): add password reset flow
2. fix(forms): correct email validation regex
3. chore: update lock file
**Files changed:** 8 files (+220, -15)
Ready to push or create a PR.
Notes
- Phase 0 is mandatory — cannot skip verification
- Verification auto-fixes what it can, reports the rest without prompting
- Tests run automatically if a test suite exists
- Phase 2 is just a summary — no side effects, no tracking, no DB writes
- Commits follow conventional commit format with Co-Authored-By
- Works with any project — no project-specific assumptions