launch-readiness-checklist
Use when a product release, experiment, migration, AI capability, staged rollout, hotfix, or public launch needs evidence-based readiness gates, accountable go/no-go authority, rollback controls, or p
SKILL.mdlaunch-readiness-checklist/SKILL.md
GitHub上线就绪检查清单
中文简介
上线就绪检查清单将“可以发吗”变成有责任、有截止、有可复核证据和明确阻断语义的发布决定。它按发布类型和风险裁剪功能、QA、数据、内容、监控、支持、隐私安全、AI、灰度和回滚工作;不会把“有人看过”“应该没问题”或截止日期当作通过证据。
使用背景
发布失败往往不是代码不能部署,而是数据迁移不可逆、监控不能发现关键伤害、客服没有兜底、开关无法关闭,或没有被授权的人在压力下宣布 go。AI 功能又会带来内容质量、提示注入、越权工具调用和人工接管风险。可靠的就绪评审必须让每项检查都能回答:谁在何时前完成、凭什么证明、未完成是否阻断、由谁决定例外,以及上线后何时扩大或退出。
核心原则
- 用发布类型、用户影响、数据可逆性、隐私/资金/权限和 AI 自主性分级;不把低风险 Web 文案变更与高风险迁移或 Agent 发布使用同一门槛。
- 每个
R-*就绪项必须有状态、owner、截止、证据链接或可执行命令、阻断级别和未完成动作;“reviewed”“有人看过”不是证据。 Blocker未关闭时默认No-go;只有具名决策权限人书面批准、写明范围、到期、缓解、监控和回滚条件,才可为Conditional go。- 事实、计划、假设、未知和真实执行结果分开记录。计划中的命令、仪表盘或演练不能写成已完成证据。
- feature flag、分批灰度和回滚是独立控制面:能停止新流量、限制受影响人群,并能恢复兼容状态。
- 关键数据迁移必须有备份/恢复、前向兼容、读写顺序、回填和验证;回滚不能依赖破坏已写入数据。
- AI 质量、安全和人机协作均为发布面:离线 eval、线上抽样、内容伤害、提示注入、越权和人工兜底不得被总体满意度抵消。
适用场景
- Web、移动端、SaaS、实验、Beta、公开发布、hotfix、依赖升级或跨平台版本的 go/no-go 评审。
- 含 schema/数据迁移、权限模型变化、支付/合规、外部依赖、feature flag 或需要灰度的发布。
- LLM、RAG、聊天、Copilot 或 Agent 从内部测试进入真实用户、扩大流量或改变模型/提示词/工具权限的发布。
- 需要给产品、工程、QA、数据、支持、安全、法务或值班团队交接可执行发布与观察计划。
不适用场景
- 还在决定做什么、没有发布候选或验收边界时,先使用
prd-builder、experiment-designer或spec-to-implementation-plan;本 Skill 不替代需求决策。 - 正在处理已发生的事故时,先用
bug-debugging-playbook建立复现和缓解证据;本 Skill 可接收其结论安排恢复发布。 - 没有任何决策授权、所有者或发布窗口时,不虚构 go/no-go;只输出
GAP-*、待确认人和停止条件。 - 不能访问真实系统时,只交付清单与待执行命令,不声称测试、迁移、演练或监控已通过。
输入要求
将资料标为 [事实]、[计划]、[假设] 或 [未知]。最低输入包括:
- 发布:名称、范围/非目标、类型(hotfix、Web 功能、实验、Beta、公开、迁移、AI)、窗口、平台、目标用户和预计影响。
- 风险:权限、资金、隐私、安全、数据可逆性、合规、品牌、依赖、性能、支持负载及 AI 自主程度。
- 交付:验收项、版本/构建、变更单、测试、文案、埋点、仪表盘、告警、已知限制和依赖状态。
- 控制:feature flag、目标规则、灰度阶段、暂停/回滚方式、迁移步骤、备份、前向兼容和演练记录。
- 人员:每个领域 owner、发布执行人、值班/支持升级人、go/no-go 权限人和例外审批人。
- AI(适用时):能力/风险、
ai-app-eval-builder的真实E-*/Gate 证据、内容质量、注入/越权测试、人工接管、日志与隐私边界。
信息不足时的处理
- 缺发布类型、风险或用户影响:先给裁剪问题和保守暂定等级;不随意删除领域。
- 缺 owner、截止或决策权限:建
GAP-*;任何关键R-*不能标“通过”。 - 缺证据链接/命令或只有口头确认:状态为
待验证,不是通过;写最小可复核命令、记录或工单。 - 缺回滚或迁移兼容证明:标为
Blocker,结论为No-go或条件明确的Conditional go,不能因到期自动降级。 - 缺 AI eval、注入/越权或人工兜底证据:高风险 AI 不能扩大至真实用户;最多保持隔离测试或明确限制的条件灰度。
- 阈值未知:写
GAP-*、基线收集 owner 和扩大前批准条件,不伪造错误率、延迟或满意度阈值。
工作流
- 建立发布卡与裁剪。 编号
R-*,标记发布类型、风险等级、不可接受后果、适用领域和不适用理由。高风险、迁移、公共发布与 AI 发布必须提高证据和审批门槛。 - 冻结范围与依赖。 将功能、非目标、版本、平台、文案、依赖版本/状态和已知限制回链到变更单、构建、PR、测试、设计或工单;缺少冻结依据不能称范围稳定。
- 填就绪账本。 对功能、QA、迁移、文案、埋点、监控、性能、支持/FAQ、隐私安全、风控、依赖逐项填写状态、owner、截止、证据、阻断级别和下一动作。
- 补 AI 门禁。 AI 相关发布分别检查内容质量与事实/引用、真实
E-*/Gate、提示注入、越权/工具副作用、敏感信息、拒答和人工接管。总体平均、demo 或“模型看起来好”不能抵消任一硬风险。 - 设计灰度控制。 写 feature flag 名称/owner、默认状态、受众、各阶段流量、进入/暂停/扩大条件、监控窗口和关闭命令。没有独立停流控制时,不能把高风险发布描述为可控灰度。
- 验证回滚与迁移。 记录可观察触发器、阈值、执行步骤、执行/验证/沟通 owner、目标时间、演练证据和数据前向兼容。区分“关闭新流量”“回退代码”“补偿数据”;任一不可逆步骤必须有批准与恢复边界。
- 裁决阻断与例外。 汇总
Blocker、Launch risk、Follow-up和GAP-*。Blocker未关闭时只输出No-go,或由具名权限人批准的Conditional go;例外必须有有限范围、失效日期、缓解、阈值、owner 和回滚动作。 - 发布后观察与退出。 为首发和每一灰度阶段列观察窗口、仪表盘、告警阈值、值班/支持升级、暂停/回滚、扩大和退出条件。观察期结束只在所有硬门禁、阈值和反馈采样满足时才关闭。
专业判断规则
风险与发布类型裁剪
- 低风险内部或可逆 Web 改动可简化外部沟通,但仍需范围、测试、owner、证据、监控和回退。
- 公开发布、支付/权限/隐私、数据迁移、不可逆副作用、关键依赖或高影响性能变化至少为高风险;安全、迁移、支持、回滚和决策权限不可裁剪。
- 实验必须有受众、分流/holdout、护栏、停止规则和实验 owner;实验标签不免除隐私、安全或可逆性门禁。
- AI 发布按内容伤害、决策后果、工具/数据权限、自动化程度、受影响人群和可人工恢复性提级。可执行 Agent、金融/医疗/身份/账户操作通常需要最高门槛和受控灰度。
证据、状态与阻断
- 状态只能是
通过、待验证、风险接受、阻断、不适用;不适用必须写裁剪理由和批准人。 - 合格证据是可定位的测试/CI URL、工单、PR、构建 ID、仪表盘、查询、运行 ID、演练记录、审批记录或可复跑命令及结果。仅“已看过”“同意”“预计完成”一律为
待验证。 Blocker表示没有关闭不能无条件发布;Launch risk可在授权例外下条件发布;Follow-up不影响本次安全/核心目标。未验证的安全、数据一致性、回滚、关键监控、权限或高风险 AI 规则默认Blocker。- 每项必须有单一可执行 owner;协作方可以另列,但“团队”不是 owner。截止必须是日期/时间或明确事件,不能写“尽快”。
数据、依赖与回滚
- 迁移按 expand/contract:先兼容读取和双写/回填验证,再切换读路径,最后在观察期后删除旧字段。回滚时保留前向兼容读路径,避免把新数据解释为旧格式或破坏写入。
- 回滚触发器应可观测并指向动作,例如错误率、数据校验失败、核心任务失败、AI 高危样本、p95、工单激增或依赖 SLO;“感觉不对”不是唯一触发器。
- 演练证据必须包含时间、环境/范围、执行者、结果、发现项和复测状态。没有演练时不得写“已演练”。
- 每个关键依赖要写版本/变更、健康检查、降级或替代、联系/升级 owner;第三方已上线不等于本次集成已验证。
AI、灰度与观察
- AI 内容质量需回链适用的
ai-app-eval-builderGate/真实运行、风险切片和失败样本;没有真实E-*时只可报告计划和限制。 - 提示注入、数据外泄、越权工具调用、危险参数、循环、伪引用和绕过人工审批均独立于总体质量判定。任一硬风险失败应暂停扩大,按条件停流或回滚。
- 人工兜底要指明触发条件、队列/响应时间、权限、用户提示、支持脚本、记录字段和负责角色;“必要时人工介入”不构成兜底。
- 灰度扩大前需要完成本阶段观察窗口、关键阈值未触发、抽样质量/支持反馈已复核且 owner 书面确认;任何暂停条件命中即保持或回退,不能自动扩大。
- 退出标准包括:全量观察期完成、无未处理 Blocker、核心/安全/AI 阈值稳定、数据校验通过、支持积压回落、例外到期或已关闭,以及决策记录归档。
输出契约
按 references/templates.md 输出,未知保留为 GAP-*:
- 发布卡:类型、风险、范围、用户、窗口、平台、决策/例外权限和裁剪理由。
R-*就绪账本:领域、状态、owner、截止、可复核证据链接或命令、阻断级别、缺口与下一动作。- Blocker/风险/例外台账:影响、批准边界、到期、缓解、监控、回滚和 owner。
- flag/灰度计划:阶段、目标人群、进入/暂停/扩大条件、观察窗口、控制命令和 owner。
- 回滚与迁移计划:触发器、顺序步骤、验证、演练、数据前向兼容、沟通和负责人。
- go/no-go 记录:结论、具名权限人、证据、未关闭项、条件或例外审批。
- 发布后观察计划:指标/阈值、仪表盘、行动、值班/支持、退出标准和复盘输入。
质量门槛
- 每个适用
R-*都具备状态、owner、截止、证据链接/命令和阻断级别;任何一项缺失不得标通过。 - 功能、QA、迁移、文案、埋点、监控、性能、支持、FAQ、隐私安全、风控和依赖都已评估或有经批准的不适用理由。
- 高风险 AI 必须有内容质量/eval、注入、越权、人工兜底和灰度/暂停规则;关键失败不得由平均质量抵消。
- 高风险或迁移发布具有可执行的 flag/灰度、回滚触发器/步骤/owner/演练与前向兼容证据。
- go/no-go 与例外均有具名权限人;关键
Blocker未关闭时结论只能是No-go或条件明确的Conditional go。 - 发布后观察列出阈值、行动、观察窗口、扩大/退出标准;没有这些项时发布计划未完成。
常见失败与修正
| 失败 | 修正 |
|---|---|
| 用“产品、QA 都看过”标通过 | 将每项改为单一 owner、截止、测试/链接/命令、结果和阻断级别;无法复核即 待验证。 |
| 赶截止日期而回滚为空 | 将回滚/迁移兼容升为 Blocker;写触发器、顺序、演练和沟通,未关闭则 no-go 或受限条件发布。 |
| AI demo 好看便扩大流量 | 回链真实 eval/Gate,独立测试内容伤害、注入、越权和人工兜底;先 flag 灰度并以阈值决定扩大。 |
| “有 feature flag”但不知道怎么停 | 记录 flag 名称、默认/目标、关闭命令、权限 owner、阶段与实际验证证据。 |
| 用平均错误率掩盖高危切片 | 将权限、隐私、资金、关键任务和 AI 伤害设为独立硬门禁,任一失败暂停或回滚。 |
| 迁移后只能回退代码 | 采用 expand/contract、双读写/回填校验和前向兼容;把数据补偿与代码回退分别演练。 |
参考资料
references/usage-guide.zh.md:调用准备、输出阅读和与评测/事故/沟通 Skill 的衔接。references/templates.md:发布卡、就绪账本、AI 门禁、灰度、回滚、裁决和观察模板。references/checklists.md:输入、证据、领域、AI、回滚、决策与退出检查。references/examples.md:普通 Web、高风险 AI 和缺回滚三组 V1/V2 场景。