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
1---2name: ship3description: 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.4---56# Ship Skill78Complete end-of-session workflow: verify work, organize commits, and summarize what shipped.910## When to Use1112Invoke with `/ship` when you're done with a development session and want to:13- Verify code quality and security14- Create clean, organized commits from your changes15- Get a summary of what was shipped1617## Instructions1819### Phase 0: Verify Work (Mandatory)2021**IMPORTANT**: All code changes MUST pass verification before organizing commits.22231. **Run comprehensive verification** by invoking the `/verify-work` skill.24252. **Resolve all BLOCKING issues**:26 - Auto-fixes are applied silently by verify-work27 - If blocking issues remain that need manual fixes, stop and report them28 - Cannot proceed to Phase 1 until all blocking issues are resolved29303. **Run tests** if the project has a test suite:31 - Check for a test script in `package.json` (or equivalent for the project's runtime)32 - Run with the project's package manager/runtime (bun, npm, yarn, pnpm, etc.)33 - If tests fail, fix the issues before proceeding34 - If no test suite exists, skip this step3536---3738### Phase 1: Organize Commits39401. **Analyze Changes**41 ```bash42 git status43 git diff --stat HEAD44 ```45462. **Group into Logical Commits**47 Categorize by: feat, fix, refactor, style, docs, chore, test, perf48493. **Present Commit Plan**50 Show proposed groupings and ask for approval.51524. **Execute Commits**53 Create each commit with conventional commit messages.5455---5657### Phase 2: Ship Summary5859After commits are created, print a brief summary of what was shipped:6061```markdown62## Ship Summary6364**Branch:** feature/my-feature65**Commits:** 366671. feat: add user settings page682. fix: correct validation on email field693. chore: update dependencies7071**Files changed:** 12 files (+340, -45)7273Ready to push or create a PR.74```7576This is informational only — no database writes, no external calls. Just a clean summary so you can see what was done at a glance.7778---7980## Quick Reference8182| Phase | Action | Details |83|-------|--------|---------|84| 0 | Verify work | Run `/verify-work`, auto-fix, run tests |85| 1 | Organize commits | Group changes, create conventional commits |86| 2 | Ship summary | Print what was shipped |8788## Example Flow8990```91User: /ship9293Claude: I'll help you ship your changes. First, let me verify code quality...9495[Phase 0: Runs /verify-work]9697Verification Results:98- Auto-fixed: 2 console.log statements removed99- All checks passed100101Running tests... 45 tests passed.102103[Phase 1: Analyzes changes]104105I found 8 changed files across 3 categories:1061071. feat(auth): add password reset flow (4 files)1082. fix(forms): correct email validation regex (2 files)1093. chore: update lock file (2 files)110111Does this grouping look right?112113User: yes114115Claude: Creating commits...116- feat(auth): add password reset flow117- fix(forms): correct email validation regex118- chore: update lock file119120[Phase 2: Summary]121122## Ship Summary123124**Branch:** feature/password-reset125**Commits:** 31261271. feat(auth): add password reset flow1282. fix(forms): correct email validation regex1293. chore: update lock file130131**Files changed:** 8 files (+220, -15)132133Ready to push or create a PR.134```135136## Notes137138- **Phase 0 is mandatory** — cannot skip verification139- Verification auto-fixes what it can, reports the rest without prompting140- Tests run automatically if a test suite exists141- Phase 2 is just a summary — no side effects, no tracking, no DB writes142- Commits follow conventional commit format with Co-Authored-By143- Works with any project — no project-specific assumptions