What problem does it solve? Querying MySQL or MariaDB from scripts and AI assistants usually means hand-writing connection code, managing credentials insecurely, and risking accidental writes. This Skill provides a safe, profile-based command interface that enforces read-only access by default and returns structured JSON results. ## Core Features & Use Cases - Read-only queries by default: SELECT-only enforcement via a write-guard; non-SELECT statements require an explicit --write flag, and parameters are always bound via %s placeholders, never interpolated. - Named connection profiles: Non-secret config (host, database, port, TLS) lives in a profiles file while passwords stay in the OS credential store, so secrets never touch disk or shell history. - Schema tooling: Mirror an entire database's objects to local .sql files (schema-extract), diff two schemas (schema-diff), and run forward-only versioned migrations (migrate) with drift detection and dry-run support. - Use Case: Ask the assistant to list all tables in your Redmine database, then run a parameterized SELECT against it, and finally extract the full schema to disk for version-controlled diffing between dev and release environments. ## Quick Start Ask the assistant to run a read-only MySQL query such as listing the tables in your configured default profile's database.