Dsql
awslabs/agent-plugins
Build with Aurora DSQL — manage schemas, execute queries, handle migrations, diagnose query plans, diagnose cluster performance, load data, and develop applications with a serverless, distributed…
A skill your agent uses when operating PlanetScale (Vitess serverless MySQL) — branches and the pscale CLI, schema changes through deploy requests (Online DDL cutover, ~30-min revert window), tables…
$ npx skills add ericrisco/rsc-harness --skill planetscale -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ericrisco/rsc-harness planetscale --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/planetscale .claude/skills/planetscale && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "planetscale" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/planetscale into .claude/skills/planetscale/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "planetscale", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ericrisco/rsc-harness/tree/main/skills/planetscaleType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ericrisco/rsc-harness --skill planetscale -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ericrisco/rsc-harness planetscale --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/planetscale .agents/skills/planetscale && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "planetscale" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/planetscale into .agents/skills/planetscale/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "planetscale", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ericrisco/rsc-harness --skill planetscale -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ericrisco/rsc-harness planetscale --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/planetscale .cursor/skills/planetscale && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "planetscale" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/planetscale into .cursor/skills/planetscale/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "planetscale", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ericrisco/rsc-harness.git --path skills/planetscale--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ericrisco/rsc-harness --skill planetscale -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ericrisco/rsc-harness planetscale --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/planetscale .gemini/skills/planetscale && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "planetscale" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/planetscale into .gemini/skills/planetscale/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "planetscale", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ericrisco/rsc-harness planetscaleInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ericrisco/rsc-harness --skill planetscale -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/planetscale .github/skills/planetscale && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "planetscale" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/planetscale into .github/skills/planetscale/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "planetscale", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ericrisco/rsc-harness --skill planetscale -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ericrisco/rsc-harness planetscale --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/planetscale .opencode/skills/planetscale && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "planetscale" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/planetscale into .opencode/skills/planetscale/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "planetscale", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
planetscaleA skill your agent uses when operating PlanetScale (Vitess serverless MySQL) — branches and the pscale CLI, schema changes through deploy requests (Online DDL cutover, ~30-min revert window), tables…
Planetscale is an agent skill from ericrisco/rsc-harness. Use when operating PlanetScale (Vitess serverless MySQL) — branches and the pscale CLI, schema changes through deploy requests (Online DDL cutover, ~30-min revert window), tables without foreign keys, or the edge HTTP driver. NOT MySQL engine work like EXPLAIN or index choice (that is mysql), NOT generic migration theory (that is db-migrations).
Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including scripts and reference files (for example `evals/README.md`, `evals/cases.yaml` and `references/deploy-requests.md`).
It sits in Databases, covering Serverless, Database migrations and ORMs and data access. It works with PlanetScale, MySQL and PostgreSQL. The repository describes itself as: Your agent invents things because it has no memory, and can't touch your database because it has no arms. rsc is the meta-harness that gives it both, plus the trade to know the… The licence is MIT.
Read from SKILL.md and the folder at commit 92fde8f. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
brewFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
PLANETSCALE_SERVICE_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Planetscale loads about 2.8k tokens when it runs, and up to ~4.8k if it reads all its reference files. Until then it costs about 91 tokens; SKILL.md has 999 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from ericrisco/rsc-harness at commit 92fde8f, republished under its MIT licence (© ericrisco). 999 words, ~2,814 tokens.
.claude/skills/planetscale/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.PlanetScale is serverless, MySQL-compatible database-as-a-service built on Vitess — the same
horizontal-scaling layer that runs YouTube. You do not ALTER TABLE against production. Schema
changes live on an isolated branch (a full copy of the schema), reach production through a
deploy request (a pull request for your schema), and apply via Online DDL: Vitess builds a
shadow table holding the new schema, replicates rows and in-flight writes old→new with VReplication,
then cuts over with no table lock. Because Online DDL and sharding are the platform's center of
gravity, you design without foreign keys (FKs are now an opt-in but unsharded-only feature). This
skill owns that workflow — not MySQL the engine.
Heuristic for the boundary: would this answer be identical on RDS MySQL? Then it is not this skill.
| When the question is really about | Route to |
|---|---|
A slow query, an EXPLAIN plan, an index decision, JSON columns, locking | ../mysql/SKILL.md for MySQL-engine work; ../postgresdb/SKILL.md when you want the transferable engine reasoning |
| PostgreSQL engine/design — even PlanetScale's own managed Postgres SQL semantics | ../postgresdb/SKILL.md. PlanetScale sells Postgres too; this skill is strictly the Vitess/MySQL branch+deploy-request flow |
| Engine-agnostic migration theory (expand-contract, backfill ordering) | ../db-migrations/SKILL.md. Here you get the concrete PlanetScale realization, not the theory |
| Postgres copy-on-write branches | ../neon/SKILL.md. Postgres BaaS → ../supabase/SKILL.md |
ORM client ergonomics (Prisma updateMany, Drizzle query builder) | ../prisma-orm/SKILL.md / ../drizzle-orm/SKILL.md. This skill owns only the PlanetScale-specific knobs those ORMs expose (relationMode, serverless driver adapter) |
| PlanetScale concept | Git analogue | What it actually is |
|---|---|---|
| Branch | branch | A full, isolated copy of the schema. main is your production branch. |
| Deploy request | pull request | The gate that carries schema from a dev branch to production. |
| Schema diff | the PR diff | The exact DDL the deploy will run, computed by PlanetScale. |
| Online DDL | (no git analogue) | Shadow table + VReplication + non-blocking cutover. No ALTER lock. |
| Schema revert | revert commit | A ~30-minute window after deploy to undo while preserving post-deploy writes. |
The revert window is the one thing people get wrong: it is not forever, and it has carve-outs (dropped tables/columns and FK-constraint changes are not cleanly revertible). After ~30 minutes the deploy is permanent. Plan rollbacks as new forward deploys, not as "I'll just revert later."
Production branches should have safe migrations enabled — that is what forces every schema change
through a deploy request instead of letting a raw ALTER hit main. Production branches are protected
by default. The full lifecycle (numbered steps, real pscale commands):
# 0. Install + authenticate (once)
brew install planetscale/tap/pscale # or scoop / apt — see pscale docs
pscale auth login
# 1. Create the database (region close to your app)
pscale database create my_app --region us-east
# 2. Create a dev branch off production to hold the change
pscale branch create my_app add-orders-table
# 3. Apply your DDL on the BRANCH, never on main.
# Open a MySQL shell scoped to the branch and run your CREATE/ALTER:
pscale shell my_app add-orders-table
# mysql> CREATE TABLE orders (id BIGINT PRIMARY KEY AUTO_INCREMENT, ...);
# mysql> ALTER TABLE users ADD COLUMN last_seen_at TIMESTAMP NULL;
# 4. Open a deploy request from the branch back to production.
# --disable-auto-apply gates the cutover behind a manual apply (recommended for risky drops).
pscale deploy-request create my_app add-orders-table --disable-auto-apply
# 5. Inspect the exact schema diff the deploy will run. ALWAYS read this.
pscale deploy-request diff my_app 42
# 6. Review / approve (the schema-PR review step)
pscale deploy-request review my_app 42 --approve
# 7. Deploy. PlanetScale runs Online DDL: shadow table -> VReplication -> cutover.
pscale deploy-request deploy my_app 42
# 8. If you disabled auto-apply, the change waits gated until you apply the cutover:
pscale deploy-request apply my_app 42
# 9. Verify on production. If wrong, REVERT within the ~30-minute window:
pscale deploy-request revert my_app 42Auto-apply is ON by default. With it on, step 7 deploys and cuts over in one motion. For
anything destructive — dropping a column/table, narrowing a type — pass --disable-auto-apply at
step 4 so the cutover sits gated (step 8) until a human applies it. That gap is your last cheap exit
before the revert window starts ticking.
For queued/gated deploys that won't move, lint errors that block a deploy, declarative vs imperative schema, and the exact revert carve-outs, see deploy-requests.
Vitess's first-class features are Online DDL and horizontal sharding. Native foreign keys fight both: a cross-shard FK is meaningless once a table is sharded, and FK constraint checks degrade high-concurrency writes. PlanetScale historically disallowed FKs entirely; they are now an opt-in but unsharded-only feature. The scale-safe default is app-level referential integrity with emulated relations, not database-enforced FKs.
-- Bad on PlanetScale at scale: a DB-enforced FK with ON DELETE CASCADE.
-- Blocks sharding, conflicts with Online DDL, and the cascade is a hidden write amplifier.
CREATE TABLE orders (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
user_id BIGINT NOT NULL,
CONSTRAINT fk_user FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
);
-- Good: no DB FK. Index the relation column, enforce integrity in the app/ORM,
-- and do cascades explicitly in a transaction or background job.
CREATE TABLE orders (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
user_id BIGINT NOT NULL,
KEY idx_orders_user_id (user_id) -- the relation still needs its index
);With Prisma, declare relationMode = "prisma" so the client emulates relations and adds the implicit
indexes instead of emitting DB-level FKs:
datasource db {
provider = "mysql"
url = env("DATABASE_URL")
relationMode = "prisma"
}With Drizzle, model the relation in app code (relations()), index the join column, and skip the
references()-backed FK constraint at the DB layer.
| Will this table shard? | FK strategy | Notes |
|---|---|---|
| Yes, or unsure | No DB FK — emulate in app/ORM | Default. Index the relation column; cascade in code. |
| Never (small, bounded, unsharded) | Unsharded FK opt-in is acceptable | Accept Online DDL friction; document why it won't shard. |
See no-foreign-keys for emulated cascades, ORM specifics, and the opt-in caveats.
Two connection paths. Pick by runtime, not by preference.
// Direct MySQL string — for Node/long-lived servers that can open a TCP socket.
// DATABASE_URL=mysql://user:pass@host/db?ssl-mode=require (TLS required)
// Serverless HTTP driver — for edge/serverless where raw TCP MySQL is blocked.
import { connect } from "@planetscale/database";
const conn = connect({ url: process.env.DATABASE_URL });
const result = await conn.execute("SELECT id FROM users WHERE email = ?", [email]);@planetscale/database is Fetch-API compatible: it speaks HTTP, so it works where you cannot open a
MySQL socket — Cloudflare Workers, Vercel Edge, Lambda. The spelling is exactly @planetscale/database;
there is no other official package name. Drizzle ships a matching adapter,
drizzle-orm/planetscale-serverless, that wraps this driver — see ../drizzle-orm/SKILL.md for the
query-builder side.
| Runtime | Connection path | Why |
|---|---|---|
| Node server, long-lived process | Direct mysql://…?ssl-mode=require | TCP socket available; pool it. |
| Vercel Edge / Cloudflare Workers | @planetscale/database (HTTP) | No raw TCP; the Fetch-based driver works. |
| AWS Lambda / short-lived serverless | @planetscale/database (HTTP) | Avoids per-invocation connection churn. |
| Drizzle on edge | drizzle-orm/planetscale-serverless | Wraps the HTTP driver; same constraints. |
Wire the deploy-request flow into CI so schema changes are reviewed like code. A GitHub Actions job
installs pscale, authenticates with a service token (PLANETSCALE_SERVICE_TOKEN /
PLANETSCALE_SERVICE_TOKEN_ID as secrets), then drives the same verbs you run locally:
# .github/workflows/schema.yml — open + diff a deploy request on PR
- run: |
pscale deploy-request create "$DB" "${{ github.head_ref }}" --disable-auto-apply
pscale deploy-request diff "$DB" "$DR_NUMBER" # surface the schema diff in the PRFor a branch-per-PR preview database, create a PlanetScale branch named after the PR head, run the
app's migrations against it, and tear the branch down when the PR closes. The orchestration (matrix,
secrets, cleanup-on-close) is generic CI — defer the Actions plumbing to ../github-actions/SKILL.md
and keep the PlanetScale verbs here.
| Anti-pattern | Why it bites | Do instead |
|---|---|---|
ALTER TABLE on the main production branch | Skips the gate; no diff, no review, no revert window | Branch → DDL → deploy request → diff → deploy |
| Relying on DB-enforced foreign keys at scale | Blocks sharding, fights Online DDL, degrades high-concurrency writes | App/ORM-level integrity; relationMode="prisma"; index the relation column |
| Leaving auto-apply ON for a destructive change | Deploy + cutover happen in one motion; no gated last-look before the drop | --disable-auto-apply, inspect, then deploy-request apply |
Opening a direct mysql:// connection from Vercel Edge / Workers | Raw TCP MySQL is blocked on edge runtimes → connection timeouts | Use @planetscale/database HTTP driver |
| Treating revert as available forever | The window is ~30 min and excludes dropped tables/cols and FK changes | Plan rollbacks as new forward deploys |
Deploying without reading deploy-request diff | You ship DDL you never saw; surprise table rewrites | Always run the diff before deploy |
Inventing a driver name (@planetscale/serverless, planetscale-js) | There is no such package; install fails | The package is exactly @planetscale/database |
© ericrisco, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 5 other files (scripts, references) in skills/planetscale of ericrisco/rsc-harness.
Open the folder on GitHubat commit 92fde8f
Planetscale next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Planetscale this skillericrisco/rsc-harness | 156 | — | ~2.8k | Automated safety check: Pass | MIT | |
| Dsqlawslabs/agent-plugins | 912 | — | ~6.9k | Automated safety check: Pass | Apache-2.0 | |
| Database Migrationsaffaan-m/ECC | 274k | 3 repos | ~1.9k | Automated safety check: Pass | MIT | |
| Database Migrationsaffaan-m/ECC | 274k | 1 repos | ~2.4k | Automated safety check: Pass | MIT | |
| Safe Database Migration Patternsaffaan-m/ECC | 274k | — | ~3.3k | Automated safety check: Pass | MIT | |
| Database Migrationsaffaan-m/ECC | 274k | — | ~335 | Automated safety check: Pass | MIT |
awslabs/agent-plugins
Build with Aurora DSQL — manage schemas, execute queries, handle migrations, diagnose query plans, diagnose cluster performance, load data, and develop applications with a serverless, distributed…
affaan-m/ECC
数据库迁移最佳实践,涵盖模式变更、数据迁移、回滚以及零停机部署,适用于PostgreSQL、MySQL及常用ORM(Prisma、Drizzle、Django、TypeORM、golang-migrate)。
affaan-m/ECC
Şema değişiklikleri, veri migration'ları, rollback'ler ve PostgreSQL, MySQL ve yaygın ORM'ler (Prisma, Drizzle, Django, TypeORM, golang-migrate) arasında sıfır kesinti deployment'ları için…
affaan-m/ECC
Rules and examples for safe, reversible schema changes in production: zero-downtime column and index changes, large data backfills and ORM migration workflows.
affaan-m/ECC
PostgreSQL、MySQL、一般的なORM(Prisma、Drizzle、Kysely、Django、TypeORM、golang-migrate)全体のスキーマ変更、データマイグレーション、ロールバック、ゼロダウンタイムデプロイメントのためのデータベースマイグレーションベストプラクティス。
xu-xiang/everything-claude-code-zh
跨 PostgreSQL、MySQL 及常用 ORM(Prisma、Drizzle、Django、TypeORM、golang-migrate)的模式变更(schema changes)、数据迁移、回滚及零停机部署(zero-downtime deployments)的数据库迁移最佳实践。
ericrisco/rsc-harness
A skill your agent uses when designing or analyzing a controlled experiment — falsifiable hypothesis, sample size from an MDE, reading significance/CI/power, CUPED, or rescuing tests that won't go…
ericrisco/rsc-harness
A skill your agent uses when making a web UI conform to WCAG 2.2 Level AA — axe-core or Lighthouse a11y violations, keyboard operability, focus management, ARIA roles/names/live regions, contrast…
ericrisco/rsc-harness
A skill your agent uses when running or fixing paid acquisition on Google or Meta — campaign structure (Performance Max, Demand Gen, Search, Advantage+), platform-fit creative, budget/scaling rules…
ericrisco/rsc-harness
A skill your agent uses when measuring whether an LLM or agent system actually got better and gating merges on it: golden sets, fixing an inflated LLM-as-judge, scoring RAG (faithfulness, contextual…
ericrisco/rsc-harness
A skill your agent uses when a creative goal must become a finished media file: pick and order generative-media models per modality — AI voiceover, image-to-video clips, score — then glue them with…
ericrisco/rsc-harness
A skill your agent uses when instrumenting product or web analytics — GA4/PostHog SDK wiring, event taxonomy, funnels, double-counted events, consent gating, PII scrubbing.
Works with
Categories
A skill your agent uses when operating PlanetScale (Vitess serverless MySQL) — branches and the pscale CLI, schema changes through deploy requests (Online DDL cutover, ~30-min revert window), tables…. Planetscale is an agent skill from ericrisco/rsc-harness. Use when operating PlanetScale (Vitess serverless MySQL) — branches and the pscale CLI, schema changes through deploy requests (Online DDL cutover, ~30-min revert window), tables without foreign keys, or the edge HTTP driver.
Planetscale fits situations like: operating PlanetScale (Vitess serverless MySQL) — branches and the pscale CLI; schema changes through deploy requests (Online DDL cutover; ~30-min revert window); tables without foreign keys.
Run `npx skills add ericrisco/rsc-harness --skill planetscale -a claude-code`. Or copy the skill folder (skills/planetscale in ericrisco/rsc-harness) into .claude/skills/planetscale in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ericrisco/rsc-harness --skill planetscale -a codex`. Or copy the skill folder (skills/planetscale in ericrisco/rsc-harness) into .agents/skills/planetscale in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ericrisco/rsc-harness --skill planetscale -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/planetscale, .gemini/skills/planetscale, .github/skills/planetscale and .opencode/skills/planetscale in your project.
Going by SKILL.md and its folder, Planetscale needs a shell for the scripts in its folder, the command-line tools its instructions call (brew) and credentials named PLANETSCALE_SERVICE_TOKEN. Our summary lists: A Bash shell; A credential in PLANETSCALE_SERVICE_TOKEN.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Planetscale is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Planetscale: Dsql (awslabs/agent-plugins, 912 stars), Database Migrations (affaan-m/ECC, 274k stars), Database Migrations (affaan-m/ECC, 274k stars) and Safe Database Migration Patterns (affaan-m/ECC, 274k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ericrisco (a GitHub user) maintains it in ericrisco/rsc-harness, which has 156 GitHub stars. The repository holds 229 skills in this directory. The repository was last updated on October 6, 2026.
Source: ericrisco/rsc-harness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.