后端与接口
需要端到端评估 PlanetScale 安全最佳实践时…
当用户要求运行完整的 PlanetScale 最佳实践评估(清单、引擎审查、Insights、Traffic Control、Webhook、Schema 建议、代码埋点、Agent 运营模型)时,按阶段只读执行并汇总为一份统一报告,未经明确批准不做任何变更。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
需要端到端评估 PlanetScale 特定
解决思路
- 先完整阅读本 SKILL.md,把进度清单复制到工作笔记中并随进度更新。
- 收集输入(可询问或从 AGENTS.md、MCP 上下文、环境、仓库推断):组织 slug、数据库名、分支名、引擎(PlanetScale Vitess 或 PlanetScale Postgres)、生产分支、已连接应用仓库路径、应用语言/框架/ORM/查询构建器/连接池、操作者容忍度(仅报告、生成 PR、仅分支迁移、受监督生产应用)。输入缺失时继续做发现,不要因不完整而阻塞。
- 遵守不可协商的安全契约:默认只读;可检查配置、分支、查询遥测、建议、Webhook、角色、备份、流量预算和仓库代码;未经对具名变更集的明确批准,不得变更 PlanetScale、数据库、仓库、网络态势、凭据、Schema、生产流量控制或自动化端点。Class C/D/E 变更需按 ../planetscale-change-gates-and-approval-contract/SKILL.md 逐项批准;拿不准时停下并加入拟议变更集。
- 唯一例外:若操作者按 ../planetscale-autonomous-execution-mode/SKILL.md 明确承认风险并指定范围,则在该技能的自主执行模式下继续,评估阶段保持一致。
- 子技能位于本技能同级的兄弟文件夹,用相对路径引用;若路径不存在,查找 frontmatter 中 name 匹配的兄弟技能替代。
- 所有 CLI 和 API 用法以官方文档为准,不要猜测:文档索引 https://planetscale.com/docs/llms.txt(任意文档 URL 加 .md 得 markdown 版),API 参考 https://planetscale.com/docs/openapi.yaml。命令或端点失败时先查文档确认正确形式,再记录证据缺口。工具和访问失败只写入内部运行日志,绝不写入客户报告。
- 接口优先级:1) PlanetScale MCP insights-only 服务器(无查询执行的自主分析);2) 完整 PlanetScale MCP 只读范围;3) pscale CLI 和 pscale api;4) 仓库检查;5) 仅在操作者授予数据库读权限时用直接 SQL 做只读内省。操作者声明的接口约束优先于此顺序,若限制为特定接口(如仅 CLI)则直接使用,无需变通或在客户报告中额外说明(Scope 部分的接口行除外)。
- Phase 0:阅读 ../planetscale-change-gates-and-approval-contract/SKILL.md,内化操作类别 A–E;后续所有阶段默认在 Class A 下运行,除非操作者明确批准具名变更。
- Phase 1:阅读并执行 ../planetscale-readonly-inventory/SKILL.md,产出并携带:带证据(来源、路径/命令、时间戳、置信度)的清单表、缺失证据表、风险标记、确认的引擎(Vitess 或 Postgres)、分支拓扑和生产分支。若清单后引擎仍未知,在 Phase 2 前确定。
- Phase 2:按引擎二选一执行——Vitess 用 ../planetscale-vitess-safety-review/SKILL.md,Postgres 用 ../planetscale-postgres-safety-review/SKILL.md。产出引擎特定安全缺口、工作流缺口和需批准的拟议变更。
- Phase 3:阅读并执行 ../planetscale-query-insights-and-tags/SKILL.md,产出查询风险表、标签覆盖表、坏/高基数标签、推荐标签 Schema、候选 Traffic Control 切片、候选 Schema 和代码变更。
- Phase 4:Vitess 跳过本阶段并在清单标注 “N/A — Vitess”。Postgres 阅读并执行 ../planetscale-traffic-control-recommendations/SKILL.md,产出拟议预算(名称、模式、流量切片、规则类型、限额理由、测试/回滚计划)。若查询标签薄弱,按该技能注明 “tagging first” 并推迟 enforce 模式建议。
- Phase 5:阅读并执行 ../planetscale-webhook-automation-recommendations/SKILL.md,产出 Webhook 清单、缺失订阅、目标质量审查、自动化机会、不安全自动化风险。
- Phase 6:阅读并执行 ../planetscale-schema-recommendations-agent-loop/SKILL.md,产出每条建议的分诊(类型、严重度、证据、安全实施路径、验证/回滚计划)。
- Phase 7:阅读并执行 ../planetscale-codebase-sqlcommenter-instrumentation/SKILL.md;仅当无仓库可用时跳过,并在最终报告注明 “no repository reviewed”。产出检测到的技术栈、当前打标状态、推荐包/路径、拟议标签 Schema、可能变更的文件。
- Phase 8:阅读并执行 ../planetscale-mcp-agent-operating-model/SKILL.md,产出推荐 MCP 服务器选择、AGENTS.md 补充、允许/禁止的自主工作、拟议 Agent 循环。
- Phase 9:阅读并执行 ../planetscale-best-practices-matrix/SKILL.md,将每个矩阵项与 Phase 1–8 发现交叉核对,逐项记录:是否适用(yes/no/unknown)、当前状态、缺口、建议 ID、批准要求。若某矩阵项未被前面阶段覆盖,现在只读补齐证据。
- Phase 10:阅读并执行 ../planetscale-customer-report-template/SKILL.md,把所有阶段产出综合为一份报告,不要堆砌原始输出——合并、去重、按影响排序。建议 ID 前缀:OBS-*(Insights 和查询标签)、VIT-*(Vitess 安全和部署工作流)、PG-*(Postgres 角色、pg_strict、Traffic Control、PITR、网络)、WEB-*(Webhook 和自动化)、APP-*(仓库埋点)、AGENT-*(MCP 和 Agent 工作流);ID 在报告中保持稳定,并在拟议变更集中引用相同 ID。排序依据:1) 生产安全和可用性风险(最高优先);2) 阻碍诊断或 Traffic Control 的可观测性缺口;3) 降低平均检测/响应时间的自动化;4) 有明确证据的性能和 Schema 改进。
- Phase 11:重读 ../planetscale-change-gates-and-approval-contract/SKILL.md,验证未执行 Class C/D/E 操作、每个拟议变更都有 ID/目标/接口/影响/风险/回滚/测试计划、报告以必需结尾句结束。停止,不应用变更——除非请求附带有效的自主模式确认(按 ../planetscale-autonomous-execution-mode/SKILL.md),此时先呈现报告和执行计划,再在该技能下直接继续执行。
- 最终报告使用 ../planetscale-customer-report-template/SKILL.md 的模板,至少包含:1) Scope(组织、数据库、分支、引擎、仓库、接口、时间窗口;已应用变更:无);2) Executive summary(3–7 条最高风险缺口和最高价值改进);3) Current state(数据库拓扑、安全工作流、可观测性、自动化、仓库埋点,附证据);4) Recommendations(带 ID、目标、收益、风险、是否需要批准、先测试、证据的排序表);5) Proposed change set requiring approval(每个 Class C/D 项含确切变更、接口、回滚、生产影响);6) Changes intentionally not applied(明确列出未变更内容);7) Evidence appendix(来源、命令/路径、时间戳、值、备注);8) 必需结尾句(逐字):No changes have been applied. Approve specific change IDs before any mutation.
- 处理部分运行:若 MCP、CLI、API 或仓库访问不可用,继续用可用接口,在报告中记录缺失证据,降低受影响建议的置信度,不要编造状态——标记为 unknown。
- 报告之后有两条执行路径。逐项批准:操作者批准特定变更 ID 后,1) 重读 ../planetscale-change-gates-and-approval-contract/SKILL.md;2) 只执行具名 ID;3) 产出该技能定义的事后报告。自主模式:操作者明确承认风险并指定范围(如 “I accept the risk — apply all report recommendations to storefront-demo, production included”)后,1) 阅读 ../planetscale-autonomous-execution-mode/SKILL.md 并按其激活契约验证确认;2) 呈现依赖排序的执行计划,然后端到端执行,持续状态、逐步验证并遵守该技能的停止规则;3) 产出运行摘要和运行日志。
- 绝不把 “apply best practices”、“fix everything” 或 “go ahead” 解释为批准或风险确认。
- 快速调用:当用户说 “run the full assessment” 或 “run all PlanetScale best-practices skills” 时,1) 加载本技能;2) 按顺序运行 Phase 0–11;3) 返回统一报告;4) 停止。
适用边界 · 注意事项
- 用户只想要某个单项检查(如仅查询标签或仅 Webhook)时,不必运行完整编排流程。
- 没有 PlanetScale 组织/数据库访问权限,或无法使用 MCP、pscale CLI、API 及仓库检查时,无法完成评估。
- 用户期望直接应用变更而未提供具名变更集批准或自主模式风险确认时,不应执行任何变更。