关于 planetscale-schema-recommendations-agent-loop
将 PlanetScale 架构建议转化为经审查的实施计划,而非直接应用变更的技能。它指导 Agent 检查证据、关联代码库,并按数据库引擎规划迁移、验证和回滚。
主要功能
- 01收集建议及查询证据
- 02评估相关性与实施风险
- 03将架构变更关联到代码
- 04规划 Vitess 或 Postgres 迁移路径
- 05制定验证和回滚步骤
- 06要求获批后再实施
适用场景
- 01将建议整理为迁移议题或 PR
- 02依据现有架构检查索引建议
- 03规划基于分支的架构验证
- 04准备安全的实施与回滚计划
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ planetscale/ skills --skill planetscale-schema-recommendations-agent-loop安装后在 Claude Code 中输入/planetscale-schema-recommendations-agent-loop确认已加载。
详细介绍
架构建议 Agent 循环
目的
将 PlanetScale 架构建议作为高质量输入提供给 Agent。将建议转化为安全的实施计划、问题、分支、迁移或拉取请求。不要直接应用建议。
输入
收集:
- 未处理的架构建议。
- 建议类型。
- 受影响的表、键空间、架构和查询模式。
- 建议的 DDL。
- Insights 支持证据。
- 应用程序代码库和迁移系统。
- 引擎:Vitess 或 Postgres。
- 目标分支。
需要识别的建议类型
- 为低效查询添加索引。
- 删除冗余索引。
- 防止主键 ID 耗尽。
- 删除未使用的表。
- 升级旧版字符集或排序规则。
- 其他 DDL 建议。
分诊问题
针对每条建议,回答:
- 这条建议仍未处理且仍然相关吗?
- 是哪些查询模式触发了这条建议?
- 哪些应用程序代码路径会生成这些查询?
- 能否通过应用程序的迁移框架安全地表达这条建议?
- 是否需要更改 ORM/架构的事实来源?
- 能否在非生产分支上测试?
- 对读取、写入、存储和部署时间的预期影响是什么?
- 是否有回滚或撤销途径?
- 是否存在相互冲突的建议或迁移?
按引擎区分的实施路径
Vitess
建议路径:
- 创建或使用开发分支。
- 仅在获得批准后,才将架构更改应用到该分支。
- 仅在获得批准后,才创建部署请求。
- 使用部署请求审核来检查架构、分片影响、数据丢失警告、lint 错误和冲突。
- 除非有明确理由采用即时部署,否则使用常规安全迁移路径。
- 仅在获得批准后部署。
- 部署后监控 Insights 和异常状态。
获批前的默认输出:包含迁移提案的问题或 PR,而不是可直接执行的部署请求。
Postgres
建议路径:
- 尽可能将 DDL 转换为应用程序的迁移框架所用格式。
- 在非生产分支上测试。
- 运行应用程序测试和相关查询检查。
- 创建 PR。
- 仅在获得批准后应用生产迁移。
- 将备份/PITR 运维手册用作恢复计划,而不能替代迁移审核。
获批前的默认输出:迁移 PR 或问题,而不是生产 DDL。
代码库关联分析
有可用代码库时:
- 搜索表名和列名。
- 搜索 ORM 模型定义。
- 搜索迁移。
- 搜索 Insights 中的查询指纹、路由标签、任务名称和控制器/操作名称。
- 确定应通过数据库 DDL、ORM 架构、原始迁移还是应用程序查询代码来实施这条建议。
提出实施方案前的安全检查
出现以下情况时,不要直接应用:
- 建议已过时或已处理。
- 受影响的表足够小,收益不明确。
- 该索引会与现有索引冗余。
- 对于写入密集型工作负载,该索引会造成负面影响,且读取收益不足。
- 表看似未使用,但代码库中的引用情况不明确。
- 删除表或索引未获得负责人确认。
- 迁移框架使用不同的架构事实来源。
- 建议针对生产环境,但没有分支/测试计划。
输出
针对每条建议,提供:
- 建议 ID/编号。
- 类型。
- 严重程度和预期收益。
- Insights 证据。
- 受影响的架构。
- 建议的 DDL。
- 应用程序代码负责人或可能的位置。
- 安全的实施路径。
- 验证计划。
- 回滚/撤销计划。
- 审批要求。
最后以以下文字结尾:
“尚未应用任何架构建议。”
评论
支持 Markdown