Agent skill

Mysql

by ericrisco in ericrisco/rsc-harness

A skill your agent uses when designing, querying, indexing or operating a MySQL or MariaDB database and engine-specific behaviour matters — schema and type choices, index design, reading EXPLAIN…

MITAuto-check passedDatabases

Install Mysql

skills CLI
$ npx skills add ericrisco/rsc-harness --skill mysql -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ericrisco/rsc-harness mysql --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/mysql .claude/skills/mysql && rm -rf skills-src

Use ~/.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/

Facts

Skill name
mysql
GitHub stars
156
Token cost
~3.7k tokens
SKILL.md length
1,461 words
Files
8 (incl. scripts, references)
Skills in repo
229
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when designing, querying, indexing or operating a MySQL or MariaDB database and engine-specific behaviour matters — schema and type choices, index design, reading EXPLAIN…

  • Works in 8 steps: utf8mb4, always — at the column level.… → Small monotonic PRIMARY KEY. An InnoDB… → binlog_format=ROW + GTID. ROW is the… → …
  • Operating a MySQL
  • SKILL.md covers When to use, When NOT to use, Pick your version first and Non-negotiables, plus 8 more sections
  • Runs Shell scripts from its folder; needs SOURCE_PASSWORD

What it does

Mysql is an agent skill from ericrisco/rsc-harness. Use when designing, querying, indexing or operating a MySQL or MariaDB database and engine-specific behaviour matters — schema and type choices, index design, reading EXPLAIN, online schema change, replication and replica lag, locking and InnoDB deadlocks, charset traps, and server config. NOT portable SELECT/JOIN/window-function craft (that is sql), NOT PostgreSQL engine behaviour like VACUUM or JSONB (that is postgresdb), NOT the PlanetScale/Vitess branch-and-deploy workflow (that is planetscale).

Its SKILL.md is about 3.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 10 other files, including scripts and reference files (for example `evals/README.md`, `evals/cases.yaml` and `references/indexing-and-explain.md`).

It sits in Databases, covering SQL, Database administration and Database migrations. It works with MySQL, MariaDB, PlanetScale and SQL. 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.

When your agent uses it

  • Operating a MySQL
  • MariaDB database and engine-specific behaviour matters — schema and type choices
  • Reading EXPLAIN
  • Online schema change

Example prompts

  • “/mysql”

Requirements

  • A Bash shell

Workflow steps

8 steps, taken from the first numbered list in SKILL.md.

  1. utf8mb4, always — at the column level. Legacy utf8 (alias utf8mb3) is 3-byte and
  2. Small monotonic PRIMARY KEY. An InnoDB table is its PK B-tree, and every secondary index
  3. binlog_format=ROW + GTID. ROW is the only reliable replication format; GTID gives each
  4. caching_sha2_password + TLS. It is the default auth plugin and SHA-256 based; clients need
  5. Index column order follows the leftmost prefix. INDEX (a,b,c) serves a, a,b, a,b,c —
  6. Never ALTER a hot table without choosing an algorithm. Default COPY locks and rebuilds.
  7. REPEATABLE READ + next-key (gap) locks → short, consistently-ordered transactions. This is
  8. Measure with EXPLAIN ANALYZE, do not guess. The optimizer's rows is an estimate;

What it can do on your machine

Read from SKILL.md and the folder at commit 92fde8f. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Ships 1 file in scripts/ (Shell), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • SOURCE_PASSWORD

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Mysql loads about 3.7k tokens when it runs, and up to ~9.7k if it reads all its reference files. Until then it costs about 129 tokens; SKILL.md has 1,461 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~129
When it runs · the whole SKILL.md, loaded when a task matches
~3.7k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~9.7k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from ericrisco/rsc-harness at commit 92fde8f, republished under its MIT licence (© ericrisco). 1,461 words, ~3,741 tokens.

