MySQL Database

MySQL Database is a skill for Claude Code, Codex from delphicleancode/delphi-spec-kit. It costs 31 tokens per session (7,071 once invoked), scanned C, original, MIT.

A set of Delphi development patterns for MySQL and MariaDB, database systems used to store and query application data, through FireDAC, Delphi's database access library.

In plain words
What is it for?
Use it to create tables, stored procedures, triggers, repositories, versioned migrations, JSON data, full-text search, partitioning, or insert-or-update operations.
Why use it?
It provides repeatable approaches for connecting to these databases and using their data, search, replication, and schema-change features.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/delphicleancode/delphi-spec-kit/mysql-database
Any agent
npx skills add delphicleancode/delphi-spec-kit --skill mysql-database
Clone the repo
git clone --depth 1 https://github.com/delphicleancode/delphi-spec-kit

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for MySQL Database

README.md
[![agentmods](https://agentmods.dev/badge/skills/delphicleancode/delphi-spec-kit/mysql-database.svg)](https://agentmods.dev/skills/delphicleancode/delphi-spec-kit/mysql-database)
Your own site
<a href="https://agentmods.dev/skills/delphicleancode/delphi-spec-kit/mysql-database"><img src="https://agentmods.dev/badge/skills/delphicleancode/delphi-spec-kit/mysql-database.svg" alt="Measured on agentmods" height="20"></a>
Per session 31 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 7,071 The whole file, excluding the scripts and references it only reads on demand.
Security scan C 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00031 $0.07071
Opus 5 $0.00015 $0.03535
Sonnet 5 $0.00006 $0.01414
Haiku 4.5 $0.00003 $0.00707

Measured 3d ago against content hash 4cfa4ebc512e, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade C, and why

MySQL Database scanned grade C with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Hidden instructionshighPrompt injection

Directives inside HTML comments, invisible characters or bidirectional overrides are read by the model and not by the person reviewing the file.

| `BOOLEAN` / `BOOL` | `ftBoolean` / `AsBoolean` | Alias ​​for `TINYINT(1)` | | `JSON` | `ftMemo` / `AsString` | Native JSON (MySQL 5.7+) | | `BLOB` | `ftBlob` / `AsBytes` | Binary data | | `LONGBLOB` | `ftBlob` / `AsByt
.claude/skills/mysql-database/SKILL.md · 853 lines

How it starts

The opening of the file, as written. The whole thing — 853 lines — stays where its author put it; the contents beside it link to each section on GitHub.

MySQL Database — Skill

Use this skill when working with MySQL or MariaDB databases in Delphi projects via FireDAC.

When to Use

  • When configuring FireDAC connection with MySQL or MariaDB
  • When creating tables, stored procedures, functions, triggers and views
  • When implementing Repositories with FireDAC + MySQL
  • When working with native JSON (MySQL 5.7+), Full-Text Search, Partitioning
  • When planning schema migrations (versioned scripts)
  • When developing web applications with MySQL backend

MySQL Versions

Version Relevant News
5.7 Native JSON, Generated Columns, sys schema, Group Replication
8.0 Recursive CTEs, Window Functions, DEFAULT (expr), Roles, INVISIBLE indexes, NOWAIT/SKIP LOCKED
8.4 LTS LTS release, Firewall improvements, Plugin improvements
9.0+ Vector type, JavaScript stored programs (preview)

MariaDB

Version Relevant News
10.2 Recursive CTEs, Window Functions, DEFAULT (expr)
10.3 INVISIBLE columns, INTERSECT/EXCEPT, Sequences
10.5 INET6 type, JSON_TABLE, S3 storage engine
11.0+ Release Calendar, UUID v7, VECTOR type

Recommendation: Use MySQL 8.0+ or ​​MariaDB 10.5+ for new projects.

FireDAC connection with MySQL

Minimum Configuration

unit MeuApp.Infra.Database.MySQL.Connection;

interface

uses
  FireDAC.Comp.Client,
  FireDAC.Phys.MySQL,       //Driver MySQL
  FireDAC.Phys.MySQLDef,    //Defaults do MySQL
  FireDAC.Stan.Def,
  FireDAC.DApt;

type
  ///<summary>
  ///MySQL connection factory via FireDAC.
  ///</summary>
  TMySQLConnectionFactory = class
  public
    class function CreateConnection(
      const AServer: string;
      const ADatabase: string;
      const AUserName: string = 'root';
      const APassword: string = '';
      APort: Integer = 3306
    ): TFDConnection;
  end;

implementation

uses
  System.SysUtils;

class function TMySQLConnectionFactory.CreateConnection(
  const AServer, ADatabase, AUserName, APassword: string;
  APort: Integer): TFDConnection;
begin
  if ADatabase.Trim.IsEmpty then
    raise EArgumentException.Create('ADatabase não pode ser vazio');

  Result := TFDConnection.Create(nil);
  try
    Result.DriverName := 'MySQL';
    Result.Params.Values['Server'] := AServer;
    Result.Params.Values['Port'] := APort.ToString;
    Result.Params.Database := ADatabase;
    Result.Params.UserName := AUserName;
    Result.Params.Password := APassword;

    { Configurações recomendadas }
    Result.Params.Values['CharacterSet'] := 'utf8mb4';  //ALWAYS utf8mb4 (suporta emoji/4-byte)

    { Opções do driver FireDAC }
    Result.FormatOptions.StrsTrim2Len := True;
    Result.FetchOptions.Mode := fmAll;
    Result.ResourceOptions.AutoReconnect := True;
    Result.TxOptions.Isolation := xiReadCommitted;

    Result.Connected := True;
  except
    Result.Free;
    raise;
  end;
end;

Read the full file on GitHub · 853 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 853 lines · 31 tokens per session scan C 4cfa4ebc512e

Subscribe to this mod's changes

MySQL Database is a skill published in the GitHub repository delphicleancode/delphi-spec-kit (50 stars, last pushed 5mo ago), licensed MIT. It adds 31 tokens to every session and 7,071 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it C with 1 finding (hidden instructions). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

authentication-patterns

Authentication patterns: session vs JWT vs OAuth comparison, provider selection (NextAuth, Clerk, Supabase Auth), security checklist, and common mistakes. Use when implementing auth, reviewing auth flows, or choosing auth providers.

zebbern/claude-code-guide · 47 tokens

code-vuln-audit

Scan code for security issues: dependency vulnerabilities (npm/pip audit), secret leaks (regex and entropy analysis), and OWASP anti-patterns like SQL injection, XSS, or command injection. Use when the user mentions security scans, vulnerability detection, secret leaks, API keys, OWASP, npm audit, pip-audit, hardcoded…

zebbern/claude-code-guide · 82 tokens

database-scout

Explore SQLite and PostgreSQL databases: list tables, inspect schemas (columns/types/constraints), preview data, generate Mermaid ER diagrams, and run safe read-only queries. Triggered by requests to explore a database, view table structures, describe tables, generate diagrams, or query data, and by keywords like…

zebbern/claude-code-guide · 76 tokens

database-optimizer

Use when investigating slow queries, analyzing execution plans, or optimizing database performance. Invoke for index design, query rewrites, configuration tuning, partitioning strategies, lock contention resolution.

zebbern/claude-code-guide · 39 tokens

horse-database-pooling

Guide for setting up thread-safe database connection pooling (FireDAC / UniDAC) in multithreaded Horse applications.

HashLoad/horse · 30 tokens

data-warehouse-experimentation

Running experiments out of the data warehouse instead of via dedicated experiment platforms. SQL-based assignment, exposure logging discipline, metric definitions in dbt models, statistical analysis in SQL or Python, variance reduction with CUPED, sequential testing, and the operational tradeoffs vs platforms like…

rampstackco/claude-skills · 157 tokens