Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/bonnard-data/bonnard-cli/bonnard-metabase-migratenpx skills add bonnard-data/bonnard-cli --skill bonnard-metabase-migrategit clone --depth 1 https://github.com/bonnard-data/bonnard-cliWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00055 | $0.02301 |
| Opus 5 | $0.00028 | $0.01151 |
| Sonnet 5 | $0.00011 | $0.00460 |
| Haiku 4.5 | $0.00006 | $0.00230 |
Grade A, and why
bonnard-metabase-migrate scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 278 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Migrate from Metabase to Bonnard
This skill guides you through analyzing an existing Metabase instance and building a semantic layer that replicates its most important metrics. Walk through each phase in order, confirming progress before moving on.
Phase 1: Connect to Metabase
Set up a connection to the Metabase instance:
bon metabase connect
This prompts for the Metabase URL and API key. The API key should be created in Metabase under Admin > Settings > Authentication > API Keys. An admin-level key gives the richest analysis (permissions, schema access).
Phase 2: Analyze the Instance
Generate an intelligence report that maps the entire Metabase instance:
bon metabase analyze
This writes a report to .bon/metabase-analysis.md. Read it carefully — it
drives every decision in the remaining phases.
How to interpret each section
| Report Section | What It Tells You | Action |
|---|---|---|
| Most Referenced Tables | Tables used most in SQL queries | Create cubes for these first — they are the core of the data model |
| Top Cards by Activity | Most-viewed questions/models | analytical cards (GROUP BY + aggregation) map to measures; lookup cards indicate key filter dimensions; display cards can be skipped |
| Common Filter Variables | Template vars ({{var}}) used across 3+ cards |
These must be dimensions on relevant cubes |
| Foreign Key Relationships | FK links between tables | Define joins between cubes using these relationships |
| Collection Structure | How users organize content by business area | Map each top-level collection to a view (one view per business domain) |
| Dashboard Parameters | Shared filters across dashboards | The most important shared dimensions — ensure they exist on relevant cubes |
| Table Inventory | Field counts and classification per table | Field classification (dims/measures/time) guides each cube definition; tables with 0 refs can be deprioritized |
| Schema Access | Which schemas non-admin groups can query | Focus on user-facing schemas — skip admin-only/staging schemas |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago First seen · 278 lines · 55 tokens per session scan A c45f9e27c030
bonnard-metabase-migrate is a skill published in the GitHub repository bonnard-data/bonnard-cli (50 stars, last pushed 2mo ago), licensed MIT. It adds 55 tokens to every session and 2,301 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
metric-definitions
Returns the canonical metric definitions for this project: CVR formula (session vs click), ROAS calculation (Google AOV-based vs Meta platform-native), attribution windows, revenue scopes, funnel integrity rules, and channel attribution normalisation. Use this skill before generating any dashboard or when a metric…
skills
Goal: Ensure all marketing analytics responses are professional, data-driven, and actionable.
batch
Execute batch operations on multiple files in parallel. Automatically discovers files, splits into chunks, and processes with parallel worker agents. Use /batch followed by operation and file pattern.
notion
Notion API for creating and managing pages, databases, and blocks. Use when the user wants to create a Notion page, query a Notion database, update Notion properties, search Notion, add content to Notion, manage Notion blocks, or interact with Notion data sources and workspaces via the API.
systematic-debugging
Use when debugging a failing test, build error, or runtime issue that isn't immediately obvious. Guides a 4-phase root cause analysis instead of random fix attempts.
connector-standards
Load all OpenMetadata connector development standards into context. Use before building or reviewing connectors to ensure consistent patterns.