mcpField
P
planetscale-schema-recommendations-agent-loop

planetscale-schema-recommendations-agent-loop

github.com/planetscale数据与数据库1361.8k 次安装8 周前更新
代码仓库

关于 planetscale-schema-recommendations-agent-loop

将 PlanetScale 架构建议转化为经审查的实施计划,而非直接应用变更的技能。它指导 Agent 检查证据、关联代码库,并按数据库引擎规划迁移、验证和回滚。

主要功能

  1. 01收集建议及查询证据
  2. 02评估相关性与实施风险
  3. 03将架构变更关联到代码
  4. 04规划 Vitess 或 Postgres 迁移路径
  5. 05制定验证和回滚步骤
  6. 06要求获批后再实施

适用场景

  1. 01将建议整理为迁移议题或 PR
  2. 02依据现有架构检查索引建议
  3. 03规划基于分支的架构验证
  4. 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

建议路径:

  1. 创建或使用开发分支。
  2. 仅在获得批准后,才将架构更改应用到该分支。
  3. 仅在获得批准后,才创建部署请求。
  4. 使用部署请求审核来检查架构、分片影响、数据丢失警告、lint 错误和冲突。
  5. 除非有明确理由采用即时部署,否则使用常规安全迁移路径。
  6. 仅在获得批准后部署。
  7. 部署后监控 Insights 和异常状态。

获批前的默认输出:包含迁移提案的问题或 PR,而不是可直接执行的部署请求。

Postgres

建议路径:

  1. 尽可能将 DDL 转换为应用程序的迁移框架所用格式。
  2. 在非生产分支上测试。
  3. 运行应用程序测试和相关查询检查。
  4. 创建 PR。
  5. 仅在获得批准后应用生产迁移。
  6. 将备份/PITR 运维手册用作恢复计划,而不能替代迁移审核。

获批前的默认输出:迁移 PR 或问题,而不是生产 DDL。

代码库关联分析

有可用代码库时:

  • 搜索表名和列名。
  • 搜索 ORM 模型定义。
  • 搜索迁移。
  • 搜索 Insights 中的查询指纹、路由标签、任务名称和控制器/操作名称。
  • 确定应通过数据库 DDL、ORM 架构、原始迁移还是应用程序查询代码来实施这条建议。

提出实施方案前的安全检查

出现以下情况时,不要直接应用:

  • 建议已过时或已处理。
  • 受影响的表足够小,收益不明确。
  • 该索引会与现有索引冗余。
  • 对于写入密集型工作负载,该索引会造成负面影响,且读取收益不足。
  • 表看似未使用,但代码库中的引用情况不明确。
  • 删除表或索引未获得负责人确认。
  • 迁移框架使用不同的架构事实来源。
  • 建议针对生产环境,但没有分支/测试计划。

输出

针对每条建议,提供:

  • 建议 ID/编号。
  • 类型。
  • 严重程度和预期收益。
  • Insights 证据。
  • 受影响的架构。
  • 建议的 DDL。
  • 应用程序代码负责人或可能的位置。
  • 安全的实施路径。
  • 验证计划。
  • 回滚/撤销计划。
  • 审批要求。

最后以以下文字结尾:

“尚未应用任何架构建议。”

评论

支持 Markdown