[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-planetscale-planetscale-safe-orchestrator":3,"mdc-fru4vd-key":37,"related-org-planetscale-planetscale-safe-orchestrator":1231,"related-repo-planetscale-planetscale-safe-orchestrator":1402},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":26,"repoUrl":27,"updatedAt":28,"license":29,"forks":30,"topics":31,"repo":32,"sourceUrl":35,"mdContent":36},"planetscale-safe-orchestrator","perform PlanetScale safe best-practices assessments","Master skill that runs the full PlanetScale safe best-practices assessment — inventory, engine review, Insights, Traffic Control, webhooks, schema recommendations, codebase instrumentation, and agent operating model — then produces a unified recommendations report. Never applies changes without explicit approval. Use when the user asks to run the full assessment, all skills, or PlanetScale best-practices review.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"planetscale","PlanetScale","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fplanetscale.png",[12,16,19,22,25],{"name":13,"slug":14,"type":15},"Operations","operations","tag",{"name":17,"slug":18,"type":15},"Automation","automation",{"name":20,"slug":21,"type":15},"Audit","audit",{"name":23,"slug":24,"type":15},"Database","database",{"name":9,"slug":8,"type":15},50,"https:\u002F\u002Fgithub.com\u002Fplanetscale\u002Fskills","2026-07-05T06:32:40.177547",null,1,[],{"repoUrl":27,"stars":26,"forks":30,"topics":33,"description":34},[],"Skills that help you configure and get the most out of PlanetScale","https:\u002F\u002Fgithub.com\u002Fplanetscale\u002Fskills\u002Ftree\u002FHEAD\u002F00-safe-orchestrator","---\nname: planetscale-safe-orchestrator\ndescription: Master skill that runs the full PlanetScale safe best-practices assessment — inventory, engine review, Insights, Traffic Control, webhooks, schema recommendations, codebase instrumentation, and agent operating model — then produces a unified recommendations report. Never applies changes without explicit approval. Use when the user asks to run the full assessment, all skills, or PlanetScale best-practices review.\ndisable-model-invocation: true\n---\n\n# PlanetScale safe orchestrator (master skill)\n\n## Purpose\n\nRun the complete PlanetScale safe best-practices skill pack end to end. Load and execute each sub-skill in order, accumulate evidence, and produce one unified recommendations report. The first pass is assessment-only.\n\n## Non-negotiable safety contract\n\nDefault to read-only.\n\nYou may inspect configuration, branches, query telemetry, recommendations, webhooks, roles, backups, traffic budgets, and repository code. You must not mutate PlanetScale, the database, the repository, the network posture, credentials, schema, production traffic controls, or automation endpoints without explicit approval of a named change set.\n\nClass C\u002FD\u002FE mutations require approval per `..\u002F11-change-gates-and-approval-contract\u002FSKILL.md`. When in doubt, stop and add to the proposed change set instead of executing.\n\nOne exception exists: if the operator explicitly acknowledges the risk and names a scope per `..\u002F13-autonomous-execution-mode\u002FSKILL.md`, execution proceeds autonomously under that skill's status and halt discipline instead of stopping for per-change approval. The assessment phases below are identical either way.\n\nSub-skills are sibling folders next to this skill (for example `..\u002F01-readonly-inventory\u002FSKILL.md`). Some installers rename skill folders to their frontmatter `name` (for example `planetscale-readonly-inventory` instead of `01-readonly-inventory`); if a referenced numbered path does not exist, locate the sibling skill whose frontmatter `name` matches and use it instead.\n\nGround all CLI and API usage in the official documentation rather than guessing: the docs index is at https:\u002F\u002Fplanetscale.com\u002Fdocs\u002Fllms.txt (append `.md` to any docs URL for the markdown version) and the API reference is https:\u002F\u002Fplanetscale.com\u002Fdocs\u002Fopenapi.yaml. When a command or endpoint fails, check the docs for the correct form before recording an evidence gap. Tooling and access failures belong in the internal run log, never in the customer report.\n\n## Before you start\n\n1. Read this file completely.\n2. Copy the progress checklist below into your working notes and update it as you go.\n3. Collect inputs (ask or infer from `AGENTS.md`, MCP context, environment, repository):\n\n   - Organization slug\n   - Database name\n   - Branch name\n   - Engine: PlanetScale Vitess or PlanetScale Postgres\n   - Production branch or branches\n   - Connected application repository path, if available\n   - Application language, framework, ORM, query builder, connection pooling\n   - Operator tolerance: report-only, PR-generation, branch-only migrations, or supervised production apply\n\nIf inputs are missing, continue with discovery. Do not block on completeness.\n\n## Progress checklist\n\nCopy and track:\n\n```\nMaster assessment progress:\n- [ ] Phase 0: Safety contract loaded\n- [ ] Phase 1: Read-only inventory\n- [ ] Phase 2: Engine safety review (Vitess OR Postgres)\n- [ ] Phase 3: Query Insights and tags\n- [ ] Phase 4: Traffic Control (Postgres only — skip for Vitess)\n- [ ] Phase 5: Webhook automation\n- [ ] Phase 6: Schema recommendations agent loop\n- [ ] Phase 7: Codebase SQLCommenter instrumentation\n- [ ] Phase 8: MCP agent operating model\n- [ ] Phase 9: Best-practices matrix coverage check\n- [ ] Phase 10: Unified customer report\n- [ ] Phase 11: Change gates verified — stop, no mutations\n```\n\n## Interface preference order\n\n1. PlanetScale MCP insights-only server — autonomous analysis without query execution\n2. Full PlanetScale MCP with read-only scope — schema or limited read queries\n3. `pscale` CLI and `pscale api` — structured inventory and exact API state\n4. Repository inspection — codebase analysis and instrumentation recommendations\n5. Direct SQL — read-only introspection only when operator grants database read access\n\nThe operator's stated interface constraint overrides this order. If the\nrun is restricted to specific interfaces (for example CLI-only), use those\ninterfaces; this is not a conflict and needs no workaround or note in the\ncustomer report beyond the Scope section's interfaces line.\n\n## Execution plan\n\nFor each phase: **read the skill file**, follow its instructions, capture its required output, and carry findings forward. Do not skip phases unless the checklist says to skip.\n\n### Phase 0 — Safety contract\n\nRead: `..\u002F11-change-gates-and-approval-contract\u002FSKILL.md`\n\nInternalize operation classes A–E. All later phases operate under Class A unless the operator explicitly approves a named change.\n\n### Phase 1 — Read-only inventory\n\nRead and execute: `..\u002F01-readonly-inventory\u002FSKILL.md`\n\nDeliverables to carry forward:\n\n- Inventory table with evidence (source, path\u002Fcommand, timestamp, confidence)\n- Missing evidence table\n- Risk flags\n- Confirmed engine (Vitess or Postgres)\n- Branch topology and production branch\n\nIf engine is still unknown after inventory, determine it before Phase 2.\n\n### Phase 2 — Engine safety review\n\nRun exactly one:\n\n| Engine | Skill file |\n|--------|------------|\n| Vitess | `..\u002F02-vitess-safety-review\u002FSKILL.md` |\n| Postgres | `..\u002F03-postgres-safety-review\u002FSKILL.md` |\n\nDeliverables: engine-specific safety gaps, workflow gaps, and proposed changes requiring approval.\n\n### Phase 3 — Query Insights and tags\n\nRead and execute: `..\u002F04-query-insights-and-tags\u002FSKILL.md`\n\nDeliverables: query risk table, tag coverage table, bad\u002Fhigh-cardinality tags, recommended tag schema, candidate Traffic Control slices, candidate schema and code changes.\n\n### Phase 4 — Traffic Control (Postgres only)\n\n**Skip this phase for Vitess.** Mark checklist item complete with note \"N\u002FA — Vitess\".\n\nFor Postgres, read and execute: `..\u002F05-traffic-control-recommendations\u002FSKILL.md`\n\nDeliverables: proposed budgets (name, mode, traffic slice, rule type, limits rationale, test\u002Frollback plan).\n\nIf query tags are weak, note \"tagging first\" per that skill and defer enforce-mode recommendations.\n\n### Phase 5 — Webhook automation\n\nRead and execute: `..\u002F06-webhook-automation-recommendations\u002FSKILL.md`\n\nDeliverables: webhook inventory, missing subscriptions, destination quality review, automation opportunities, unsafe automation risks.\n\n### Phase 6 — Schema recommendations agent loop\n\nRead and execute: `..\u002F07-schema-recommendations-agent-loop\u002FSKILL.md`\n\nDeliverables: per-recommendation triage (type, severity, evidence, safe implementation path, validation\u002Frollback plan).\n\n### Phase 7 — Codebase SQLCommenter instrumentation\n\nRead and execute: `..\u002F08-codebase-sqlcommenter-instrumentation\u002FSKILL.md`\n\nSkip only if no repository is available. Note \"no repository reviewed\" in the final report.\n\nDeliverables: detected stack, current tagging state, recommended package\u002Fpath, proposed tag schema, files likely to change.\n\n### Phase 8 — MCP agent operating model\n\nRead and execute: `..\u002F09-mcp-agent-operating-model\u002FSKILL.md`\n\nDeliverables: recommended MCP server choice, AGENTS.md additions, allowed\u002Fdisallowed autonomous work, proposed agent loops.\n\n### Phase 9 — Best-practices matrix coverage check\n\nRead and execute: `..\u002F12-best-practices-matrix\u002FSKILL.md`\n\nCross-check every matrix item against Phases 1–8 findings. For each item record:\n\n- Applies: yes \u002F no \u002F unknown\n- Current state\n- Gap\n- Recommendation ID (see ID scheme below)\n- Approval requirement\n\nFill gaps: if a matrix item was not covered by earlier phases, gather missing evidence now (read-only only).\n\n### Phase 10 — Unified customer report\n\nRead and execute: `..\u002F10-customer-report-template\u002FSKILL.md`\n\nSynthesize **all** phase deliverables into one report. Do not dump raw phase outputs — merge, deduplicate, and rank by impact.\n\n#### Recommendation ID scheme\n\n| Prefix | Domain |\n|--------|--------|\n| `OBS-*` | Insights and query tags |\n| `VIT-*` | Vitess safety and deploy workflow |\n| `PG-*` | Postgres roles, pg_strict, Traffic Control, PITR, network |\n| `WEB-*` | Webhooks and automation |\n| `APP-*` | Repository instrumentation |\n| `AGENT-*` | MCP and agent workflows |\n\nAssign stable IDs across the report. Reference the same IDs in the proposed change set.\n\n#### Ranking guidance\n\nOrder recommendations by:\n\n1. Production safety and availability risk (highest first)\n2. Observability gaps blocking diagnosis or Traffic Control\n3. Automation that reduces mean time to detect\u002Frespond\n4. Performance and schema improvements with clear evidence\n\n### Phase 11 — Stop gate\n\nRe-read: `..\u002F11-change-gates-and-approval-contract\u002FSKILL.md`\n\nVerify:\n\n- No Class C\u002FD\u002FE actions were taken\n- Every proposed mutation has an ID, target, interface, effect, risk, rollback, and test plan\n- Report ends with the required final sentence\n\n**Stop.** Do not apply changes — unless a valid autonomous-mode acknowledgment (per `..\u002F13-autonomous-execution-mode\u002FSKILL.md`) accompanied the request, in which case present the report and the execution plan, then continue directly into execution under that skill.\n\n## Required final report structure\n\nUse the template in `..\u002F10-customer-report-template\u002FSKILL.md`. Minimum sections:\n\n1. **Scope** — org, database, branches, engine, repository, interfaces, time window; changes applied: none\n2. **Executive summary** — 3–7 bullets on highest-risk gaps and highest-value improvements\n3. **Current state** — database topology, safety workflow, observability, automation, repository instrumentation (with evidence)\n4. **Recommendations** — ranked table with IDs, target, benefit, risk, approval needed, test first, evidence\n5. **Proposed change set requiring approval** — every Class C\u002FD item with exact change, interface, rollback, production impact\n6. **Changes intentionally not applied** — explicit list of what was not changed\n7. **Evidence appendix** — source, command\u002Fpath, timestamp, value, notes\n8. **Final required sentence** (verbatim):\n\n   > No changes have been applied. Approve specific change IDs before any mutation.\n\n## Handling partial runs\n\nIf MCP, CLI, API, or repository access is unavailable:\n\n- Continue with available interfaces\n- Record missing evidence in the report\n- Lower confidence on affected recommendations\n- Do not invent state — mark unknown\n\n## After the report\n\nTwo paths into execution:\n\n**Per-change approval.** The operator approves specific change IDs:\n\n1. Re-read `..\u002F11-change-gates-and-approval-contract\u002FSKILL.md`\n2. Execute only the named IDs\n3. Produce the post-execution report defined in that skill\n\n**Autonomous mode.** The operator explicitly acknowledges the risk with a named scope (\"I accept the risk — apply all report recommendations to storefront-demo, production included\"):\n\n1. Read `..\u002F13-autonomous-execution-mode\u002FSKILL.md` and validate the acknowledgment against its activation contract\n2. Present the dependency-ordered execution plan, then execute end to end with continuous status, per-step verification, and the halt rules from that skill\n3. Produce the run summary and run log\n\nNever interpret \"apply best practices\", \"fix everything\", or \"go ahead\" as either approval or risk acknowledgment.\n\n## Quick invocation\n\nWhen the user says \"run the full assessment\" or \"run all PlanetScale best-practices skills\":\n\n1. Load this skill\n2. Run Phases 0–11 in order\n3. Return the unified report\n4. Stop\n",{"data":38,"body":40},{"name":4,"description":6,"disable-model-invocation":39},true,{"type":41,"children":42},"root",[43,52,59,65,71,76,81,95,108,152,183,189,261,266,272,277,289,295,337,342,348,361,368,378,383,389,399,404,432,437,443,448,510,515,521,531,536,542,552,563,568,573,579,589,594,600,610,615,621,631,636,641,647,657,662,668,678,683,711,716,722,732,744,751,875,880,886,891,914,920,930,935,953,970,976,988,1079,1085,1090,1113,1119,1124,1134,1157,1167,1192,1197,1203,1208],{"type":44,"tag":45,"props":46,"children":48},"element","h1",{"id":47},"planetscale-safe-orchestrator-master-skill",[49],{"type":50,"value":51},"text","PlanetScale safe orchestrator (master skill)",{"type":44,"tag":53,"props":54,"children":56},"h2",{"id":55},"purpose",[57],{"type":50,"value":58},"Purpose",{"type":44,"tag":60,"props":61,"children":62},"p",{},[63],{"type":50,"value":64},"Run the complete PlanetScale safe best-practices skill pack end to end. Load and execute each sub-skill in order, accumulate evidence, and produce one unified recommendations report. The first pass is assessment-only.",{"type":44,"tag":53,"props":66,"children":68},{"id":67},"non-negotiable-safety-contract",[69],{"type":50,"value":70},"Non-negotiable safety contract",{"type":44,"tag":60,"props":72,"children":73},{},[74],{"type":50,"value":75},"Default to read-only.",{"type":44,"tag":60,"props":77,"children":78},{},[79],{"type":50,"value":80},"You may inspect configuration, branches, query telemetry, recommendations, webhooks, roles, backups, traffic budgets, and repository code. You must not mutate PlanetScale, the database, the repository, the network posture, credentials, schema, production traffic controls, or automation endpoints without explicit approval of a named change set.",{"type":44,"tag":60,"props":82,"children":83},{},[84,86,93],{"type":50,"value":85},"Class C\u002FD\u002FE mutations require approval per ",{"type":44,"tag":87,"props":88,"children":90},"code",{"className":89},[],[91],{"type":50,"value":92},"..\u002F11-change-gates-and-approval-contract\u002FSKILL.md",{"type":50,"value":94},". When in doubt, stop and add to the proposed change set instead of executing.",{"type":44,"tag":60,"props":96,"children":97},{},[98,100,106],{"type":50,"value":99},"One exception exists: if the operator explicitly acknowledges the risk and names a scope per ",{"type":44,"tag":87,"props":101,"children":103},{"className":102},[],[104],{"type":50,"value":105},"..\u002F13-autonomous-execution-mode\u002FSKILL.md",{"type":50,"value":107},", execution proceeds autonomously under that skill's status and halt discipline instead of stopping for per-change approval. The assessment phases below are identical either way.",{"type":44,"tag":60,"props":109,"children":110},{},[111,113,119,121,127,129,135,137,143,145,150],{"type":50,"value":112},"Sub-skills are sibling folders next to this skill (for example ",{"type":44,"tag":87,"props":114,"children":116},{"className":115},[],[117],{"type":50,"value":118},"..\u002F01-readonly-inventory\u002FSKILL.md",{"type":50,"value":120},"). Some installers rename skill folders to their frontmatter ",{"type":44,"tag":87,"props":122,"children":124},{"className":123},[],[125],{"type":50,"value":126},"name",{"type":50,"value":128}," (for example ",{"type":44,"tag":87,"props":130,"children":132},{"className":131},[],[133],{"type":50,"value":134},"planetscale-readonly-inventory",{"type":50,"value":136}," instead of ",{"type":44,"tag":87,"props":138,"children":140},{"className":139},[],[141],{"type":50,"value":142},"01-readonly-inventory",{"type":50,"value":144},"); if a referenced numbered path does not exist, locate the sibling skill whose frontmatter ",{"type":44,"tag":87,"props":146,"children":148},{"className":147},[],[149],{"type":50,"value":126},{"type":50,"value":151}," matches and use it instead.",{"type":44,"tag":60,"props":153,"children":154},{},[155,157,165,167,173,175,181],{"type":50,"value":156},"Ground all CLI and API usage in the official documentation rather than guessing: the docs index is at ",{"type":44,"tag":158,"props":159,"children":163},"a",{"href":160,"rel":161},"https:\u002F\u002Fplanetscale.com\u002Fdocs\u002Fllms.txt",[162],"nofollow",[164],{"type":50,"value":160},{"type":50,"value":166}," (append ",{"type":44,"tag":87,"props":168,"children":170},{"className":169},[],[171],{"type":50,"value":172},".md",{"type":50,"value":174}," to any docs URL for the markdown version) and the API reference is ",{"type":44,"tag":158,"props":176,"children":179},{"href":177,"rel":178},"https:\u002F\u002Fplanetscale.com\u002Fdocs\u002Fopenapi.yaml",[162],[180],{"type":50,"value":177},{"type":50,"value":182},". When a command or endpoint fails, check the docs for the correct form before recording an evidence gap. Tooling and access failures belong in the internal run log, never in the customer report.",{"type":44,"tag":53,"props":184,"children":186},{"id":185},"before-you-start",[187],{"type":50,"value":188},"Before you start",{"type":44,"tag":190,"props":191,"children":192},"ol",{},[193,199,204],{"type":44,"tag":194,"props":195,"children":196},"li",{},[197],{"type":50,"value":198},"Read this file completely.",{"type":44,"tag":194,"props":200,"children":201},{},[202],{"type":50,"value":203},"Copy the progress checklist below into your working notes and update it as you go.",{"type":44,"tag":194,"props":205,"children":206},{},[207,209,215,217],{"type":50,"value":208},"Collect inputs (ask or infer from ",{"type":44,"tag":87,"props":210,"children":212},{"className":211},[],[213],{"type":50,"value":214},"AGENTS.md",{"type":50,"value":216},", MCP context, environment, repository):",{"type":44,"tag":218,"props":219,"children":220},"ul",{},[221,226,231,236,241,246,251,256],{"type":44,"tag":194,"props":222,"children":223},{},[224],{"type":50,"value":225},"Organization slug",{"type":44,"tag":194,"props":227,"children":228},{},[229],{"type":50,"value":230},"Database name",{"type":44,"tag":194,"props":232,"children":233},{},[234],{"type":50,"value":235},"Branch name",{"type":44,"tag":194,"props":237,"children":238},{},[239],{"type":50,"value":240},"Engine: PlanetScale Vitess or PlanetScale Postgres",{"type":44,"tag":194,"props":242,"children":243},{},[244],{"type":50,"value":245},"Production branch or branches",{"type":44,"tag":194,"props":247,"children":248},{},[249],{"type":50,"value":250},"Connected application repository path, if available",{"type":44,"tag":194,"props":252,"children":253},{},[254],{"type":50,"value":255},"Application language, framework, ORM, query builder, connection pooling",{"type":44,"tag":194,"props":257,"children":258},{},[259],{"type":50,"value":260},"Operator tolerance: report-only, PR-generation, branch-only migrations, or supervised production apply",{"type":44,"tag":60,"props":262,"children":263},{},[264],{"type":50,"value":265},"If inputs are missing, continue with discovery. Do not block on completeness.",{"type":44,"tag":53,"props":267,"children":269},{"id":268},"progress-checklist",[270],{"type":50,"value":271},"Progress checklist",{"type":44,"tag":60,"props":273,"children":274},{},[275],{"type":50,"value":276},"Copy and track:",{"type":44,"tag":278,"props":279,"children":283},"pre",{"className":280,"code":282,"language":50},[281],"language-text","Master assessment progress:\n- [ ] Phase 0: Safety contract loaded\n- [ ] Phase 1: Read-only inventory\n- [ ] Phase 2: Engine safety review (Vitess OR Postgres)\n- [ ] Phase 3: Query Insights and tags\n- [ ] Phase 4: Traffic Control (Postgres only — skip for Vitess)\n- [ ] Phase 5: Webhook automation\n- [ ] Phase 6: Schema recommendations agent loop\n- [ ] Phase 7: Codebase SQLCommenter instrumentation\n- [ ] Phase 8: MCP agent operating model\n- [ ] Phase 9: Best-practices matrix coverage check\n- [ ] Phase 10: Unified customer report\n- [ ] Phase 11: Change gates verified — stop, no mutations\n",[284],{"type":44,"tag":87,"props":285,"children":287},{"__ignoreMap":286},"",[288],{"type":50,"value":282},{"type":44,"tag":53,"props":290,"children":292},{"id":291},"interface-preference-order",[293],{"type":50,"value":294},"Interface preference order",{"type":44,"tag":190,"props":296,"children":297},{},[298,303,308,327,332],{"type":44,"tag":194,"props":299,"children":300},{},[301],{"type":50,"value":302},"PlanetScale MCP insights-only server — autonomous analysis without query execution",{"type":44,"tag":194,"props":304,"children":305},{},[306],{"type":50,"value":307},"Full PlanetScale MCP with read-only scope — schema or limited read queries",{"type":44,"tag":194,"props":309,"children":310},{},[311,317,319,325],{"type":44,"tag":87,"props":312,"children":314},{"className":313},[],[315],{"type":50,"value":316},"pscale",{"type":50,"value":318}," CLI and ",{"type":44,"tag":87,"props":320,"children":322},{"className":321},[],[323],{"type":50,"value":324},"pscale api",{"type":50,"value":326}," — structured inventory and exact API state",{"type":44,"tag":194,"props":328,"children":329},{},[330],{"type":50,"value":331},"Repository inspection — codebase analysis and instrumentation recommendations",{"type":44,"tag":194,"props":333,"children":334},{},[335],{"type":50,"value":336},"Direct SQL — read-only introspection only when operator grants database read access",{"type":44,"tag":60,"props":338,"children":339},{},[340],{"type":50,"value":341},"The operator's stated interface constraint overrides this order. If the\nrun is restricted to specific interfaces (for example CLI-only), use those\ninterfaces; this is not a conflict and needs no workaround or note in the\ncustomer report beyond the Scope section's interfaces line.",{"type":44,"tag":53,"props":343,"children":345},{"id":344},"execution-plan",[346],{"type":50,"value":347},"Execution plan",{"type":44,"tag":60,"props":349,"children":350},{},[351,353,359],{"type":50,"value":352},"For each phase: ",{"type":44,"tag":354,"props":355,"children":356},"strong",{},[357],{"type":50,"value":358},"read the skill file",{"type":50,"value":360},", follow its instructions, capture its required output, and carry findings forward. Do not skip phases unless the checklist says to skip.",{"type":44,"tag":362,"props":363,"children":365},"h3",{"id":364},"phase-0-safety-contract",[366],{"type":50,"value":367},"Phase 0 — Safety contract",{"type":44,"tag":60,"props":369,"children":370},{},[371,373],{"type":50,"value":372},"Read: ",{"type":44,"tag":87,"props":374,"children":376},{"className":375},[],[377],{"type":50,"value":92},{"type":44,"tag":60,"props":379,"children":380},{},[381],{"type":50,"value":382},"Internalize operation classes A–E. All later phases operate under Class A unless the operator explicitly approves a named change.",{"type":44,"tag":362,"props":384,"children":386},{"id":385},"phase-1-read-only-inventory",[387],{"type":50,"value":388},"Phase 1 — Read-only inventory",{"type":44,"tag":60,"props":390,"children":391},{},[392,394],{"type":50,"value":393},"Read and execute: ",{"type":44,"tag":87,"props":395,"children":397},{"className":396},[],[398],{"type":50,"value":118},{"type":44,"tag":60,"props":400,"children":401},{},[402],{"type":50,"value":403},"Deliverables to carry forward:",{"type":44,"tag":218,"props":405,"children":406},{},[407,412,417,422,427],{"type":44,"tag":194,"props":408,"children":409},{},[410],{"type":50,"value":411},"Inventory table with evidence (source, path\u002Fcommand, timestamp, confidence)",{"type":44,"tag":194,"props":413,"children":414},{},[415],{"type":50,"value":416},"Missing evidence table",{"type":44,"tag":194,"props":418,"children":419},{},[420],{"type":50,"value":421},"Risk flags",{"type":44,"tag":194,"props":423,"children":424},{},[425],{"type":50,"value":426},"Confirmed engine (Vitess or Postgres)",{"type":44,"tag":194,"props":428,"children":429},{},[430],{"type":50,"value":431},"Branch topology and production branch",{"type":44,"tag":60,"props":433,"children":434},{},[435],{"type":50,"value":436},"If engine is still unknown after inventory, determine it before Phase 2.",{"type":44,"tag":362,"props":438,"children":440},{"id":439},"phase-2-engine-safety-review",[441],{"type":50,"value":442},"Phase 2 — Engine safety review",{"type":44,"tag":60,"props":444,"children":445},{},[446],{"type":50,"value":447},"Run exactly one:",{"type":44,"tag":449,"props":450,"children":451},"table",{},[452,471],{"type":44,"tag":453,"props":454,"children":455},"thead",{},[456],{"type":44,"tag":457,"props":458,"children":459},"tr",{},[460,466],{"type":44,"tag":461,"props":462,"children":463},"th",{},[464],{"type":50,"value":465},"Engine",{"type":44,"tag":461,"props":467,"children":468},{},[469],{"type":50,"value":470},"Skill file",{"type":44,"tag":472,"props":473,"children":474},"tbody",{},[475,493],{"type":44,"tag":457,"props":476,"children":477},{},[478,484],{"type":44,"tag":479,"props":480,"children":481},"td",{},[482],{"type":50,"value":483},"Vitess",{"type":44,"tag":479,"props":485,"children":486},{},[487],{"type":44,"tag":87,"props":488,"children":490},{"className":489},[],[491],{"type":50,"value":492},"..\u002F02-vitess-safety-review\u002FSKILL.md",{"type":44,"tag":457,"props":494,"children":495},{},[496,501],{"type":44,"tag":479,"props":497,"children":498},{},[499],{"type":50,"value":500},"Postgres",{"type":44,"tag":479,"props":502,"children":503},{},[504],{"type":44,"tag":87,"props":505,"children":507},{"className":506},[],[508],{"type":50,"value":509},"..\u002F03-postgres-safety-review\u002FSKILL.md",{"type":44,"tag":60,"props":511,"children":512},{},[513],{"type":50,"value":514},"Deliverables: engine-specific safety gaps, workflow gaps, and proposed changes requiring approval.",{"type":44,"tag":362,"props":516,"children":518},{"id":517},"phase-3-query-insights-and-tags",[519],{"type":50,"value":520},"Phase 3 — Query Insights and tags",{"type":44,"tag":60,"props":522,"children":523},{},[524,525],{"type":50,"value":393},{"type":44,"tag":87,"props":526,"children":528},{"className":527},[],[529],{"type":50,"value":530},"..\u002F04-query-insights-and-tags\u002FSKILL.md",{"type":44,"tag":60,"props":532,"children":533},{},[534],{"type":50,"value":535},"Deliverables: query risk table, tag coverage table, bad\u002Fhigh-cardinality tags, recommended tag schema, candidate Traffic Control slices, candidate schema and code changes.",{"type":44,"tag":362,"props":537,"children":539},{"id":538},"phase-4-traffic-control-postgres-only",[540],{"type":50,"value":541},"Phase 4 — Traffic Control (Postgres only)",{"type":44,"tag":60,"props":543,"children":544},{},[545,550],{"type":44,"tag":354,"props":546,"children":547},{},[548],{"type":50,"value":549},"Skip this phase for Vitess.",{"type":50,"value":551}," Mark checklist item complete with note \"N\u002FA — Vitess\".",{"type":44,"tag":60,"props":553,"children":554},{},[555,557],{"type":50,"value":556},"For Postgres, read and execute: ",{"type":44,"tag":87,"props":558,"children":560},{"className":559},[],[561],{"type":50,"value":562},"..\u002F05-traffic-control-recommendations\u002FSKILL.md",{"type":44,"tag":60,"props":564,"children":565},{},[566],{"type":50,"value":567},"Deliverables: proposed budgets (name, mode, traffic slice, rule type, limits rationale, test\u002Frollback plan).",{"type":44,"tag":60,"props":569,"children":570},{},[571],{"type":50,"value":572},"If query tags are weak, note \"tagging first\" per that skill and defer enforce-mode recommendations.",{"type":44,"tag":362,"props":574,"children":576},{"id":575},"phase-5-webhook-automation",[577],{"type":50,"value":578},"Phase 5 — Webhook automation",{"type":44,"tag":60,"props":580,"children":581},{},[582,583],{"type":50,"value":393},{"type":44,"tag":87,"props":584,"children":586},{"className":585},[],[587],{"type":50,"value":588},"..\u002F06-webhook-automation-recommendations\u002FSKILL.md",{"type":44,"tag":60,"props":590,"children":591},{},[592],{"type":50,"value":593},"Deliverables: webhook inventory, missing subscriptions, destination quality review, automation opportunities, unsafe automation risks.",{"type":44,"tag":362,"props":595,"children":597},{"id":596},"phase-6-schema-recommendations-agent-loop",[598],{"type":50,"value":599},"Phase 6 — Schema recommendations agent loop",{"type":44,"tag":60,"props":601,"children":602},{},[603,604],{"type":50,"value":393},{"type":44,"tag":87,"props":605,"children":607},{"className":606},[],[608],{"type":50,"value":609},"..\u002F07-schema-recommendations-agent-loop\u002FSKILL.md",{"type":44,"tag":60,"props":611,"children":612},{},[613],{"type":50,"value":614},"Deliverables: per-recommendation triage (type, severity, evidence, safe implementation path, validation\u002Frollback plan).",{"type":44,"tag":362,"props":616,"children":618},{"id":617},"phase-7-codebase-sqlcommenter-instrumentation",[619],{"type":50,"value":620},"Phase 7 — Codebase SQLCommenter instrumentation",{"type":44,"tag":60,"props":622,"children":623},{},[624,625],{"type":50,"value":393},{"type":44,"tag":87,"props":626,"children":628},{"className":627},[],[629],{"type":50,"value":630},"..\u002F08-codebase-sqlcommenter-instrumentation\u002FSKILL.md",{"type":44,"tag":60,"props":632,"children":633},{},[634],{"type":50,"value":635},"Skip only if no repository is available. Note \"no repository reviewed\" in the final report.",{"type":44,"tag":60,"props":637,"children":638},{},[639],{"type":50,"value":640},"Deliverables: detected stack, current tagging state, recommended package\u002Fpath, proposed tag schema, files likely to change.",{"type":44,"tag":362,"props":642,"children":644},{"id":643},"phase-8-mcp-agent-operating-model",[645],{"type":50,"value":646},"Phase 8 — MCP agent operating model",{"type":44,"tag":60,"props":648,"children":649},{},[650,651],{"type":50,"value":393},{"type":44,"tag":87,"props":652,"children":654},{"className":653},[],[655],{"type":50,"value":656},"..\u002F09-mcp-agent-operating-model\u002FSKILL.md",{"type":44,"tag":60,"props":658,"children":659},{},[660],{"type":50,"value":661},"Deliverables: recommended MCP server choice, AGENTS.md additions, allowed\u002Fdisallowed autonomous work, proposed agent loops.",{"type":44,"tag":362,"props":663,"children":665},{"id":664},"phase-9-best-practices-matrix-coverage-check",[666],{"type":50,"value":667},"Phase 9 — Best-practices matrix coverage check",{"type":44,"tag":60,"props":669,"children":670},{},[671,672],{"type":50,"value":393},{"type":44,"tag":87,"props":673,"children":675},{"className":674},[],[676],{"type":50,"value":677},"..\u002F12-best-practices-matrix\u002FSKILL.md",{"type":44,"tag":60,"props":679,"children":680},{},[681],{"type":50,"value":682},"Cross-check every matrix item against Phases 1–8 findings. For each item record:",{"type":44,"tag":218,"props":684,"children":685},{},[686,691,696,701,706],{"type":44,"tag":194,"props":687,"children":688},{},[689],{"type":50,"value":690},"Applies: yes \u002F no \u002F unknown",{"type":44,"tag":194,"props":692,"children":693},{},[694],{"type":50,"value":695},"Current state",{"type":44,"tag":194,"props":697,"children":698},{},[699],{"type":50,"value":700},"Gap",{"type":44,"tag":194,"props":702,"children":703},{},[704],{"type":50,"value":705},"Recommendation ID (see ID scheme below)",{"type":44,"tag":194,"props":707,"children":708},{},[709],{"type":50,"value":710},"Approval requirement",{"type":44,"tag":60,"props":712,"children":713},{},[714],{"type":50,"value":715},"Fill gaps: if a matrix item was not covered by earlier phases, gather missing evidence now (read-only only).",{"type":44,"tag":362,"props":717,"children":719},{"id":718},"phase-10-unified-customer-report",[720],{"type":50,"value":721},"Phase 10 — Unified customer report",{"type":44,"tag":60,"props":723,"children":724},{},[725,726],{"type":50,"value":393},{"type":44,"tag":87,"props":727,"children":729},{"className":728},[],[730],{"type":50,"value":731},"..\u002F10-customer-report-template\u002FSKILL.md",{"type":44,"tag":60,"props":733,"children":734},{},[735,737,742],{"type":50,"value":736},"Synthesize ",{"type":44,"tag":354,"props":738,"children":739},{},[740],{"type":50,"value":741},"all",{"type":50,"value":743}," phase deliverables into one report. Do not dump raw phase outputs — merge, deduplicate, and rank by impact.",{"type":44,"tag":745,"props":746,"children":748},"h4",{"id":747},"recommendation-id-scheme",[749],{"type":50,"value":750},"Recommendation ID scheme",{"type":44,"tag":449,"props":752,"children":753},{},[754,770],{"type":44,"tag":453,"props":755,"children":756},{},[757],{"type":44,"tag":457,"props":758,"children":759},{},[760,765],{"type":44,"tag":461,"props":761,"children":762},{},[763],{"type":50,"value":764},"Prefix",{"type":44,"tag":461,"props":766,"children":767},{},[768],{"type":50,"value":769},"Domain",{"type":44,"tag":472,"props":771,"children":772},{},[773,790,807,824,841,858],{"type":44,"tag":457,"props":774,"children":775},{},[776,785],{"type":44,"tag":479,"props":777,"children":778},{},[779],{"type":44,"tag":87,"props":780,"children":782},{"className":781},[],[783],{"type":50,"value":784},"OBS-*",{"type":44,"tag":479,"props":786,"children":787},{},[788],{"type":50,"value":789},"Insights and query tags",{"type":44,"tag":457,"props":791,"children":792},{},[793,802],{"type":44,"tag":479,"props":794,"children":795},{},[796],{"type":44,"tag":87,"props":797,"children":799},{"className":798},[],[800],{"type":50,"value":801},"VIT-*",{"type":44,"tag":479,"props":803,"children":804},{},[805],{"type":50,"value":806},"Vitess safety and deploy workflow",{"type":44,"tag":457,"props":808,"children":809},{},[810,819],{"type":44,"tag":479,"props":811,"children":812},{},[813],{"type":44,"tag":87,"props":814,"children":816},{"className":815},[],[817],{"type":50,"value":818},"PG-*",{"type":44,"tag":479,"props":820,"children":821},{},[822],{"type":50,"value":823},"Postgres roles, pg_strict, Traffic Control, PITR, network",{"type":44,"tag":457,"props":825,"children":826},{},[827,836],{"type":44,"tag":479,"props":828,"children":829},{},[830],{"type":44,"tag":87,"props":831,"children":833},{"className":832},[],[834],{"type":50,"value":835},"WEB-*",{"type":44,"tag":479,"props":837,"children":838},{},[839],{"type":50,"value":840},"Webhooks and automation",{"type":44,"tag":457,"props":842,"children":843},{},[844,853],{"type":44,"tag":479,"props":845,"children":846},{},[847],{"type":44,"tag":87,"props":848,"children":850},{"className":849},[],[851],{"type":50,"value":852},"APP-*",{"type":44,"tag":479,"props":854,"children":855},{},[856],{"type":50,"value":857},"Repository instrumentation",{"type":44,"tag":457,"props":859,"children":860},{},[861,870],{"type":44,"tag":479,"props":862,"children":863},{},[864],{"type":44,"tag":87,"props":865,"children":867},{"className":866},[],[868],{"type":50,"value":869},"AGENT-*",{"type":44,"tag":479,"props":871,"children":872},{},[873],{"type":50,"value":874},"MCP and agent workflows",{"type":44,"tag":60,"props":876,"children":877},{},[878],{"type":50,"value":879},"Assign stable IDs across the report. Reference the same IDs in the proposed change set.",{"type":44,"tag":745,"props":881,"children":883},{"id":882},"ranking-guidance",[884],{"type":50,"value":885},"Ranking guidance",{"type":44,"tag":60,"props":887,"children":888},{},[889],{"type":50,"value":890},"Order recommendations by:",{"type":44,"tag":190,"props":892,"children":893},{},[894,899,904,909],{"type":44,"tag":194,"props":895,"children":896},{},[897],{"type":50,"value":898},"Production safety and availability risk (highest first)",{"type":44,"tag":194,"props":900,"children":901},{},[902],{"type":50,"value":903},"Observability gaps blocking diagnosis or Traffic Control",{"type":44,"tag":194,"props":905,"children":906},{},[907],{"type":50,"value":908},"Automation that reduces mean time to detect\u002Frespond",{"type":44,"tag":194,"props":910,"children":911},{},[912],{"type":50,"value":913},"Performance and schema improvements with clear evidence",{"type":44,"tag":362,"props":915,"children":917},{"id":916},"phase-11-stop-gate",[918],{"type":50,"value":919},"Phase 11 — Stop gate",{"type":44,"tag":60,"props":921,"children":922},{},[923,925],{"type":50,"value":924},"Re-read: ",{"type":44,"tag":87,"props":926,"children":928},{"className":927},[],[929],{"type":50,"value":92},{"type":44,"tag":60,"props":931,"children":932},{},[933],{"type":50,"value":934},"Verify:",{"type":44,"tag":218,"props":936,"children":937},{},[938,943,948],{"type":44,"tag":194,"props":939,"children":940},{},[941],{"type":50,"value":942},"No Class C\u002FD\u002FE actions were taken",{"type":44,"tag":194,"props":944,"children":945},{},[946],{"type":50,"value":947},"Every proposed mutation has an ID, target, interface, effect, risk, rollback, and test plan",{"type":44,"tag":194,"props":949,"children":950},{},[951],{"type":50,"value":952},"Report ends with the required final sentence",{"type":44,"tag":60,"props":954,"children":955},{},[956,961,963,968],{"type":44,"tag":354,"props":957,"children":958},{},[959],{"type":50,"value":960},"Stop.",{"type":50,"value":962}," Do not apply changes — unless a valid autonomous-mode acknowledgment (per ",{"type":44,"tag":87,"props":964,"children":966},{"className":965},[],[967],{"type":50,"value":105},{"type":50,"value":969},") accompanied the request, in which case present the report and the execution plan, then continue directly into execution under that skill.",{"type":44,"tag":53,"props":971,"children":973},{"id":972},"required-final-report-structure",[974],{"type":50,"value":975},"Required final report structure",{"type":44,"tag":60,"props":977,"children":978},{},[979,981,986],{"type":50,"value":980},"Use the template in ",{"type":44,"tag":87,"props":982,"children":984},{"className":983},[],[985],{"type":50,"value":731},{"type":50,"value":987},". Minimum sections:",{"type":44,"tag":190,"props":989,"children":990},{},[991,1001,1011,1020,1030,1040,1050,1060],{"type":44,"tag":194,"props":992,"children":993},{},[994,999],{"type":44,"tag":354,"props":995,"children":996},{},[997],{"type":50,"value":998},"Scope",{"type":50,"value":1000}," — org, database, branches, engine, repository, interfaces, time window; changes applied: none",{"type":44,"tag":194,"props":1002,"children":1003},{},[1004,1009],{"type":44,"tag":354,"props":1005,"children":1006},{},[1007],{"type":50,"value":1008},"Executive summary",{"type":50,"value":1010}," — 3–7 bullets on highest-risk gaps and highest-value improvements",{"type":44,"tag":194,"props":1012,"children":1013},{},[1014,1018],{"type":44,"tag":354,"props":1015,"children":1016},{},[1017],{"type":50,"value":695},{"type":50,"value":1019}," — database topology, safety workflow, observability, automation, repository instrumentation (with evidence)",{"type":44,"tag":194,"props":1021,"children":1022},{},[1023,1028],{"type":44,"tag":354,"props":1024,"children":1025},{},[1026],{"type":50,"value":1027},"Recommendations",{"type":50,"value":1029}," — ranked table with IDs, target, benefit, risk, approval needed, test first, evidence",{"type":44,"tag":194,"props":1031,"children":1032},{},[1033,1038],{"type":44,"tag":354,"props":1034,"children":1035},{},[1036],{"type":50,"value":1037},"Proposed change set requiring approval",{"type":50,"value":1039}," — every Class C\u002FD item with exact change, interface, rollback, production impact",{"type":44,"tag":194,"props":1041,"children":1042},{},[1043,1048],{"type":44,"tag":354,"props":1044,"children":1045},{},[1046],{"type":50,"value":1047},"Changes intentionally not applied",{"type":50,"value":1049}," — explicit list of what was not changed",{"type":44,"tag":194,"props":1051,"children":1052},{},[1053,1058],{"type":44,"tag":354,"props":1054,"children":1055},{},[1056],{"type":50,"value":1057},"Evidence appendix",{"type":50,"value":1059}," — source, command\u002Fpath, timestamp, value, notes",{"type":44,"tag":194,"props":1061,"children":1062},{},[1063,1068,1070],{"type":44,"tag":354,"props":1064,"children":1065},{},[1066],{"type":50,"value":1067},"Final required sentence",{"type":50,"value":1069}," (verbatim):",{"type":44,"tag":1071,"props":1072,"children":1073},"blockquote",{},[1074],{"type":44,"tag":60,"props":1075,"children":1076},{},[1077],{"type":50,"value":1078},"No changes have been applied. Approve specific change IDs before any mutation.",{"type":44,"tag":53,"props":1080,"children":1082},{"id":1081},"handling-partial-runs",[1083],{"type":50,"value":1084},"Handling partial runs",{"type":44,"tag":60,"props":1086,"children":1087},{},[1088],{"type":50,"value":1089},"If MCP, CLI, API, or repository access is unavailable:",{"type":44,"tag":218,"props":1091,"children":1092},{},[1093,1098,1103,1108],{"type":44,"tag":194,"props":1094,"children":1095},{},[1096],{"type":50,"value":1097},"Continue with available interfaces",{"type":44,"tag":194,"props":1099,"children":1100},{},[1101],{"type":50,"value":1102},"Record missing evidence in the report",{"type":44,"tag":194,"props":1104,"children":1105},{},[1106],{"type":50,"value":1107},"Lower confidence on affected recommendations",{"type":44,"tag":194,"props":1109,"children":1110},{},[1111],{"type":50,"value":1112},"Do not invent state — mark unknown",{"type":44,"tag":53,"props":1114,"children":1116},{"id":1115},"after-the-report",[1117],{"type":50,"value":1118},"After the report",{"type":44,"tag":60,"props":1120,"children":1121},{},[1122],{"type":50,"value":1123},"Two paths into execution:",{"type":44,"tag":60,"props":1125,"children":1126},{},[1127,1132],{"type":44,"tag":354,"props":1128,"children":1129},{},[1130],{"type":50,"value":1131},"Per-change approval.",{"type":50,"value":1133}," The operator approves specific change IDs:",{"type":44,"tag":190,"props":1135,"children":1136},{},[1137,1147,1152],{"type":44,"tag":194,"props":1138,"children":1139},{},[1140,1142],{"type":50,"value":1141},"Re-read ",{"type":44,"tag":87,"props":1143,"children":1145},{"className":1144},[],[1146],{"type":50,"value":92},{"type":44,"tag":194,"props":1148,"children":1149},{},[1150],{"type":50,"value":1151},"Execute only the named IDs",{"type":44,"tag":194,"props":1153,"children":1154},{},[1155],{"type":50,"value":1156},"Produce the post-execution report defined in that skill",{"type":44,"tag":60,"props":1158,"children":1159},{},[1160,1165],{"type":44,"tag":354,"props":1161,"children":1162},{},[1163],{"type":50,"value":1164},"Autonomous mode.",{"type":50,"value":1166}," The operator explicitly acknowledges the risk with a named scope (\"I accept the risk — apply all report recommendations to storefront-demo, production included\"):",{"type":44,"tag":190,"props":1168,"children":1169},{},[1170,1182,1187],{"type":44,"tag":194,"props":1171,"children":1172},{},[1173,1175,1180],{"type":50,"value":1174},"Read ",{"type":44,"tag":87,"props":1176,"children":1178},{"className":1177},[],[1179],{"type":50,"value":105},{"type":50,"value":1181}," and validate the acknowledgment against its activation contract",{"type":44,"tag":194,"props":1183,"children":1184},{},[1185],{"type":50,"value":1186},"Present the dependency-ordered execution plan, then execute end to end with continuous status, per-step verification, and the halt rules from that skill",{"type":44,"tag":194,"props":1188,"children":1189},{},[1190],{"type":50,"value":1191},"Produce the run summary and run log",{"type":44,"tag":60,"props":1193,"children":1194},{},[1195],{"type":50,"value":1196},"Never interpret \"apply best practices\", \"fix everything\", or \"go ahead\" as either approval or risk acknowledgment.",{"type":44,"tag":53,"props":1198,"children":1200},{"id":1199},"quick-invocation",[1201],{"type":50,"value":1202},"Quick invocation",{"type":44,"tag":60,"props":1204,"children":1205},{},[1206],{"type":50,"value":1207},"When the user says \"run the full assessment\" or \"run all PlanetScale best-practices skills\":",{"type":44,"tag":190,"props":1209,"children":1210},{},[1211,1216,1221,1226],{"type":44,"tag":194,"props":1212,"children":1213},{},[1214],{"type":50,"value":1215},"Load this skill",{"type":44,"tag":194,"props":1217,"children":1218},{},[1219],{"type":50,"value":1220},"Run Phases 0–11 in order",{"type":44,"tag":194,"props":1222,"children":1223},{},[1224],{"type":50,"value":1225},"Return the unified report",{"type":44,"tag":194,"props":1227,"children":1228},{},[1229],{"type":50,"value":1230},"Stop",{"items":1232,"total":1401},[1233,1254,1267,1278,1290,1304,1315,1330,1346,1363,1375,1388],{"slug":1234,"name":1234,"fn":1235,"description":1236,"org":1237,"tags":1238,"stars":1251,"repoUrl":1252,"updatedAt":1253},"mysql","plan and optimize MySQL database schemas","Plan and review MySQL\u002FInnoDB schema, indexing, query tuning, transactions, and operations. Use when creating or modifying MySQL tables, indexes, or queries; diagnosing slow\u002Flocking behavior; planning migrations; or troubleshooting replication and connection issues. Load when using a MySQL database.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1239,1242,1243,1245,1248],{"name":1240,"slug":1241,"type":15},"Data Modeling","data-modeling",{"name":23,"slug":24,"type":15},{"name":1244,"slug":1234,"type":15},"MySQL",{"name":1246,"slug":1247,"type":15},"Performance","performance",{"name":1249,"slug":1250,"type":15},"SQL","sql",557,"https:\u002F\u002Fgithub.com\u002Fplanetscale\u002Fdatabase-skills","2026-04-06T18:43:45.381961",{"slug":1255,"name":1255,"fn":1256,"description":1257,"org":1258,"tags":1259,"stars":1251,"repoUrl":1252,"updatedAt":1266},"neki","manage sharded PostgreSQL with Neki","Overview and information about Neki, the sharded Postgres product by PlanetScale. Load when working with Neki-related tasks and the need to scale or shard postgres. Load when facing Postgres scaling or sharding issues.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1260,1261,1262,1263],{"name":23,"slug":24,"type":15},{"name":1246,"slug":1247,"type":15},{"name":9,"slug":8,"type":15},{"name":1264,"slug":1265,"type":15},"PostgreSQL","postgresql","2026-07-24T05:38:09.09841",{"slug":1268,"name":1268,"fn":1269,"description":1270,"org":1271,"tags":1272,"stars":1251,"repoUrl":1252,"updatedAt":1277},"postgres","optimize PostgreSQL database performance","PostgreSQL best practices, query optimization, connection troubleshooting, and performance improvement. Load when working with Postgres databases.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1273,1274,1275,1276],{"name":23,"slug":24,"type":15},{"name":1246,"slug":1247,"type":15},{"name":1264,"slug":1265,"type":15},{"name":1249,"slug":1250,"type":15},"2026-04-06T18:43:44.126777",{"slug":1279,"name":1279,"fn":1280,"description":1281,"org":1282,"tags":1283,"stars":1251,"repoUrl":1252,"updatedAt":1289},"vitess","optimize Vitess database performance and sharding","Vitess best practices, query optimization, and connection troubleshooting for PlanetScale Vitess databases. Load when working with Vitess databases, sharding, VSchema configuration, keyspace management, or MySQL scaling issues.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1284,1285,1286,1287,1288],{"name":23,"slug":24,"type":15},{"name":1246,"slug":1247,"type":15},{"name":9,"slug":8,"type":15},{"name":1249,"slug":1250,"type":15},{"name":483,"slug":1279,"type":15},"2026-04-06T18:43:42.890969",{"slug":1291,"name":1291,"fn":1292,"description":1293,"org":1294,"tags":1295,"stars":26,"repoUrl":27,"updatedAt":1303},"planetscale-autonomous-execution-mode","execute autonomous PlanetScale database changes","Execute approved PlanetScale changes end-to-end without per-step approval when the operator has explicitly acknowledged the risk. Defines the risk-acknowledgment contract, scoped autonomy levels, sensible execution ordering, continuous status reporting, halt conditions, and rollback discipline. Extremely safe, very enabling.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1296,1297,1298,1299,1300],{"name":17,"slug":18,"type":15},{"name":23,"slug":24,"type":15},{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"name":1301,"slug":1302,"type":15},"Risk Assessment","risk-assessment","2026-07-05T06:32:41.490537",{"slug":1305,"name":1305,"fn":1306,"description":1307,"org":1308,"tags":1309,"stars":26,"repoUrl":27,"updatedAt":1314},"planetscale-best-practices-matrix","evaluate PlanetScale best practices feature matrix","A concise feature matrix for deciding which PlanetScale safety, observability, and automation recommendations apply by engine.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1310,1311,1312,1313],{"name":17,"slug":18,"type":15},{"name":23,"slug":24,"type":15},{"name":1246,"slug":1247,"type":15},{"name":9,"slug":8,"type":15},"2026-07-27T06:07:48.188419",{"slug":1316,"name":1316,"fn":1317,"description":1318,"org":1319,"tags":1320,"stars":26,"repoUrl":27,"updatedAt":1329},"planetscale-change-gates-and-approval-contract","enforce approval gates for database mutations","Enforce explicit approval gates for any PlanetScale, database, repository, credential, network, or automation mutation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1321,1324,1325,1328],{"name":1322,"slug":1323,"type":15},"Approvals","approvals",{"name":23,"slug":24,"type":15},{"name":1326,"slug":1327,"type":15},"Governance","governance",{"name":9,"slug":8,"type":15},"2026-07-07T06:38:42.512288",{"slug":1331,"name":1331,"fn":1332,"description":1333,"org":1334,"tags":1335,"stars":26,"repoUrl":27,"updatedAt":1345},"planetscale-codebase-sqlcommenter-instrumentation","instrument PlanetScale applications with SQLCommenter","Inspect an application repository connected to PlanetScale and recommend SQLCommenter-compatible query tagging packages and conventions.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1336,1339,1340,1343,1344],{"name":1337,"slug":1338,"type":15},"Code Analysis","code-analysis",{"name":23,"slug":24,"type":15},{"name":1341,"slug":1342,"type":15},"Observability","observability",{"name":9,"slug":8,"type":15},{"name":1249,"slug":1250,"type":15},"2026-07-07T06:38:43.813568",{"slug":1347,"name":1347,"fn":1348,"description":1349,"org":1350,"tags":1351,"stars":26,"repoUrl":27,"updatedAt":1362},"planetscale-customer-report-template","generate PlanetScale best practices reports","Produce the final PlanetScale best-practices report after running the inventory and relevant review skills.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1352,1355,1356,1359],{"name":1353,"slug":1354,"type":15},"Documentation","documentation",{"name":9,"slug":8,"type":15},{"name":1357,"slug":1358,"type":15},"Reporting","reporting",{"name":1360,"slug":1361,"type":15},"Templates","templates","2026-07-07T06:38:37.362061",{"slug":1364,"name":1364,"fn":1365,"description":1366,"org":1367,"tags":1368,"stars":26,"repoUrl":27,"updatedAt":1374},"planetscale-mcp-agent-operating-model","configure safe PlanetScale MCP agent behavior","Configure safe agent behavior around PlanetScale MCP, Insights, schema recommendations, and repository work without autonomous production mutation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1369,1372,1373],{"name":1370,"slug":1371,"type":15},"MCP","mcp",{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},"2026-07-07T06:38:38.675213",{"slug":1376,"name":1376,"fn":1377,"description":1378,"org":1379,"tags":1380,"stars":26,"repoUrl":27,"updatedAt":1387},"planetscale-postgres-safety-review","review PlanetScale Postgres safety and configuration","Review PlanetScale Postgres for Traffic Control, query tags, roles, pg_strict, backups\u002FPITR, private connectivity, webhooks, branches, and safe agent operation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1381,1382,1383,1384],{"name":20,"slug":21,"type":15},{"name":9,"slug":8,"type":15},{"name":1264,"slug":1265,"type":15},{"name":1385,"slug":1386,"type":15},"Security","security","2026-07-07T06:38:34.75135",{"slug":1389,"name":1389,"fn":1390,"description":1391,"org":1392,"tags":1393,"stars":26,"repoUrl":27,"updatedAt":1400},"planetscale-pscale-cli-automation","automate PlanetScale CLI operations","Use the PlanetScale CLI (pscale) from automated agents with --format json, auth check, pscale sql, and per-command --force. Run before other PlanetScale skills when driving pscale directly. Use when the user asks to automate pscale, run CLI commands headless, or verify pscale auth from an agent.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1394,1395,1398,1399],{"name":17,"slug":18,"type":15},{"name":1396,"slug":1397,"type":15},"CLI","cli",{"name":23,"slug":24,"type":15},{"name":9,"slug":8,"type":15},"2026-07-07T06:38:33.465495",19,{"items":1403,"total":1454},[1404,1412,1419,1426,1434,1441,1447],{"slug":1291,"name":1291,"fn":1292,"description":1293,"org":1405,"tags":1406,"stars":26,"repoUrl":27,"updatedAt":1303},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1407,1408,1409,1410,1411],{"name":17,"slug":18,"type":15},{"name":23,"slug":24,"type":15},{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"name":1301,"slug":1302,"type":15},{"slug":1305,"name":1305,"fn":1306,"description":1307,"org":1413,"tags":1414,"stars":26,"repoUrl":27,"updatedAt":1314},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1415,1416,1417,1418],{"name":17,"slug":18,"type":15},{"name":23,"slug":24,"type":15},{"name":1246,"slug":1247,"type":15},{"name":9,"slug":8,"type":15},{"slug":1316,"name":1316,"fn":1317,"description":1318,"org":1420,"tags":1421,"stars":26,"repoUrl":27,"updatedAt":1329},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1422,1423,1424,1425],{"name":1322,"slug":1323,"type":15},{"name":23,"slug":24,"type":15},{"name":1326,"slug":1327,"type":15},{"name":9,"slug":8,"type":15},{"slug":1331,"name":1331,"fn":1332,"description":1333,"org":1427,"tags":1428,"stars":26,"repoUrl":27,"updatedAt":1345},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1429,1430,1431,1432,1433],{"name":1337,"slug":1338,"type":15},{"name":23,"slug":24,"type":15},{"name":1341,"slug":1342,"type":15},{"name":9,"slug":8,"type":15},{"name":1249,"slug":1250,"type":15},{"slug":1347,"name":1347,"fn":1348,"description":1349,"org":1435,"tags":1436,"stars":26,"repoUrl":27,"updatedAt":1362},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1437,1438,1439,1440],{"name":1353,"slug":1354,"type":15},{"name":9,"slug":8,"type":15},{"name":1357,"slug":1358,"type":15},{"name":1360,"slug":1361,"type":15},{"slug":1364,"name":1364,"fn":1365,"description":1366,"org":1442,"tags":1443,"stars":26,"repoUrl":27,"updatedAt":1374},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1444,1445,1446],{"name":1370,"slug":1371,"type":15},{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"slug":1376,"name":1376,"fn":1377,"description":1378,"org":1448,"tags":1449,"stars":26,"repoUrl":27,"updatedAt":1387},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1450,1451,1452,1453],{"name":20,"slug":21,"type":15},{"name":9,"slug":8,"type":15},{"name":1264,"slug":1265,"type":15},{"name":1385,"slug":1386,"type":15},15]