Generate Monte Carlo Monitors as Code
This skill creates Monte Carlo data-observability monitors via MCP tools that always run dry-run, producing monitors-as-code YAML for the user to apply via CLI
Why it matters
Automate the creation of data quality and observability monitors within Monte Carlo. This skill generates monitors-as-code YAML, ensuring consistent and repeatable deployments through your CI/CD pipeline.
Outcomes
What it gets done
Generate YAML for metric, validation, custom SQL, comparison, and table monitors.
Validate monitor parameters against actual table schemas and capabilities.
Assist in domain assignment for monitors.
Output monitors-as-code for application via Monte Carlo CLI or CI/CD.
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/ag-monte-carlo-monitor-creation | bash Overview
Monte Carlo Monitor Creation Skill
This skill guides creating Monte Carlo monitors (metric, validation, custom SQL, comparison, table) via MCP tools that always run dry-run, requiring real table/column metadata from getTable and explicit user confirmation before generating monitors-as-code YAML. Use it when a user wants to create or set up a new Monte Carlo monitor. Never guess column names or domains - always retrieve them via getTable first - and never call a creation tool before the user confirms the configuration.
What it does
This skill guides correct creation of Monte Carlo data-observability monitors through MCP tools. Every creation tool runs in dry-run mode and returns monitors-as-code (MaC) YAML - no monitor is ever created directly; the user applies the returned YAML themselves via the Monte Carlo CLI or CI/CD. It covers five monitor types via dedicated MCP tools: createMetricMonitorMac (statistical metrics on fields - null rates, unique counts, row-count change - requiring a timestamp field for aggregation), createValidationMonitorMac (row-level data-quality conditions, alerting on data that matches an INVALID condition), createCustomSqlMonitorMac (arbitrary SQL returning a single number, alerting on thresholds - the most flexible option), createComparisonMonitorMac (comparing metrics between two tables, e.g. dev vs. prod), and createTableMonitorMac (freshness/schema/volume monitoring across a group of tables at database/schema level).
The mandatory procedure has a validation phase that must complete before any creation tool is called: (1) clarify what the user wants monitored and which monitor type fits; (2) identify the exact table and column names via search and getTable - column names must come from getTable, never guessed, since hallucinated column names are the most common cause of monitor-creation failure; (3) check the table's actual domains from getTable and only offer those as domain-assignment choices. Only then does the creation phase proceed: load the relevant reference doc for the monitor type, ask about scheduling (fixed interval, dynamic, or loose - table monitors don't support a schedule field at all), present the full configuration in plain language and get explicit user confirmation before calling the creation tool, then call it and present the returned YAML verbatim wrapped in the standard montecarlo: <type>: [...] MaC structure.
montecarlo:
metric:
- <yaml returned by createMetricMonitorMac>
When to use - and when NOT to
Use it when the user wants to create, add, or set up a monitor, add a freshness check, set up data-quality validation on a table, or generate monitors-as-code YAML. Do not use it for querying/exploring table contents, triaging active alerts, running pre-change impact assessments, checking existing monitor configuration (use getMonitors directly), or editing/deleting existing monitors - those are handled by other workflows. Never skip the user-confirmation step before calling a creation tool, and never reformat or guess at YAML values the tools return.
Inputs and outputs
Input is a monitoring request naming a table, metric, or data-quality rule, resolved through search/getTable into a concrete MCON, column names, and domain assignment. Output is dry-run-generated MaC YAML for the chosen monitor type, wrapped in the standard montecarlo: structure and ready to save to a .yml file and apply via montecarlo monitors apply or CI/CD - never a live-created monitor.
Integrations
Calls the monte-carlo MCP server's monitor-creation and metadata tools (testConnection, search, getTable, getValidationPredicates, getDomains, and the five create*MonitorMac tools), producing YAML consumed by the Monte Carlo CLI or a dbt/CI pipeline.
Who it's for
Data engineers and analytics engineers setting up Monte Carlo data-observability monitors who want correctly-parameterized monitors-as-code YAML generated from real table metadata rather than guessed configuration.
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.