Agent skill · software engineering · metabase

serdes-workflow

Export content from a running Metabase instance, validate with checkers, edit YAML, and import back. Use when the user wants to export, import, or run the full serdes round-trip workflow.

Why this skill is useful

Adds a complete set of executable scripts for exporting, validating, and importing Metabase content that are not available in public documentation.

What it needs

Requires clojure installed locally. About 1k tokens when loaded. Last updated 2026-08-07. 48,568 stars on the source repository.

What this skill does

Serdes Workflow Skill End-to-end workflow for exporting Metabase content as YAML, validating it, editing it, and importing it back. Prerequisites All commands require the :ee alias since export, import, and checkers live in enterprise code. You need MBDBCONNECTIONURI set to point at the target Metabase Postgres database when importing. The running dev instance's connection string is in the worktree environment (check the nREPL or startup output). Export Flags: -c 123,456 - export only specific collection IDs -f - include field values -e - continue on error This writes YAML files in the serdes directory layout: Validate Always run both checkers after any modification. They skip full Metabase startup (~8s each). Structural checker (fast, schema-based) Validates YAML shapes against Malli schemas. Catches typos, missing required fields, wrong types. Cards checker (query validation) Validates that card queries resolve correctly against exported metadata (tables, fields, FKs). Uses Lib under the hood. Additional cards checker flags: --lenient - fabricate metadata on demand (when no database schema files exist) --manifest /path/to/manifest.yaml - write manifest of all referenced entities (lenient mode only) --output /path/to/results.edn - write detailed results to file Edit YAML See the serdes-yaml-edit skill for guidance on editing YAML files. The critical rule: run both checkers after every edit before proceeding. Import The -e flag continues on error. The MBDBCONNECTIONURI must point at the same Postgres database the running Metabase instance uses - without it, import defaults to H2 which is wrong. Full Demo Sequence 1. Export: clojure -M:run:ee export /tmp/metabase-export 2. Validate baseline: run both checkers 3. Edit YAML files (see serdes-yaml-edit skill) 4. Re-validate: run both checkers again 5. Import: MBDBCONNECTIONURI=... clojure -M:run:ee import /tmp/metabase-export -e 6. Verify in browser

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills metabase/serdes-workflow

View the source on GitHub

Browse the @skills marketplace