What problem does it solve? Explicit locking in MariaDB behaves differently than most developers (and LLMs) assume: LOCK TABLES implicitly commits transactions, aliases must be locked separately, and GET_LOCK semantics changed across versions. This Skill prevents errors like 'Table was not locked with LOCK TABLES', lock-wait timeouts, and broken transaction/lock interactions when writing or reviewing locking code. ## Core Features & Use Cases - LOCK TABLES / UNLOCK TABLES guidance: Covers READ, READ LOCAL, WRITE, LOW_PRIORITY WRITE, WRITE CONCURRENT, and WAIT n/NOWAIT syntax, including alias-matching rules, implicit-commit behavior, and InnoDB's innodb_table_locks requirement. - Named advisory locks: Documents GET_LOCK, RELEASE_LOCK, RELEASE_ALL_LOCKS, IS_FREE_LOCK, and IS_USED_LOCK, including multi-lock-per-connection semantics since 10.0.2 and transaction independence. - Use Case: When reviewing code that mixes START TRANSACTION with LOCK TABLES, the Skill flags that LOCK TABLES implicitly commits the transaction and recommends SELECT ... FOR UPDATE or GET_LOCK instead. ## Quick Start Ask the AI to review your MariaDB locking code or explain how to implement an application-level mutex with GET_LOCK.