metaobjects-verify

Detect drift between MetaObjects metadata, generated code, database schemas, and prompt templates.

1|Updated May 14, 2026
One-click install
npx skills add https://github.com/metaobjectsdev/metaobjects --skill metaobjects-verify-metaobjectsdev
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: metaobjects-verify
Source: https://github.com/metaobjectsdev/metaobjects/tree/main/agent-context/skills/metaobjects-verify
Command: npx skills add https://github.com/metaobjectsdev/metaobjects --skill metaobjects-verify-metaobjectsdev

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Derived artifacts — generated code, database schemas, prompt templates — silently fall out of sync with the metadata that defines them, and nothing in a normal test suite flags the divergence. This Skill provides the procedure for running MetaObjects drift checks and schema migrations, and for interpreting the failures they produce. ## Core Features & Use Cases - Drift verification: Run meta verify --db, --codegen, --templates, and --deps to catch divergence between metadata and the live database, committed generated code, prompt payload references, and dependency lockfiles. - Schema migrations: Generate, preview, apply, and roll back SQL migrations through the shared Node meta migrate engine, which serves TypeScript, Java, Kotlin, C#, and Python projects alike. - Failure interpretation: Decode loader ERR_* codes, requirement-ledger diagnostics, and conformance/test failures, including the @status-dependent severity rules for dangling @implementedBy references. - Use Case: After renaming a field in your metadata, run meta verify --codegen and meta verify --db <url> before calling the build done — the first catches a stale @generated file, the second catches a missing column in the live database. ## Quick Start Ask the agent to run meta verify with the codegen, templates, and db subverbs against my project and explain any drift failures it reports.

Frequently Asked Questions about metaobjects-verify

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I check for drift between metadata and generated code?

Run meta verify --codegen, which re-runs generation and diffs the result against committed generated files. A non-empty diff means someone edited a @generated file or skipped regeneration after changing metadata, and the failure names the drifted artifact.

How do I run schema migrations in a Java or Python MetaObjects project?

Use the Node meta CLI regardless of server language — schema migration is owned by one shared TypeScript engine per ADR-0015. Run meta migrate with --dialect and --db to emit and apply SQL; the JVM, Python, and C# ports have no migration command of their own.

Does meta verify check everything with a bare run?

No. A bare meta verify is a partial check: Node and C# default to --templates only, while Java and Python default to --codegen only, plus an advisory anti-pattern pass. Run the subverbs your project uses explicitly, including --db where a database exists.

Why does metadata fail to load with errors about retired attributes?

The registry is sealed, so retired vocabulary like @violation or origin.collection is a load error with no deprecation shim. Run meta upgrade to preview the rewrites, then meta upgrade --apply to fix them; it refuses ambiguous cases with a non-zero exit.

What drift can meta verify not catch?

Verify checks that derived artifacts match the metadata, not that the metadata models the right thing — a UUID column modeled as field.string with @dbColumnType uuid passes cleanly. Add a project-local CI ratchet lint over metadata sources for such semantic invariants.

Why did meta verify fail on a dangling @implementedBy reference?

Severity depends on the requirement's @status: an unresolved reference is an error on live or partial entries but allowed on planned ones, where the referenced nodes do not exist yet. Repoint the reference or adjust the status rather than deleting a planned link.