writing-skills
writing-skills
Use when creating new skills, editing existing skills, or verifying skills work before deployment
workflow-ship-and-observeTake merged, green code to a verified, monitored production release. Use when "ship it", "deploy to production", "release this", "go live", "roll this out", "promote to prod", or "cut a release" for a running app (npm packages → deploy-npm).
Independent GitHub snapshot · Automated classification · Original documentation governs
Degree of freedom: MIXED. Rollback-vs-hotfix [HIGH freedom]; pin
target/SHA, prove revision, observe window [LOW freedom — run exactly].
Shipping is not merging. A release is done only when the intended revision is live on the confirmed target, production smoke checks pass, and a defined monitoring window elapses without crossing rollback thresholds — or a rollback/hotfix has been executed.
Prove the deployed revision, then watch it. A 200 from a URL is not proof that your code is live, and "it deployed" is not proof that it is healthy.
Before any browser action, read protocol-browser-anti-stall.
Pin:
a1b2c3don Vercel production; rollback = previous promotion; Sentry + 5xx threshold set. Ship: migrations applied;vercel deploy --prodsucceeded. Prove:/versionreturnsa1b2c3d; checkout + login smoke 2xx. Watch: 2h window, error rate flat → STABLE. A 5xx spike would have promoted previous and re-smoked.
deploy-verify; npm package → deploy-npm; not-yet-green → workflow-green-repoNever guess where or what you are shipping. Establish:
workflow-green-repo /
complete-everything if not). Record the SHA.vercel.json, netlify.toml, fly.toml,
Dockerfile, render.yaml, Kubernetes manifests, GitHub Actions deploy
workflows, app.json/EAS, supabase/config.toml, Terraform. Confirm the
environment (staging vs production) with the user once and reuse it.full-stack-ship-discipline, these must deploy and be
verified alongside the frontend. Non-destructive schema required by the
approved release ships without re-asking on a confirmed target; destructive
data operations always ask first.Write .cursor/ship-state.md:
# Ship & Observe: <app> → <environment>
Revision: <sha>
Target/provider: <name>
Deploy: <command/workflow>
Rollback: <exact procedure>
Monitor window: <duration> · thresholds: <error rate / latency / crash-free>
## Steps
- [ ] preflight: repo green + revision confirmed
- [ ] backend deps deployed + verified
- [ ] deploy triggered
- [ ] deployed revision matches <sha>
- [ ] production smoke: <critical flows>
- [ ] monitoring window elapsed within thresholds
- [ ] stable OR rollback/hotfix executed
## Evidence
- <step>: <command/result>
The state file is the source of truth across context compaction and across the monitoring window; re-read it before each phase and before any claim.
/version/build-id endpoint, a build stamp,
or asset hashes. A reachable URL alone is not proof..playwright-mcp/.## Ship & Observe — report
Released: <sha> → <environment/provider>
### Result: STABLE | ROLLED BACK | HOTFIXED | BLOCKED
### Evidence
- deploy: <log/status>
- revision live: <how confirmed> = <sha>
- smoke: <flows> → <result + artifacts>
- monitoring: <window> → error rate <x>, latency <y>, crash-free <z>
### Rollback/hotfix (if any)
- trigger: <threshold crossed> → action: <what ran> → outcome
### Follow-ups
- none | <tracked item>
Completion level is deployed-verified after Phase 3 and observed-stable only after Phase 4 passes. Do not claim stability from a single smoke test.
deploy-verify — the post-deploy smoke methodology this skill builds ondeploy-npm — for npm package releases (not app deployments)full-stack-ship-discipline — backend must deploy and be verified tooiterate-post-launch — turn observed production signals into the next fixesworkflow-feedback-to-closure — route rollback/incident findings into ticketsverification-before-completion — deployed-verified vs observed-stable levels