Download SKILL.mdSave it as .claude/skills/mysql/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.
name
mysql
description
Use when designing, querying, indexing or operating a MySQL or MariaDB database and engine-specific behaviour matters — schema and type choices, index design, reading EXPLAIN, online schema change, replication and replica lag, locking and InnoDB deadlocks, charset traps, and server config. NOT portable SELECT/JOIN/window-function craft (that is `sql`), NOT PostgreSQL engine behaviour like VACUUM or JSONB (that is `postgresdb`), NOT the PlanetScale/Vitess branch-and-deploy workflow (that is `planetscale`).
tags
mysql, mariadb, innodb, explain, replication, indexing, online-ddl, database
recommends
sql, postgresdb, planetscale, db-migrations, backups
origin
risco

MySQL / MariaDB engine

You are working below portable SQL, at the layer where the answer depends on which engine is running. This skill owns MySQL 8.4 LTS and MariaDB 11.8 LTS: the InnoDB clustered-index storage model, MySQL-flavoured DDL and types, index design and the leftmost-prefix rule, reading EXPLAIN and fixing the plan, online DDL, replication, locking/deadlocks, and day-2 server config.

The dividing line is simple: if the answer is identical on PostgreSQL, it belongs in sql, not here. sql owns the dialect-independent SELECT grammar. mysql owns how this engine stores, plans, locks, and replicates. postgresdb is the peer engine for the other database — same body shape, different facts, never the same answer.

When to use

  • Designing or reviewing a MySQL/MariaDB schema: engine choice, integer/DECIMAL/VARCHAR sizing, utf8mb4 charset/collation, JSON + generated/STORED columns, PK design for InnoDB.
  • A query is slow or scans too many rows; reading EXPLAIN / EXPLAIN ANALYZE / FORMAT=JSON.
  • Choosing or adding an index: composite column order, covering indexes, prefix indexes on TEXT, invisible indexes for safe rollout, why an index is not used.
  • Schema change on a large/hot table without downtime: ALGORITHM=INSTANT/INPLACE/COPY, pt-osc, gh-ost.
  • Replication: binlog row format, GTID (incl. tagged GTIDs), replica lag, semi-sync, group replication.
  • Locking/concurrency: deadlocks, gap/next-key locks, REPEATABLE READ, SELECT ... FOR UPDATE.
  • Operating the server: buffer pool, caching_sha2_password + TLS, slow-query log, performance_schema.
  • Migrating 5.7/8.0 → 8.4 LTS, or reasoning about MySQL ↔ MariaDB divergence.

When NOT to use

The askGoes to
Portable query craft — joins, window functions, CTEs, NULL 3VLsql
PostgreSQL engine behaviour — MVCC, VACUUM, RLS, JSONB, PgBouncerpostgresdb
PlanetScale / Vitess branch + deploy-request workflow, no-FK designplanetscale
Vendor-neutral migration theory — expand-contract, batched backfilldb-migrations
ORM / query-builder API ergonomicsdrizzle-orm, prisma-orm
Backup strategy / retention / restore drills as a disciplinebackups
OLAP / columnar analyticsclickhouse-analytics, duckdb

The boundaries with planetscale and db-migrations are sharp: this skill owns the raw-MySQL mechanics (EXPLAIN, index choice, ALGORITHM=, gh-ost). PlanetScale wraps those in its platform workflow; db-migrations wraps them in vendor-neutral strategy. You own the knobs they ride on.

Pick your version first

Get this wrong and every later decision (auth, vector, isolation defaults) is wrong too.

TargetUse it whenWatch out
MySQL 8.4 LTSDefault for conservative production. GA 2024-04-30, supported through April 2032.mysql_native_password is disabled by default here.
MySQL 9.x InnovationOnly if you need VECTOR or the newest features and accept short support.Short-lived track; mysql_native_password is removed. Not for stable prod.
MariaDB 11.8 LTSThe fork; 2025 yearly LTS, first MariaDB LTS with native vector search.Auth, vector syntax, and RETURNING differ from MySQL — not drop-in compatible; innodb_snapshot_isolation defaults ON.

