Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Diagnoses pipeline performance issues -- slow jobs, expensive queries, latency trends -- using Monte Carlo's cross-platform observability. Uses a tiered investigation approach: discover problems, bridge to affected tables, then drill into root causes. Activates when a user asks about...
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-17 | ✗→✓ | ▲ Improved | 60% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 1% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -20% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 9% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 47% | 0% |
This skill helps diagnose data pipeline performance issues using Monte Carlo's cross-platform observability data. It works across Airflow, dbt, Databricks, and warehouse query engines to find bottlenecks, detect regressions, and identify root causes.
> Monte Carlo tool routing (required): Always call Monte Carlo MCP tools through this plugin's > bundled server, whose fully-qualified tool names are > mcp__plugin_mc-agent-toolkit_monte-carlo-mcp__<tool> (e.g. > mcp__plugin_mc-agent-toolkit_monte-carlo-mcp__get_alerts). Bare tool names used in this skill > (get_alerts, search, get_table, …) refer to that bundled server. If the session also has a > separately-configured monte-carlo-mcp server, do not route to it — it may point at a > different endpoint or credentials.
Reference files live next to this skill file. Use the Read tool (not MCP resources) to access them:
references/investigation-tiers.md (relative to this file)references/query-analysis.md (relative to this file)Activate when the user:
Do not activate when the user is:
The following MCP tools must be available (connect to Monte Carlo's MCP server):
Discovery tools (Tier 1):
get_jobs_performance -- find slow/failing jobs across Airflow, dbt, Databricksget_top_slow_queries -- find slowest query groups by total runtimeBridge tool:
get_tables_for_job -- convert job MCONs to table MCONsDiagnosis tools (Tier 2):
get_tasks_performance -- drill into a job's individual tasksget_change_timeline -- unified timeline of query changes, volume shifts, Airflow/dbt failuresget_query_rca -- root cause analysis for failed/futile queriesget_query_latency_distribution -- latency trend over timeget_asset_lineage -- trace upstream/downstream impactSupporting tools:
get_warehouses -- list available warehousesDetermine what the user wants to investigate:
Call get_warehouses to list available warehouses. Match the user's context to a warehouse.
If you don't have specific MCONs to investigate, start with discovery:
get_jobs_performance with optional integration_type filter (AIRFLOW, DATABRICKS, DBT) if the user specifies a platform.avgDuration, negative runDurationTrend7d, high failure ratesget_top_slow_queries with optional warehouse_id and query_type ("read" for SELECTs, "write" for INSERT/CREATE/MERGE).Present the top findings to the user before drilling deeper. A typical investigation needs only 3-7 tool calls.
If both discovery tools return no results: Tell the user no performance issues were found in the current time window. Suggest broadening the scope (different warehouse, longer time range, or a different platform filter).
After Tier 1 identifies problematic jobs, convert to table MCONs:
Call get_tables_for_job(job_mcon=..., integration_type=...) using the integration_type from the job performance results.
This gives you the table MCONs needed for Tier 2 investigation.
Now drill into root causes using the MCONs from discovery or the bridge:
get_tasks_performance to find which specific task in a job is the bottleneck.get_change_timeline -- this is your most powerful tool. It returns a unified timeline of:All in one call. Look for correlations: "query changed on day X, runtime doubled on day X+1."
get_query_rca to get root cause analysis:get_query_latency_distribution to see the trend:bucket="1h". The default downsamples to daily on windows ≥ 3 days, which hides hour-level steps.get_asset_lineage with direction="DOWNSTREAM" to see what's affected by a slow table, or direction="UPSTREAM" to find what feeds it.Structure your response as:
runDurationTrend7d) to distinguish regressions from normal variance. Flag if trend data has less than 0.1 confidence.query_type="read". When they ask about "writes", use query_type="write". Do NOT mix them.Other measured skills in the registry, with their headline benchmark lift.