一键导入
ship
Deliver code to users. Optimize the path from merged code to working install. Use when execution is complete and you need to get changes into users' hands.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Deliver code to users. Optimize the path from merged code to working install. Use when execution is complete and you need to get changes into users' hands.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Clarify the outcome you want - a change in user behavior, not a feature shipped. Use at the start of any work to ground the session in strategic intent.
Devil's advocate. Seek contrary evidence before locking in. Use when about to make a significant decision, when confidence is high but stakes are higher, or when the team is converging too quickly.
Human-led curation of accumulated metis and guardrails. Surface patterns across sessions, propose what to promote, compact, or dismiss. Use after multiple sessions, before a new phase, or when search results feel noisy.
Do the work. Pre-flight, build, detect drift, salvage if needed. Use when you have a clear aim and are ready to implement.
Map what we're optimizing and what constraints we treat as real. Use before jumping to solutions, when hitting repeated blockers, or when patches keep accumulating.
Check work and detect drift before committing. A second opinion that catches misalignment early. Use at natural pause points, before PRs, or when something feels off.
| name | ship |
| description | Deliver code to users. Optimize the path from merged code to working install. Use when execution is complete and you need to get changes into users' hands. |
Optimize the delivery path from completed work to working install. The insight: when execution is cheap, delivery is the work.
Ship is the final step of the Execution phase. Code that isn't in users' hands isn't delivering value. This skill identifies and removes friction in your delivery path.
Invoke /ship when:
Do not use when: You're still building. Ship is for getting completed work to users, not for execution.
Before shipping, map the path from code to working install:
"The delivery path for this change is: [local] -> [PR/review] -> [merge] -> [CI/CD] -> [staging/prod] -> [user install]."
Be specific. Name each step and who/what owns it.
The delivery-path tax is the friction that slows velocity. Identify where time is lost:
Based on context available, execute the appropriate shipping actions:
If you have access to the CI/CD configuration (build YAML, pipeline definitions):
If shipping manually or without pipeline access:
Shipping isn't done until you verify:
Create ad-hoc verification tests if needed. These can be kept or discarded - the point is confidence, not permanent test infrastructure.
Always produce a ship report in this structure:
## Ship Report
**Shipped:** [what was shipped]
**Target:** [where it was shipped to]
**Path:** [the delivery path taken]
### Delivery-Path Tax Identified
- [Friction point 1]: [time/effort cost]
- [Friction point 2]: [time/effort cost]
### Ship Actions Taken
1. [Action 1 - result]
2. [Action 2 - result]
3. [Action 3 - result]
### Verification
- [x] Deployed successfully
- [x] Running in target environment
- [x] User-facing functionality confirmed
### Recommendations
[Any suggestions for reducing delivery-path tax in future]
/ship
PR #247 is approved. Need to get it deployed to production.
Output:
## Ship Report
**Shipped:** PR #247 - Add dark mode toggle
**Target:** Production (users)
**Path:** Approved PR -> Merge -> CI build -> Staging auto-deploy -> Prod deploy
### Delivery-Path Tax Identified
- Review time: 2 hours (acceptable)
- CI build: 8 minutes
- Staging deploy: 3 minutes
- Prod approval: Waiting (manual gate)
### Ship Actions Taken
1. Merged PR #247 to main - success
2. CI build triggered automatically - passed (8m)
3. Staging deploy completed - verified working
4. Requested prod deployment approval
5. Prod deploy completed after approval
### Verification
- [x] Build passed CI
- [x] Staging environment shows dark mode toggle
- [x] Production deployment complete
- [x] User-facing: toggle visible in settings
### Recommendations
- Consider auto-deploy to prod for UI-only changes (low risk)
- Staging verification could be automated
/ship
We've had 3 PRs sitting for a week. What's blocking us?
Output:
## Ship Report
**Shipped:** Analysis only (no deployment)
**Target:** Identifying delivery friction
### Delivery-Path Tax Identified
- Review time: 5-7 days average (CRITICAL)
- Only 2 reviewers for 8 developers
- Reviews happen in batches, not continuously
- Security scan: 45 minutes per PR (HIGH)
- Runs serially, not parallel
- Same scan runs on every commit, not just final
- Merge conflicts: 2 of 3 PRs have conflicts
- Main branch has diverged significantly
### Recommendations
1. **Immediate:** Resolve merge conflicts on PRs #251, #253
2. **This week:** Add 2 more reviewers or implement AI pre-review
3. **This sprint:** Move security scan to run only on merge-ready PRs
4. **Consider:** Daily review slots instead of batch reviews
/ship
Need to deploy the firmware update to the test device. No CI for this.
Output:
## Ship Report
**Shipped:** Firmware v2.3.1
**Target:** Test device (ESP32)
**Path:** Local build -> USB flash -> Device verification
### Ship Actions Taken
1. Built firmware: `pio run -e esp32`
2. Connected device via USB
3. Flashed: `pio run -e esp32 -t upload`
4. Monitored boot: `pio device monitor`
### Verification
- [x] Flash completed without errors
- [x] Device booted successfully
- [x] Version shows 2.3.1 in status endpoint
- [x] New feature (power saving mode) responding
### Delivery-Path Tax Identified
- Manual USB connection required
- No OTA update path for test devices
- Build takes 2 minutes locally
### Recommendations
- Set up OTA updates for faster iteration
- Consider PR builds that produce flashable artifacts
This skill can persist context to .oh/<session>.md for use by subsequent skills.
If session name provided (/ship auth-refactor):
.oh/auth-refactor.md directlyIf no session name provided (/ship):
"Save to session? [suggested-name] [custom] [skip]"
Reading: Check for existing session file. Read Aim (what outcome we wanted), Solution Space (what approach we took), and Execute status.
Writing: After shipping, write the deployment status:
## Ship
**Updated:** <timestamp>
**Status:** [staged | deployed | verified | rolled-back]
[shipping notes, verification results, etc.]
Works anywhere. Produces ship checklist for manual execution. No persistence.
.oh/<session>.md for context on what was built and why/review can check if shipping achieved the aimShip is part of the execution phase, but it has its own mini-loop:
After shipping, the outer loop continues:
/review - Did the shipped change achieve the aim?/salvage - If shipping revealed problems, capture learnings/aim - What's the next outcome to pursue?Comes after: /execute (the work is done, now deliver it).
Leads to: /review (did the shipped change achieve the aim?), then back to /aim for the next outcome.
This is the end of the line: Ship is where code becomes value. Everything before this is potential; ship makes it real.
Remember: Code that isn't shipped isn't delivering value. When execution is cheap, delivery is the bottleneck. Optimize the path, reduce the tax, get changes to users.