What problem does it solve? Writing MetaObjects metadata by hand is error-prone: the fused-key encoding, reserved structural keys, closed field subtype vocabulary, and attribute placement rules are easy to get wrong, and mistakes surface as load failures or drift between the model and generated code. This Skill provides the authoritative procedure for declaring entities, fields, relationships, sources, enums, and requirements correctly the first time. ## Core Features & Use Cases - Model-first authoring guidance: Enforces the declare-then-generate workflow so persistence, validation, APIs, and UI scaffolding are derived from metadata rather than hand-written. - Vocabulary decision procedure: Applies the ADR-0037 ordered tests (derive, dbColumnType, subtype, @kind, attribute) to choose the correct shape for any concept, including custom provider registration. - Adoption mode for existing codebases: Reverses direction when working code or a live schema exists, modeling metadata to reproduce native types, column names, and nullability already in use. - Use Case: When adding a User entity with a UUID primary key, an email field, and audit timestamps, the Skill directs you to field.uuid, field.string with @stringFormat: email, and field.timestamp with @autoSet, avoiding the field.string + @dbColumnType: uuid anti-pattern. ## Quick Start Ask the agent to declare a new MetaObjects entity with its fields and identity in a metaobjects/ metadata file, following the fused-key encoding and vocabulary rules.