VECTOR is a MySQL 9.0 (Innovation) feature, not in 8.4 LTS. MariaDB 11.8 also has VECTOR but with different functions (VEC_DISTANCE_COSINE() vs MySQL's STRING_TO_VECTOR()) — see references/mysql-vs-mariadb.md. Do not assume one's vector SQL runs on the other.

Non-negotiables

  1. utf8mb4, always — at the column level. Legacy utf8 (alias utf8mb3) is 3-byte and silently truncates emoji and supplementary characters. Default collation is utf8mb4_0900_ai_ci. Setting it on the connection only is not enough; set it on the column.
  2. Small monotonic PRIMARY KEY. An InnoDB table is its PK B-tree, and every secondary index stores the PK as its row pointer. A random UUID/CHAR(36) PK bloats every secondary index and wrecks insert locality. Use BIGINT AUTO_INCREMENT or an ordered UUIDv7 stored as BINARY(16).
  3. binlog_format=ROW + GTID. ROW is the only reliable replication format; GTID gives each transaction a globally unique id with auto-skip so it applies at most once per replica.
  4. caching_sha2_password + TLS. It is the default auth plugin and SHA-256 based; clients need TLS for first-time auth. mysql_native_password is disabled by default in 8.4 and gone in 9.0 — do not design around it.
  5. Index column order follows the leftmost prefix. INDEX (a,b,c) serves a, a,b, a,b,c — never b alone. Put equality columns first, then the range/ORDER BY column.
  6. Never ALTER a hot table without choosing an algorithm. Default COPY locks and rebuilds. Pick INSTANT/INPLACE, or use gh-ost / pt-osc, before you run it at peak.
  7. REPEATABLE READ + next-key (gap) locks → short, consistently-ordered transactions. This is the InnoDB default and the usual deadlock source. Acquire rows in the same order everywhere.
  8. Measure with EXPLAIN ANALYZE, do not guess. The optimizer's rows is an estimate; EXPLAIN ANALYZE runs the query and reports actual rows and timing.

Index decision

You haveUse
One column in WHERE, high selectivitySingle-column index
Multiple WHERE columns + an ORDER BYComposite index: equality cols first, then range/sort col (leftmost prefix)
Query reads only indexed columnsCovering index (add the selected cols) — avoids the PK back-lookup
Filtering a long TEXT/VARCHAR prefixPrefix index col(20) — can't be covering, watch selectivity
Rolling out an index on a hot table safelyINVISIBLE index, then flip VISIBLE once verified
sql
-- Bad: separate single-column indexes; the optimizer uses at most one, then filesorts.
CREATE INDEX idx_uid ON orders (user_id);
CREATE INDEX idx_created ON orders (created_at);
-- Query: WHERE user_id = ? AND created_at >= ? ORDER BY created_at DESC

-- Good: one composite index — equality (user_id) first, then the range/sort column.
-- This serves the WHERE and the ORDER BY with no separate sort step.
CREATE INDEX idx_user_created ON orders (user_id, created_at);

Read EXPLAIN

EXPLAIN shows the plan; EXPLAIN ANALYZE runs it and reports actual rows/time; EXPLAIN FORMAT=JSON shows cost and used-key-parts. Read the access type first — it is the ladder from worst to best:

ALL (full scan) → index (full index scan) → range → ref → eq_ref → const.

Anything ALL on a large table is a red flag. Then check rows (estimated rows examined), filtered (% surviving the WHERE), and the Extra flags: Using filesort (extra sort pass), Using temporary (materialised temp table), Using index (covering — good, no back-lookup).

The most common cause of a missed index is a non-sargable predicate — a function or implicit charset/type cast wrapping the indexed column:

sql
-- Bad: DATE() wraps the indexed column → the index on created_at can't be used → type=ALL.
SELECT * FROM orders WHERE DATE(created_at) = '2026-06-01';

-- Good: range over the raw column → index range scan (type=range).
SELECT * FROM orders
WHERE created_at >= '2026-06-01' AND created_at < '2026-06-02';

A subtler version: joining a utf8mb4 column to a latin1 column, or a VARCHAR to an INT, forces a per-row cast and disables the index. Make both sides the same type and collation. Full field-by-field reading, the type ladder, and every "why no index" cause are in references/indexing-and-explain.md.

Show full SKILL.md (524 more words)Show less

Online DDL chooser

Operation / situationUse
Add column at end, rename column, set default, drop indexALGORITHM=INSTANT — metadata-only, near-free (8.0+)
Add secondary index, change column nullability inplaceALGORITHM=INPLACE, LOCK=NONE — rebuilds without blocking most writes
What INSTANT/INPLACE can't do, on a small/cold tableALGORITHM=COPY — locks + rebuilds; fine off-hours
Same change on a large/hot table, zero downtimegh-ost or pt-online-schema-change — shadow table + swap
sql
-- INSTANT: adding a column at the end is metadata-only in 8.0+. Always be explicit so a
-- silent fall-through to COPY (which locks) can't happen.
ALTER TABLE orders ADD COLUMN note VARCHAR(255) NULL, ALGORITHM=INSTANT, LOCK=NONE;
bash
# gh-ost: build a shadow table, copy + tail the binlog, then atomic cutover. Always --dry-run
# first; throttle on replica lag so you don't melt production.
gh-ost \
  --host=primary.db --database=shop --table=orders \
  --alter="ADD INDEX idx_user_created (user_id, created_at)" \
  --max-lag-millis=1500 --throttle-control-replicas="replica1.db" \
  --execute   # drop --execute to dry-run

If gh-ost refuses to read the binlog, run pt-online-schema-change, which uses triggers instead. Both, plus the rollback path and how this composes with db-migrations expand-contract theory, are in references/online-ddl-and-migrations.md.

Copy-paste patterns

sql
-- Covering index: the query reads only (user_id, status, total), so put them all in the index.
-- EXPLAIN then shows "Using index" — no trip back to the PK leaf for each row.
SELECT status, total FROM orders WHERE user_id = ?;
CREATE INDEX idx_cover ON orders (user_id, status, total);
sql
-- GTID replication on the replica: GTID auto-positioning, no log file/pos bookkeeping.
CHANGE REPLICATION SOURCE TO
  SOURCE_HOST='primary.db', SOURCE_USER='repl', SOURCE_PASSWORD='***',
  SOURCE_SSL=1, SOURCE_AUTO_POSITION=1;
START REPLICA;
sql
-- Replica lag: read the field, don't eyeball. Seconds_Behind_Source is coarse; for accuracy use
-- performance_schema replication tables. NULL means replication is broken, not "0 lag".
SHOW REPLICA STATUS\G   -- Replica_IO_Running / Replica_SQL_Running / Seconds_Behind_Source
SELECT * FROM performance_schema.replication_applier_status_by_worker;
sql
-- Deadlock post-mortem: InnoDB rolls back the cheaper transaction and logs the cycle here.
SHOW ENGINE INNODB STATUS\G   -- read the LATEST DETECTED DEADLOCK section
bash
# Consistent logical dump without locking every table: single transaction over InnoDB.
mysqldump --single-transaction --set-gtid-purged=AUTO --routines --triggers shop > shop.sql

Replication topologies (async / semi-sync / group replication / InnoDB Cluster + MySQL Router), failover, and read-replica routing are in references/replication-and-ha.md.

MySQL vs MariaDB divergence

They share a heritage and diverge in ways that break copy-pasted SQL. Do not assume parity.

AreaMySQL 8.4 / 9.xMariaDB 11.8
Default authcaching_sha2_passwordmysql_native_password / ed25519
VECTORMySQL 9.0+ only; STRING_TO_VECTOR()Native in 11.8; VEC_DISTANCE_COSINE() — different syntax
RETURNINGINSERT ... RETURNING only (8.0+)INSERT/UPDATE/DELETE ... RETURNING
SequencesNo CREATE SEQUENCECREATE SEQUENCE supported
System-versioned (temporal) tablesNot supportedWITH SYSTEM VERSIONING supported
Snapshot isolationRR snapshot, no write-conflict detectioninnodb_snapshot_isolation defaults ON
JSONNative binary JSON typeHistorically a LONGTEXT alias; check version

Depth and both-direction migration gotchas: references/mysql-vs-mariadb.md.

Anti-patterns / rationalizations → STOP

RationalizationRealityDo instead
"utf8 is Unicode, it's fine."utf8 = 3-byte utf8mb3; emoji silently become ????.utf8mb4 at the column level.
"A random UUID PK is clean and unique."Random PK bloats every secondary index and kills insert locality in the clustered index.BIGINT AUTO_INCREMENT or ordered UUIDv7 as BINARY(16).
"STATEMENT binlog is smaller, use it."Non-deterministic statements replicate wrong; silent data drift on replicas.binlog_format=ROW.
"Just keep using mysql_native_password."Disabled by default in 8.4, removed in 9.0 — your upgrade breaks.caching_sha2_password + TLS.
"Wrapping the column in DATE()/LOWER() is readable."Function on an indexed column → full scan.Rewrite to a sargable range; or add a generated column + index.
"SELECT * is convenient."Pulls wide InnoDB rows off-disk and defeats covering indexes.Select only needed columns.
"I'll hold the transaction open while I do other work."RR + gap locks held long → deadlocks and lock waits everywhere.Keep transactions short; commit fast; order rows consistently.
"ALTER it now, traffic is fine."COPY algorithm locks a multi-GB table; outage at peak.Pick INSTANT/INPLACE, or gh-ost off-peak.
"EXPLAIN says 12 rows, so it's fast."rows is an estimate from stats.Confirm with EXPLAIN ANALYZE (actual rows/time).
"MyISAM is faster for our table."No transactions, no FKs, table-level locks, crash-unsafe.InnoDB for anything transactional.

Verify

Run scripts/verify.sh from your project root. It is read-only and never connects to a database — it heuristically lints discovered *.sql and *.cnf/my.cnf files for the foot-guns above (legacy utf8, MyISAM, random-UUID PK, binlog_format=STATEMENT, mysql_native_password, function-wrapped indexed columns) and checks balanced delimiters. It exits non-zero only on unbalanced delimiters or a committed binlog_format=STATEMENT; every schema heuristic is advisory. It optionally runs sqlfluff --dialect mysql if installed.

See Also

  • ../sql/SKILL.md — portable, engine-agnostic SELECT/JOIN/window-function craft.
  • ../postgresdb/SKILL.md — the peer engine (PostgreSQL): MVCC, VACUUM, RLS, JSONB.
  • ../planetscale/SKILL.md — the PlanetScale/Vitess platform workflow on top of MySQL.
  • db-migrations — vendor-neutral migration strategy (expand-contract) that the ALGORITHM=/gh-ost mechanics here ride on.
  • backups — backup strategy, retention, and restore drills as a discipline.

© ericrisco, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 7 other files (scripts, references) in skills/mysql of ericrisco/rsc-harness.

  • SKILL.md
  • evals/README.md
  • evals/cases.yaml
  • references/indexing-and-explain.md
  • references/mysql-vs-mariadb.md
  • references/online-ddl-and-migrations.md
  • references/replication-and-ha.md
  • scripts/verify.sh

Open the folder on GitHubat commit 92fde8f

Compare with similar skills

Mysql 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.

Mysql compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Mysql this skillericrisco/rsc-harness156—~3.7kAutomated safety check: PassMIT
Golang Databaseunxed/f42402 repos~2.9kAutomated safety check: PassMIT
Database Migrations SQL Migrationsrmyndharis/antigravity-skills1.7k2 repos~577Automated safety check: NotesMIT
Expert DatabaseReJeCtAll/ExpertTeam-Codex113—~692Automated safety check: PassMIT
Database MarchatCod-e-Codes/marchat137—~985Automated safety check: PassMIT
Lunora Setup Hyperdrive Globalanolilab/lunora283—~1.9kAutomated safety check: PassCustom licence

Similar skills

  • Comprehensive guide for Go database access — parameterized queries, struct scanning, NULLable columns, transactions, isolation levels, SELECT FOR UPDATE, connection pool, batch processing, context…

    240 GitHub starsUsed in 2 repos~2.9k tokens
    DatabasesAuto-check passed
  • Database Migrations SQL Migrations

    rmyndharis/antigravity-skills

    SQL database migrations with zero-downtime strategies for PostgreSQL, MySQL, SQL Server

    1.7k GitHub starsUsed in 2 repos~577 tokens
    DatabasesAuto-check: notes
  • Expert Database

    ReJeCtAll/ExpertTeam-Codex

    数据库优化专家入口。用于 Codex CLI 的 $expert-database 调用. An agent skill from ReJeCtAll/ExpertTeam-Codex.

    113 GitHub stars~692 tokensUpdated 3 mo ago
    DatabasesAuto-check passed
  • Database Marchat

    Cod-e-Codes/marchat

    Changes marchat SQL schema and queries across SQLite, PostgreSQL, and MySQL using dialect helpers.

    137 GitHub stars~985 tokensUpdated 4 days ago
    DatabasesAuto-check passed
  • Use PlanetScale (Postgres/MySQL via Cloudflare Hyperdrive) as a first-class, REACTIVE .global() storage backend for a Lunora app — and migrate an existing D1 .global() dataset to it.

    283 GitHub stars~1.9k tokensUpdated today
    DatabasesAuto-check passed
  • Matlab Use Database

    matlab/matlab-agentic-toolkit

    Reads from, writes to, and manages relational databases using MATLAB Database Toolbox.

    1.1k GitHub stars~3.1k tokensUpdated 7 days ago
    DatabasesAuto-check passed

More from ericrisco/rsc-harness

All 229 skills in this repo
  • Ab Testing

    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…

    156 GitHub stars~2.4k tokensUpdated today
    Auto-check passed
  • Accessibility

    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…

    156 GitHub stars~3.4k tokensUpdated today
    Auto-check passed
  • Ads

    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…

    156 GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Agent Eval

    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…

    156 GitHub stars~3.2k tokensUpdated today
    Auto-check passed
  • AI Media

    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…

    156 GitHub stars~3.3k tokensUpdated today
    Auto-check passed
  • Analytics

    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.

    156 GitHub stars~2.8k tokensUpdated today
    Auto-check passed

Categories

Questions about Mysql

What does Mysql do?

A skill your agent uses when designing, querying, indexing or operating a MySQL or MariaDB database and engine-specific behaviour matters — schema and type choices, index design, reading EXPLAIN…. Mysql is an agent skill from ericrisco/rsc-harness. Use when designing, querying, indexing or operating a MySQL or MariaDB database and engine-specific behaviour matters — schema and type choices, index design, reading EXPLAIN, online schema change, replication and replica lag, locking and InnoDB deadlocks, charset traps, and server config.

When should I use Mysql?

Mysql fits situations like: operating a MySQL; mariaDB database and engine-specific behaviour matters — schema and type choices; reading EXPLAIN; online schema change.

How do I install Mysql in Claude Code?

Run `npx skills add ericrisco/rsc-harness --skill mysql -a claude-code`. Or copy the skill folder (skills/mysql in ericrisco/rsc-harness) into .claude/skills/mysql in your project. Claude Code loads it when a task matches its description.

How do I install Mysql in Codex?

Run `npx skills add ericrisco/rsc-harness --skill mysql -a codex`. Or copy the skill folder (skills/mysql in ericrisco/rsc-harness) into .agents/skills/mysql in your project. Codex loads it when a task matches its description.

Can I use Mysql in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ericrisco/rsc-harness --skill mysql -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/mysql, .gemini/skills/mysql, .github/skills/mysql and .opencode/skills/mysql in your project.

What does Mysql need to run?

Going by SKILL.md and its folder, Mysql needs a shell for the scripts in its folder and credentials named SOURCE_PASSWORD. Our summary lists: A Bash shell.

Does Mysql access the network?

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.

Is Mysql safe to install?

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.

What licence does Mysql use?

Mysql is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Mysql use?

About 3.7k tokens (SKILL.md is roughly 15k 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 6k tokens, read only when the agent opens those files.

What are the alternatives to Mysql?

Skills that share tags, products or a category with Mysql: Golang Database (unxed/f4, 240 stars), Database Migrations SQL Migrations (rmyndharis/antigravity-skills, 1.7k stars), Expert Database (ReJeCtAll/ExpertTeam-Codex, 113 stars) and Database Marchat (Cod-e-Codes/marchat, 137 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Mysql?

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.