Best for
- Use when scripting, promoting, or embedding Metabase content.
vasilyu1983/AI-Agents-public/frameworks/shared-skills/skills/data-metabase/SKILL.md
Automates Metabase cards, dashboards, Remote Sync, embedding, tenants, and the Agent API/MCP server for AI workflows. Use when scripting, promoting, or embedding Metabase content.
Decision brief
Automate Metabase content, promotion, embedding, and admin refresh workflows.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Declared | Source record | Install path and trigger |
| Claude Code | Declared | Source record | Install path and trigger |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/vasilyu1983/AI-Agents-public --skill "frameworks/shared-skills/skills/data-metabase"Inspect the Agent Skill "data-metabase" from https://github.com/vasilyu1983/AI-Agents-public/blob/53f6cb73ea53a2646e3e7d4665062ad66f3683ac/frameworks/shared-skills/skills/data-metabase/SKILL.md at commit 53f6cb73ea53a2646e3e7d4665062ad66f3683ac. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Your Metabase instance serves OpenAPI docs at /api/docs (for example https://metabase.example.com/api/docs). Use this to confirm request shapes for your exact build before scripting bulk edits.
1. Confirm API availability (GET /api/util/health). 2. Authenticate with an API key first, then fall back to session auth only if needed. 3. Discover IDs instead of hardcoding them across environments: - collectionid for save location - database id for datasetquery - table and f…
Review the “Quick Reference” section in the pinned source before continuing.
Review the “Decision Tree” section in the pinned source before continuing.
Review the “ASCII Flow” section in the pinned source before continuing.
Permission review
The documentation asks the agent to run terminal commands or scripts.
python3 frameworks/shared-skills/skills/data-metabase/scripts/metabase_api.py healthThe documentation asks the agent to run terminal commands or scripts.
python3 frameworks/shared-skills/skills/data-metabase/scripts/metabase_api.py whoamiThe documentation includes network, browsing, or remote request actions.
Use web search/web fetch to verify current external facts, versions, pricing, deadlines, regulations, or platform behavior before final answers.Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 95/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 80 | Source | Repository attention, not individual Skill quality |
| Compatibility | 2 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Automate Metabase content, promotion, embedding, and admin refresh workflows.
Classic Metabase REST API still owns cards, dashboards, collections, permissions, and schema refresh operations. The newer Agent API is the right surface for headless semantic BI assistants and app-side AI workflows. Metabase v60 (April 2026) added an official MCP server and open-sourced AI; v61 (May 2026) added AI governance, dashboards-as-code via MCP, and per-group Metabot controls. v62 (June 2026, current line) added the official @metabase/cli, an Interactive Schema Viewer, a custom-visualization plugin SDK, an Alert Management hub, Library sub-collections, and expanded MCP capabilities — run SQL, create collections, and render interactive charts directly in the AI client. Verify /docs/latest and metabase.com/releases before citing version-specific behavior, since the release cadence is monthly.
| Task | Path | Use When |
|---|---|---|
| Create/update questions and dashboards | Classic REST API + scripts/metabase_api.py | Standard content automation and incremental upserts |
| Promote content between environments | Remote Sync or serialization | Git-backed promotion, reviewable diffs, cross-environment moves |
| Build embedded customer analytics | Embedding + tenants + embedding permissions | Multi-tenant apps, customer portals, row-level isolation |
| Build an AI analytics app | Agent API | Versioned, semantic, app-side AI querying |
| Integrate Metabase with an AI coding agent | MCP server (v60+) | Claude, Cursor, VS Code — generate questions and dashboards via conversation |
| Govern AI access by group | Metabot AI governance (v61+, Pro/Enterprise) | Per-group controls, token limits, usage analytics |
| Refresh schema metadata | Database sync/rescan endpoints | New tables, changed columns, stale field values |
| Tune native SQL questions | Export-first + native query patterns | Stable automation without guessing request shapes |
Need to create or edit saved Metabase content?
-> Use classic REST API (`card`, `dashboard`, `collection`).
Need repeatable dev -> prod promotion with reviewable diffs?
-> Prefer Remote Sync or serialization before raw REST upserts.
Need embedded analytics for many customers or workspaces?
-> Use embedding + tenants + embedding permissions.
Need an AI assistant to discover metrics/tables and construct queries?
-> Use the versioned Agent API, not raw card CRUD.
Need to generate or edit questions/dashboards from an AI coding agent or terminal?
-> Use the official Metabase MCP server (v60+, connects Claude/Cursor/VS Code).
Metabase automation request
-> health check and authentication
-> discover IDs: database, collection, table, fields, entities
-> choose surface
+-- cards, dashboards, collections -> classic REST API
+-- dev-to-prod promotion -> Remote Sync or serialization
+-- customer analytics -> embedding + tenants + permissions
+-- semantic assistant -> Agent API
+-- AI terminal / agent build -> MCP server (v60+)
-> export existing JSON when structure is complex
-> upsert or promote content
-> refresh metadata if schema changed
-> validate by running/exporting results
METABASE_URL (e.g., https://metabase.example.com)METABASE_API_KEYMETABASE_SESSIONMETABASE_USERNAME + METABASE_PASSWORDpython3 frameworks/shared-skills/skills/data-metabase/scripts/metabase_api.py health
python3 frameworks/shared-skills/skills/data-metabase/scripts/metabase_api.py whoami
python3 frameworks/shared-skills/skills/data-metabase/scripts/metabase_api.py list-databases
python3 frameworks/shared-skills/skills/data-metabase/scripts/metabase_api.py list-collections --tree
Your Metabase instance serves OpenAPI docs at /api/docs (for example https://metabase.example.com/api/docs). Use this to confirm request shapes for your exact build before scripting bulk edits.
GET /api/util/health).collection_id for save locationdatabase id for dataset_querydisplay and visualization_settings explicitlycarddisplay + visualization_settingscontinuation_tokennpm install -g @metabase/cli, distinct from the classic REST/JAR admin surfaces) builds questions, dashboards, documents, and transforms from the terminal — see references/metabase-cli.md| Plan | Price | Key limits |
|---|---|---|
| Open Source | Free (self-host, unlimited users) | No modular embedding SDK, no sandboxing, no AI governance |
| Starter | $90/mo base + $6/user (5 included) | No SSO, no row-level security, no interactive embedding |
| Pro | $517.50/mo base + $12/user (10 included) | SSO, sandboxing, modular embedding SDK, custom visualizations, schema viewer, Metabot governance |
| Enterprise | Custom (~$20k/yr+) | Same features as Pro + 1-day SLA, dedicated success engineer |
AI add-on: Metabase's hosted AI service bills at $3.75 per 1M tokens (1M included); most deployments instead bring their own model provider key, in which case you pay that provider directly and Metabase charges nothing extra for AI usage. Transforms include 1,000 runs/mo on Starter/Pro, then $0.01–$0.02/run.
Prices change often — verify current numbers at metabase.com/pricing before quoting costs in any proposal; do not reuse the figures above past one quarter without re-checking.
METABASE_API_KEY, passwords, or session tokens.MB_API_KEY, not the user-facing METABASE_API_KEY.| Topic | File | Load when |
|---|---|---|
| Authentication (API key + fallback) | references/api-auth.md | Any API automation task |
| Reports (cards): create/edit patterns | references/reports-cards.md | Creating or updating saved questions |
| Dashboards and card placement | references/dashboards.md | Building or replicating dashboards |
Charts and visualization_settings | references/charts-settings.md | Configuring chart display or axis settings |
| Agent API for semantic BI | references/agent-api.md | Building AI analytics apps or headless BI workflows |
| Embedding and integration | references/embedding-integration.md | Public links, signed JWT, or SDK embedding |
| Tenants, embedding permissions, routing | references/tenants-routing.md | Multi-tenant apps or customer portal isolation |
| Permissions and collections | references/permissions-collections.md | Group setup, sandboxing, or collection hierarchy |
| Native SQL query patterns | references/native-query-patterns.md | Template tags, field filters, caching in SQL cards |
| Remote Sync and promotion workflows | references/remote-sync.md | Git-backed content promotion or cross-env moves |
| Modern surface area (v59+, updated v61) | references/metabase-59-surface.md | Confirming which API layer a request belongs to |
CLI: mb API client and JAR admin commands | references/metabase-cli.md | Scripting content via mb, or server admin (migrate, dump-to-h2, serialization) |
| Template | File |
|---|---|
| Card spec skeleton | assets/card-spec.template.json |
| Dashboard spec skeleton | assets/dashboard-spec.template.json |
| Dashcard layout skeleton | assets/dashcards-layout.template.json |
| Embed JWT examples | assets/embed-jwt-example.md |
scripts/metabase_api.py is a dependency-free helper for auth, discovery, content CRUD, dashboard layout work, query execution, and schema refresh.
Examples:
# Print authenticated user (tries API key, then session)
python3 frameworks/shared-skills/skills/data-metabase/scripts/metabase_api.py whoami
# Discover IDs before scripting
python3 frameworks/shared-skills/skills/data-metabase/scripts/metabase_api.py list-collections --tree
python3 frameworks/shared-skills/skills/data-metabase/scripts/metabase_api.py list-databases
python3 frameworks/shared-skills/skills/data-metabase/scripts/metabase_api.py database-metadata --id 2
python3 frameworks/shared-skills/skills/data-metabase/scripts/metabase_api.py list-fields --database-id 2
# Export an existing card JSON (use as a template for visualization_settings)
python3 frameworks/shared-skills/skills/data-metabase/scripts/metabase_api.py export-card --id 123 --out card.json
# Export an existing dashboard JSON (use as a template for layout)
python3 frameworks/shared-skills/skills/data-metabase/scripts/metabase_api.py export-dashboard --id 5 --out dashboard.json
# Create/update a card from a JSON spec (see references/reports-cards.md)
python3 frameworks/shared-skills/skills/data-metabase/scripts/metabase_api.py upsert-card --spec card-spec.json
# Create/update a dashboard from a JSON spec
python3 frameworks/shared-skills/skills/data-metabase/scripts/metabase_api.py upsert-dashboard --spec dashboard-spec.json
# Add or update dashboard layout
python3 frameworks/shared-skills/skills/data-metabase/scripts/metabase_api.py add-dashcard --dashboard-id 5 --spec dashcard.json
python3 frameworks/shared-skills/skills/data-metabase/scripts/metabase_api.py update-dashcards --dashboard-id 5 --spec dashcards-layout.json
# Execute a query spec or export a saved card result
python3 frameworks/shared-skills/skills/data-metabase/scripts/metabase_api.py run-query --spec dataset-query.json
python3 frameworks/shared-skills/skills/data-metabase/scripts/metabase_api.py export-card-query --id 123 --format csv --out report.csv
# Refresh metadata after schema changes
python3 frameworks/shared-skills/skills/data-metabase/scripts/metabase_api.py sync-schema --id 2
python3 frameworks/shared-skills/skills/data-metabase/scripts/metabase_api.py rescan-values --id 2
When the user asks for the current or best Metabase approach in 2026, verify the latest official docs and release notes before answering.
Trigger examples:
Before applying this skill on a non-trivial task, read learnings.consolidated.md in this directory (and learnings.md if present).
After applying it, if you encountered a pattern worth remembering, a mistake worth preventing, or a domain fact that surprised you, append one dated bullet to learnings.md via agents-skills-feedback-loop/scripts/append_learning.py. Do not modify SKILL.md itself.
Frequently asked questions
Automate Metabase content, promotion, embedding, and admin refresh workflows.
The source record exposes this install command: npx skills add https://github.com/vasilyu1983/AI-Agents-public --skill "frameworks/shared-skills/skills/data-metabase". Inspect the command and pinned source before running it.
The pinned source record declares support for: codex, claude code.
Static rules flagged exec-script, network in the source; the page lists the matching lines and excerpts.
Alternatives
vasilyu1983/AI-Agents-public
Scans public GitHub repos for agent skills, dev practices, and code patterns. Use when enriching skills, setting team policy, or researching a build domain.
aomi-labs/skills
Scaffold new Aomi apps and plugins from API docs, OpenAPI/Swagger specs, or SDK references. aomi-build generates production-ready Rust SDK crates (lib.rs, client.rs, tool.rs) with tool schemas, preambles, host-interop flows, and validation — turning a vendor's API surface into AI-agent-callable tools. It covers the current `aomi-build` OpenAPI pipeline (`gen-specs` → `gen-client` → `gen-tool` → curate → compile/test) as well as greenfield apps. Use when the user wants to scaffold a new Aomi app
PramodDutta/qaskills
Automatically generate comprehensive API test suites from OpenAPI specifications covering CRUD operations, error handling, authentication, pagination, and edge cases
vasilyu1983/AI-Agents-public
Designs developer tools, SDKs, CLIs, IDE extensions, and code generators. Use when shaping DX, typed clients, code generation, or package distribution workflows.