What problem does it solve? Building custom database tables in WordPress with BerlinDB involves many failure-prone details: correct 3.x namespaces, schema flags that gate query vars, CRUD return-value semantics, relationship declarations, table upgrades, and silent save failures. This Skill provides the operational knowledge to implement, review, debug, and migrate BerlinDB-backed tables correctly. ## Core Features & Use Cases - Schema, Table, Row, and Query guidance: Define the four-class integration pattern with correct column flags (allow_null, sortable, in/not_in), string table versions, and upgrade callbacks. - Relationships and meta tables: Declare belongs_to/has_many relationships (single, composite, and conditioned), prime caches with with, filter via relation, and build custom meta tables with the Meta preset. - Debugging and migration: Diagnose silent insert/update failures, wrong primary-key usage, stuck table upgrades, and migrate BerlinDB 2.x code to 3.x namespaces and APIs. - Use Case: A plugin developer's add_item() call returns false with no SQL error. The Skill walks through checking allow_null flags, capability reduction (wp_set_current_user(1) in tests), and the structured get_logs() output to find the rejected column. ## Quick Start Ask the assistant to help you define a BerlinDB Schema, Table, Row, and Query for a new WordPress custom table, or to debug a failing BerlinDB insert or migration.