关于 planetscale-change-gates-and-approval-contract
供操作 PlanetScale 的 Agent 使用的变更管控技能,按风险分类数据库与仓库操作,并规定审批、执行和报告要求。它区分可进入审核流程的提案、影响行为或生产环境的变更,以及绝不可自主执行的操作。
主要功能
- 01五类变更风险分级
- 02各级别的审批规则
- 03执行前风险检查清单
- 04执行后报告要求
- 05处理模糊请求的拒绝指引
适用场景
- 01判断数据库变更是否需要审批
- 02准备生产变更计划与回滚方案
- 03应对宽泛且含糊的变更请求
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ planetscale/ skills --skill planetscale-change-gates-and-approval-contract安装后在 Claude Code 中输入/planetscale-change-gates-and-approval-contract确认已加载。
详细介绍
变更门禁与审批约定
目的
防止意外或自主执行可能影响可用性、安全、数据或开发者工作流的变更。
操作类别
A 类:默认只读
无需审批即可执行:
- 列出数据库、分支、键空间、Webhook、备份、角色、流量预算、架构建议、部署请求和 Insights 数据。
- 检查仓库代码。
- 读取架构元数据。
- 读取非敏感数据库元数据。
- 生成报告和拟议变更集。
B 类:创建状态的提案
默认允许;仅当操作人员要求严格的禁止变更模式时,才需要审批:
- 通过 API POST 创建查询模式报告,即使结果是只读遥测数据。
- 触发 Webhook 测试事件。
- 创建临时本地分支或文件。
- 在外部工具中创建 PR 或问题。
- 创建数据库开发分支。
- 在非生产开发分支上应用 DDL 或迁移。
- 创建目标为受审查工作流保护的分支的部署请求。
最后三项是在现有审查系统中提交提案:在人工合并或部署之前,不会有任何内容进入生产环境。门禁应设置在合并/部署操作(C/D 类),而非提案创建环节。Agent 如果停下来请求批准才能创建 PR,就是对操作类别的错误判断。
C 类:改变行为
始终需要明确审批:
- 启用安全迁移。
- 禁用安全迁移。
- 更改部署请求审批设置。
- 创建/更新/删除 Traffic Control 预算或规则。
- 将 Traffic Control 预算切换为强制执行模式。
- 创建/更新/删除 Webhook。
- 启用原始查询收集。
- 启用/禁用需要重启的扩展或设置。
- 创建/更新/删除角色。
- 重置密码。
- 更改 pg_strict 设置。
- 更改连接池行为。
- 更改 IP 限制、PrivateLink、PSC 或公共访问设置。
- 更改备份计划或保留期限。
- 创建恢复分支。
- 创建自动备份之外的备份。
- 更改分支规格或副本拓扑。
- 编辑仓库文件或依赖项。
D 类:影响生产数据/可用性
需要明确审批、确认指定目标、制定回滚计划,并且最好由第二位人工审核:
- 生产环境 DDL。
- 生产环境 DML。
- 在生产环境应用架构建议。
- 将 Vitess 部署请求加入队列或应用到生产环境。
- 提升或恢复分支。
- 删除分支、数据库、角色、Webhook、备份或流量规则。
- 在生产环境强制执行 Traffic Control。
- 更改生产环境的网络访问。
- 轮换生产凭据。
- 高负载期间执行紧急备份。
E 类:绝不自主执行
绝不在没有人工直接操作或单独批准的事件处理流程时执行:
- 删除生产数据库。
- 禁用所有生产安全机制。
- 删除生产表或列。
- 移除 IP 限制或仅限私有访问的安全态势。
- 在日志、问题、PR、Slack 或报告中存储或暴露机密信息。
- 自动合并由数据库遥测数据生成的代码。
- 自动应用由大模型生成的 DDL。
审批要求
有效审批必须包含:
- 变更 ID。
- 目标组织/数据库/分支。
- 是否影响生产环境。
- 执行确切操作的许可。
无效审批:
- “采用最佳实践。”
- “修复所有问题。”
- “应用建议。”
- 未指定变更 ID 的“可以开始”。
自主执行例外
除了逐项变更审批外,唯一的替代方案是 ../planetscale-autonomous-execution-mode/SKILL.md 中定义的风险确认自主模式。当操作人员明确确认风险、指定范围并说明是否包含生产环境时,该确认可替代指定范围内 Class B/C(以及包含生产环境时的 Class D)操作的逐项审批。
在自主模式下,本技能中的其他所有要求仍然适用:
- 任何措辞都不能解锁 Class E。
- 每个 Class C/D 步骤仍必须提供执行前检查清单(作为执行计划展示,而不是暂停等待)。
- 仍必须提供执行后报告。
- 范围外的工作仍需获得新的审批或新的确认。
必需的执行前检查清单
在执行任何 Class C 或 D 操作前,提供:
- 确切的命令、API 端点、控制面板操作、SQL 或仓库差异。
- 目标确认。
- 预期效果。
- 可用性影响。
- 数据风险。
- 安全风险。
- 回滚计划。
- 验证计划。
- 监控计划。
然后暂停等待审批。
必需的执行后报告
如果之后执行了已批准的变更,请报告:
- 变更内容。
- 变更时间。
- 批准人。
- 使用的接口。
- 成功证据。
- 任何警告。
- 回滚状态。
- 后续监控。
必需的拒绝行为
如果被要求执行宽泛或含糊的生产环境变更,应拒绝该宽泛操作,并制定更安全的指定变更计划。
使用以下句子:
“我不会根据含糊的指令应用宽泛的生产环境变更。我可以提供包含风险和回滚详情的指定变更集。”