with one click
ship-workflow-ship
// 发布或导出检查 → Go/No-Go → 归档。当审查通过后需要上线或交付最终产物,或提到"发布""上线""ship""Go/No-Go"
// 发布或导出检查 → Go/No-Go → 归档。当审查通过后需要上线或交付最终产物,或提到"发布""上线""ship""Go/No-Go"
| name | ship-workflow-ship |
| description | 发布或导出检查 → Go/No-Go → 归档。当审查通过后需要上线或交付最终产物,或提到"发布""上线""ship""Go/No-Go" |
| argument-hint | [artifact-type] [--canary] |
docs/features/<name>/05-ship.md + docs/features/<name>/README.md(聚合 README + 事后总结)reflect-team-retro(可选)verify-workflow-review/SKILL.md先读取 spec 的 artifact_type:
software(默认)→ 加载 ship-infrastructure-deploy,按其 Pre-Launch 检查表逐项执行代码质量、安全、性能、基础设施和文档验证document / article / deck / visual → 加载 ship-artifact-export,执行导出、预览、归档和交付检查验证命令(必须运行):
npm test && npm run build && npm run lint && npx tsc --noEmit
预发检查通过后,按产物类型并行分派相应 auditor 做发布前专项审计:
Pre-launch checks (Phase A passed)
│
├── agents/ship-security-auditor.md → 安全审计: OWASP、输入边界、认证授权、数据暴露、依赖
├── agents/ship-performance-auditor.md → 性能审计: 关键路径、N+1查询、内存资源、Bundle影响、退化
├── agents/ship-accessibility-auditor.md → 无障碍审计: WCAG合规、屏幕阅读器、表单错误、动态内容
├── agents/ship-docs-auditor.md → 文档审计: CHANGELOG、README、迁移指南、API文档、错误信息
└── agents/ship-artifact-export-auditor.md → 非 software 导出 QA: source/final 对齐、格式、归档、交付包验证
│
▼
收集审计结果 → 分级合并 → 修正 → 进入 Staging(Phase B.5)
每个 auditor 输出 Blocking / Important / Suggestion 三级反馈。
阶段技能只分派已被最少触发条件选中的 auditor;未被选中的 auditor 不产出占位反馈。
反馈处理规则:
最少触发条件:
software 标准变更 → 至少 security + docs 双审计--full → 当前产物类型相关角色全开保留向后兼容: 高风险变更也可加载专项审查技能:
verify-quality-security/SKILL.md — 深度安全专项verify-quality-performance/SKILL.md — 深度性能专项verify-frontend-accessibility/SKILL.md — 深度无障碍专项software 强制)software 上线前必须经过 staging 环境验证:
验证步骤:
npm teststaging 不完全 == 不上线。 所有 software 验证必须全部绿色才能进入 Go/No-Go。
非 software 产物在这一阶段改为执行最终交付包验证:
文档化:
## Go/No-Go
- [ ] 阻塞项:无未解决的 Critical 问题
- [ ] 已知风险:[列出]
- [ ] 回滚计划:已准备(强制!)
回滚计划模板:
## 回滚计划
### 触发条件
- 错误率 > 2x 基准
- P95 延迟 > [X]ms
### 回滚步骤
1. 禁用 feature flag(如适用)
或
1. 部署上一版本:`git revert <commit> && git push`
2. 验证回滚:健康检查、错误监控
3. 沟通:通知团队
### 数据库执行
- Migration [X] 有 rollback
- 新功能插入的数据:[保留 / 清理]
### 回滚时间
- Feature flag: < 1 分钟
- 重部署前一版本: < 5 分钟
- DB rollback: < 15 分钟
自动生成 docs/features/<name>/README.md,包含:
Feature Summary:owner、日期、状态、artifact_type、最终结果、来源目标Document Index:00-brainstorm.md 到 07-deploy-report.md 的阶段证据状态Timeline:关键阶段日期、证据路径和备注Key Decisions:ADR / design / ship 决策索引、理由和当前状态Delivery Outcome:已交付、未交付、最终产物、用户可见变化、项目文档和变更统计Verification Evidence:review / ship / canary / deploy 门禁证据、结果和 ownerResidual Risks:剩余风险、影响、owner 和 trackingFollow-up Actions:后续动作、owner、due date 和 trackingRetro Notes:做得好、应改变、可复用经验同时检查并记录 Documentation Sync:
Updated project docsDeferred project docsCHANGELOG.md updatedREADME verified发布完成后,必须执行发布后闭环:
ship-workflow-canary — 金丝雀监控,curl 关键端点比对基线ship-workflow-land — 合并 PR、等 CI、验证生产环境ship-workflow-doc-sync — 交叉引用变更,同步更新过时文档分阶段上线策略、Feature Flag 生命周期和推进/回滚阈值详见 ship-infrastructure-deploy。
## Go/No-Go — 任务管理 v2.3
- [x] 阻塞项:无未解决 Critical
- [x] 已知风险:旧版 API 兼容窗口 48h,已准备 fallback 路由
- [x] 回滚计划:feature flag 关闭 < 1min;git revert + redeploy < 5min
- [x] Staging 全绿,冒烟测试通过
- 决策:GO
优点:每项可验证、回滚时间量化、风险显式记录。
代码能跑了,周五之前上线吧。出问题再修。
问题:无回滚计划、无 staging 验证、无监控确认、无 Go/No-Go 决策记录。上线后故障无法快速回退。
模板起点:
templates/feature/05-ship.mdtemplates/feature/README.md(聚合 README)# Ship Report — <feature-name>
## 基本信息
- artifact_type: software / document / article / deck / visual
- 版本: <version>
- 发布时间: YYYY-MM-DD HH:MM
## Delivery Scope
- Deliverables:
- Commit / version / artifact path:
- Target users / audience:
- Explicitly out of scope:
## Review Carryover
- Review verdict:
- Blocking remaining:
- Important / deferred risks:
- Review conditions:
## Pre-ship Evidence
| Check | Command / Evidence | Result | Owner |
|-------|--------------------|--------|-------|
## Ship Audit Results
| Audit | Required | Auditor | Result | Blocking findings | Accepted risks |
|-------|----------|---------|--------|-------------------|----------------|
## Final Verification
- software staging:
- smoke / integration verification:
- migration / data compatibility:
- feature flag / kill switch:
- artifact export verification:
- final file / delivery package path:
## Go / No-Go Decision
| Criterion | Required | Status | Evidence |
|-----------|----------|--------|----------|
- Decision: GO / NO-GO
- Decision owner:
- Decision time:
## Rollback / Recovery Plan
- Trigger conditions:
- Recovery steps:
- Data handling:
- Expected recovery time:
- Owner:
- Non-software replacement / re-export plan:
## Documentation Sync
- Updated project docs: [paths or none]
- Deferred project docs: [paths + reasons or none]
- CHANGELOG.md updated: yes / no / n/a
- README verified: yes / no / n/a
## Post-ship Monitoring
- Observation window:
- Health checks / metrics:
- Alert thresholds:
- Monitoring owner:
- First check time:
## Handoff / Archive
- Final artifact / release path:
- Release notes / changelog path:
- Archived evidence path:
- Next command: canary / land / doc-sync / export
- Owner:
聚合 README 必须使用 templates/feature/README.md,并至少保留:
Feature SummaryDocument IndexTimelineKey DecisionsDelivery OutcomeVerification EvidenceResidual RisksFollow-up ActionsRetro Notes├── 错误率(总数 + 按端点)
├── 响应时间(p50 / p95 / p99)
├── 请求量
├── 活跃用户
└── 关键业务指标(转化率、参与度)
上线后 1 小时内:
| 失败场景 | 处理方式 |
|---|---|
| Staging 测试失败 | 阻塞。修复后重新部署 staging,不可跳过直接上线 |
| Go/No-Go 被否决 | 回到对应阶段修复(review / build),重新走预发检查 |
| 上线后错误率飙升 | 立即回滚(禁用 feature flag 或 revert),不"观察一下" |
| Feature flag 未就绪 | 阻塞。不上线。在 staging 验证 flag 开关功能正常 |
| DB migration 向前不兼容 | 阻塞。修复 migration 使其向前兼容,或拆分为两阶段部署 |
| 回滚计划不完整 | 阻塞。必须补全触发条件和步骤后才可上线 |
输出或记录必须包含:
| 说辞 | 现实 | 后果 |
|---|---|---|
| "周五下午了,发了吧" | 周五不发版。 | 周五上线后周末无人监控,故障持续到周一才被发现,用户受影响时间 48-72 小时。 |
| "不需要 feature flag" | 每个功能都需要 kill switch。 | 没有 kill switch 的功能出问题时只能重部署回滚,回滚时间从 < 1 分钟(关 flag)膨胀到 15-30 分钟(revert + 重新部署)。 |
| "监控是额外的成本" | 没有监控意味着从用户投诉而不是仪表盘发现故障。 | 从用户投诉到定位问题平均 2-4 小时;有监控从仪表盘发现到定位平均 5 分钟。MTTR 差距 24-48x。 |
| "回滚就是承认失败" | 回滚是负责任的工程。发布有问题的功能才是失败。 | 拒绝回滚 = 让所有用户持续受损。每多 1 分钟犹豫,多 1 分钟用户流失。故障持续时间与用户信任损失正相关。 |
违反字面规则就是违反精神。 没有灰色地带。
上线前:
04-review.md verdict、条件和残余风险00-brainstorm.md 到 07-deploy-report.md 的证据状态上线后:
结构化脑暴——发散探索 + 收敛评估。当想法模糊、面临开放性问题或需要方案对比,或提到"脑暴""想法""方案对比""怎么办"
恢复保存的工作上下文。当新 session 需要继续之前的工作,或提到"恢复""restore""继续上次"
保存工作上下文。当需要保存当前工作状态供后续 session 恢复,或提到"保存""save""checkpoint""挂起"
架构决策记录(ADR)。当面临技术选型、架构决策、方案取舍需要记录,或提到"ADR""决策记录""为什么这样做"
合并 PR → 等待 CI → 验证生产。当 PR 已创建需要合并到主分支并验证部署,或提到"合并""merge""PR""land"
发布后健康监控。当代码已部署需要持续验证生产健康,或提到"金丝雀""canary""监控""健康检查"