{"id":"e10b12ca-2a98-45cb-bcf8-80c7056f3c99","shortId":"7dZ8gc","kind":"skill","title":"monte-carlo-monitoring-advisor","tagline":"Analyze data coverage, create monitors for warehouse tables and AI agents. Covers coverage gaps, use-case analysis, data monitor creation, and agent observability.","description":"# Monte Carlo Monitoring Advisor Skill\n\nThis skill handles all monitoring requests -- coverage analysis, data monitor creation, and AI agent monitoring. It routes to the right reference file based on the user's intent.\n\nReference files live next to this skill file. **Use the Read tool** (not MCP resources) to access them:\n\n- Data monitor creation procedure: `references/data-monitor-creation.md` (relative to this file)\n- Agent monitor creation procedure: `references/agent-monitor-creation.md` (relative to this file)\n- Per-type references: `references/data-*.md` and `references/agent-*.md` (relative to this file)\n\n## When to activate this skill\n\nActivate when the user:\n\n- Asks about monitoring coverage, data coverage, or coverage gaps\n- Wants to understand what's monitored vs. not in their warehouse\n- Asks about use cases, use-case criticality, or use-case analysis\n- Wants to explore their data estate and find what needs monitoring\n- Says things like \"what should I monitor?\", \"where are my coverage gaps?\", \"show me my use cases\"\n- Asks about unmonitored tables with anomalies or importance-based prioritization\n- Asks to create, add, or set up a monitor (e.g. \"add a monitor for...\", \"create a freshness check on...\", \"set up validation for...\")\n- Mentions monitoring a specific table, field, or metric\n- Wants to check data quality rules or enforce data contracts\n- Asks about monitoring options for a table or dataset\n- Requests monitors-as-code YAML generation\n- Wants to add monitoring after new transformation logic (when the prevent skill is not active)\n- Asks about monitoring AI agents, agent latency, agent token usage, or agent quality\n- Wants to set up alerts on agent behavior or execution patterns\n- Asks about investigating agent traces or conversations\n- Says things like \"monitor my agent\", \"track agent latency\", \"alert on agent errors\"\n- Asks about agent evaluation monitors, trajectory monitors, or validation monitors\n- Mentions agent observability or agent monitoring\n\n## When NOT to activate this skill\n\nDo not activate when the user is:\n\n- Just querying data or exploring table contents\n- Triaging or responding to active alerts (use the prevent skill's Workflow 3)\n- Running impact assessments before code changes (use the prevent skill's Workflow 4)\n- Asking about existing monitor configuration (use `get_monitors` directly)\n- Editing or deleting existing monitors\n\n---\n\n## Prerequisites\n\n- **Required:** Monte Carlo MCP server (`monte-carlo-mcp`) must be configured and authenticated\n- **Optional:** A database MCP server (Snowflake, BigQuery, Redshift, Databricks) for SQL profiling of table usage patterns\n\n---\n\n## Available MCP tools\n\nAll tools are available via the `monte-carlo` MCP server.\n\n### Coverage and discovery tools\n\n| Tool | Purpose |\n| --- | --- |\n| `get_warehouses` | List accessible warehouses (needed first -- `get_use_cases` requires `warehouse_id`) |\n| `get_use_cases` | List use cases with criticality, descriptions, table counts, precomputed tag names |\n| `get_use_case_table_summary` | Criticality distribution (HIGH/MEDIUM/LOW table counts) for a use case |\n| `get_use_case_tables` | Paginated tables with criticality, golden-table status, MCONs |\n| `get_monitors` | Check monitoring status on specific tables via `mcons` filter |\n| `get_asset_lineage` | Upstream/downstream dependencies for tables (takes MCONs + direction) |\n| `get_audiences` | List notification audiences |\n| `get_unmonitored_tables_with_anomalies` | Tables with muted OOTB anomalies but no monitors (takes ISO 8601 time range) |\n| `search` | Find tables by name; supports `is_monitored` filter |\n| `get_table` | Table details, fields, stats, domain membership |\n| `get_queries_for_table` | Query logs for a table (source/destination) |\n| `get_field_metric_definitions` | Available metrics per field type for a warehouse |\n| `get_domains` | List Monte Carlo domains |\n| `get_validation_predicates` | Available validation rule types |\n\n### Data monitor creation tools\n\nAll five tools follow a **two-call preview-then-confirm pattern**: the first call (with the default `dry_run=True`) returns rendered MaC YAML for review; the second call (`dry_run=False`) deploys the monitor live and returns a deep link to it. Pass `monitor_uuid` on either call to update an existing monitor in place instead of creating a new one. See `references/data-monitor-creation.md` for the full flow.\n\n| Tool | Purpose |\n| --- | --- |\n| `create_or_update_table_monitor` | Create or update a table monitor (preview YAML on `dry_run=True`, deploy on `dry_run=False`) |\n| `create_or_update_metric_monitor` | Create or update a metric monitor (preview YAML on `dry_run=True`, deploy on `dry_run=False`) |\n| `create_or_update_validation_monitor` | Create or update a validation monitor (preview YAML on `dry_run=True`, deploy on `dry_run=False`) |\n| `create_or_update_sql_monitor` | Create or update a custom SQL monitor (preview YAML on `dry_run=True`, deploy on `dry_run=False`) |\n| `create_or_update_comparison_monitor` | Create or update a comparison monitor (preview YAML on `dry_run=True`, deploy on `dry_run=False`) |\n\n### Agent monitoring tools\n\n| Tool | Purpose |\n| --- | --- |\n| `get_agent_metadata` | List AI agents -- returns agent names, trace table MCONs, source types |\n| `get_agent_conversation` | Retrieve recent LLM interactions/conversations for an agent |\n| `get_agent_trace` | Inspect execution traces and span trees |\n| `create_agent_metric_monitor` | Create monitors for quantitative span-level metrics |\n| `create_agent_evaluation_monitor` | Create monitors for LLM-evaluated quality metrics |\n| `create_agent_trajectory` | Create trajectory monitors for execution pattern alerts |\n| `create_agent_validation` | Create validation monitors for logical assertions |\n\n---\n\n## Routing\n\nWhen the user's request comes in, determine which workflow to follow:\n\n| User intent | Workflow |\n| --- | --- |\n| Coverage analysis, use-case exploration, \"what should I monitor?\" | **Coverage workflow** (below) |\n| Create a specific data monitor for a known table | **Read `references/data-monitor-creation.md`** and follow its procedure |\n| Monitor AI agents, agent latency, agent quality, agent traces | **Read `references/agent-monitor-creation.md`** and follow its procedure |\n| Coverage analysis leads to monitor creation | Complete coverage workflow, then **read `references/data-monitor-creation.md`** for creation |\n\nWhen reading reference files, always use the **Read tool** with the path relative to this skill file.\n\n---\n\n## Coverage workflow\n\nThis is the primary flow when the user asks about monitoring coverage, coverage gaps, or what to monitor.\n\n### Step 1: Discover warehouses\n\nCall `get_warehouses` to list all accessible warehouses.\n\n- If **one** warehouse: select it automatically, proceed to Step 2.\n- If **multiple** warehouses: present warehouse **names** (never UUIDs) and ask the user which one to explore.\n\n### Step 2: Discover use cases\n\nCall `get_use_cases(warehouse_id=<selected>)` to discover use cases for the chosen warehouse.\n\n- If **use cases exist** --> proceed to the **Use-case exploration** (below).\n- If **no use cases** --> proceed to the **Importance-based fallback** (below).\n\n### Step 3: Check for database MCP (optional)\n\nCheck if the user has a database MCP server available by looking for tools containing `snowflake`, `bigquery`, `redshift`, or `databricks` in the tool list. If found, note it for the SQL profiling step later. If not found, skip SQL profiling gracefully.\n\n---\n\n## Use-case exploration\n\nThis is the primary flow when use cases are defined.\n\n### Present use cases\n\n- Sort by criticality: **HIGH** before **MEDIUM** before **LOW**.\n- For each use case, show the **description** and explain the **reasoning for its criticality level** so the user understands why it matters.\n- Call `get_use_case_tables` with `golden_tables_only=true` and mention specific golden-table names as concrete examples. Golden tables are the last layer in the warehouse -- they feed ML models, dashboards, and reports. Explain this when relevant.\n- Use `get_asset_lineage` to explain how tables in a use case are connected and why certain tables are important (e.g. a golden table with many upstream dependencies).\n\n### Analyze coverage\n\n1. Call `get_use_case_table_summary` to show how many tables exist at each criticality level (HIGH / MEDIUM / LOW) for the use case.\n2. Call `get_use_case_tables` to obtain table MCONs, then call `get_monitors(mcons=[...])` to report how many are already monitored vs. not.\n3. Ask the user which criticality scope they prefer:\n   - **HIGH only** -- monitor only the most critical tables\n   - **MEDIUM + HIGH** -- broader coverage\n   - **ALL** -- full coverage including LOW-criticality tables\n4. You may suggest covering **multiple** use cases in one session.\n\n### Identify coverage gaps with anomaly data\n\nUse `get_unmonitored_tables_with_anomalies` to discover tables that are **not monitored** but already have muted out-of-the-box anomalies. This reveals real coverage gaps -- places where Monte Carlo detected data issues but no monitor was configured to alert anyone.\n\n- Call it with a recent time window (e.g. last 7-30 days) using ISO 8601 timestamps.\n- Results are ranked by **importance score** -- the most critical gaps appear first.\n- Each result includes a sample of anomaly events showing what types of issues were detected (freshness, volume, schema changes).\n- Use this to **prioritize** which unmonitored tables to cover first -- a table with recent anomalies is a stronger candidate than one with no activity.\n- Cross-reference with use-case data: if an unmonitored table with anomalies belongs to a critical use case, escalate its priority.\n\n---\n\n## Importance-based fallback\n\nWhen no use cases are defined, fall back to importance-based table discovery.\n\n1. **Find unmonitored tables:** Use `search(query=\"\", is_monitored=false)` to find unmonitored tables sorted by importance.\n2. **Find tables with anomalies:** Use `get_unmonitored_tables_with_anomalies` with a recent time window (last 14-30 days) to find tables with recent anomalies but no monitors.\n3. **Inspect top candidates:** Use `get_table` to check table details, fields, and stats for the most important unmonitored tables.\n4. **Understand criticality via lineage:** Use `get_asset_lineage` to understand which tables are most connected -- tables with many downstream dependencies are higher priority.\n5. **Prioritize:** Rank candidates by importance score and anomaly activity. Present the top candidates to the user with reasoning.\n\n---\n\n## SQL profiling (optional)\n\nIf a database MCP server was detected in Step 3 of the coverage workflow:\n\n1. Call `get_queries_for_table` to see recent query patterns on candidate tables.\n2. Use the database MCP tools (e.g. `snowflake_query`, `bigquery_query`) to profile table usage -- identify which tables are queried most frequently, which columns are used in JOINs and WHERE clauses.\n3. Use this information to refine monitor suggestions -- heavily-queried tables with no monitors are high-priority gaps.\n\nIf no database MCP is available, skip this step entirely. Do not ask the user to configure one.\n\n---\n\n## Pre-creation context (coverage-driven)\n\nWhen coverage analysis leads to monitor creation, gather this context before reading the creation reference file:\n\n1. Call `get_audiences` to list available notification audiences. Ask the user which audience they want notifications sent to.\n2. Ask whether the monitor should be created as a **DRAFT** or active.\n3. When passing `audiences` or `failure_audiences`, use the audience **name/label** (not UUID).\n\n### Use-case tag monitors\n\nThe most common output of coverage analysis is a **table monitor scoped by use-case tags** via `create_or_update_table_monitor`. The `asset_selection` parameter uses this structure:\n\n```json\n{\n  \"databases\": [\"<database_name>\"],\n  \"schemas\": [\"<schema_name>\"],\n  \"filters\": [\n    {\n      \"type\": \"TABLE_TAG\",\n      \"tableTags\": [\"<tag_key>:<criticality>\"],\n      \"tableTagsOperator\": \"HAS_ANY\"\n    }\n  ]\n}\n```\n\nRules:\n- Filter `type` is **always** `TABLE_TAG` for use-case monitors.\n- `tableTagsOperator` should be `HAS_ANY`.\n- Each entry in `tableTags` is `\"<tag_key>:<value>\"` where the tag key is the precomputed tag name from `get_use_cases` output and the value is the criticality level in lowercase (`high`, `medium`, `low`).\n- To monitor only HIGH-criticality tables: `[\"tag_name:high\"]`\n- To monitor MEDIUM + HIGH: `[\"tag_name:high\", \"tag_name:medium\"]`\n- To monitor ALL: `[\"tag_name:high\", \"tag_name:medium\", \"tag_name:low\"]`\n\n### Monitor description guidelines\n\nWrite a clear, meaningful `description` that explains what the monitor covers and why. The backend auto-generates the monitor `name` -- you cannot control it, but the description is what users see.\n\n- **Bad:** `\"Data Quality Monitoring - HIGH criticality table monitor\"`\n- **Good:** `\"Monitor HIGH criticality tables in the Revenue Reporting use case to catch issues before they affect dashboards and financial reports.\"`\n\nThe description should mention the criticality scope, the use case name, and a brief reason why this monitoring matters.\n\n---\n\n## Transient and truncate-and-reload tables\n\nSome tables show 0 rows when queried directly but have recent write activity in Monte Carlo metadata. These are **transient tables** -- fully replaced on each pipeline run (truncate-and-reload pattern). Recognize this pattern early to avoid wasting time querying empty tables.\n\nSigns of a transient table:\n- `get_table` shows recent `last_write` timestamp and high read/write activity\n- Direct SQL query returns 0 rows or all-NULL timestamp columns\n- Monte Carlo detected freshness anomalies (the table stayed empty longer than expected between loads)\n\n---\n\n## Graceful degradation\n\nHandle missing or unavailable tools gracefully:\n\n| Scenario | Behavior |\n| --- | --- |\n| No use cases defined | Fall back to importance-based discovery |\n| No database MCP available | Skip SQL profiling, rely on MC tools only |\n| `get_unmonitored_tables_with_anomalies` returns empty | Note that no recent anomalies were found; proceed with use-case or importance-based prioritization |\n| `get_use_case_tables` returns no tables | Note the use case has no tables; suggest exploring other use cases |\n| `get_audiences` returns empty | Inform user no audiences are configured; monitors can still be created without notification routing |\n| User has no warehouses | Inform user that no warehouses are accessible; they may need to check their Monte Carlo permissions |\n\nNever error out or stop the conversation because one tool returned empty results. Explain what happened and offer the next best path.\n\n---\n\n## Rules\n\n- **Never expose UUIDs, MCONs, or internal identifiers** to the user -- always use human-readable names for warehouses, audiences, use cases, and tables. Keep internal identifiers for tool calls only.\n- When the user asks about relationships between tables, use `get_asset_lineage` to fetch upstream/downstream connections and explain the data flow.\n- Be concise but thorough. Use bullet points and tables for clarity.\n- Always use **ISO 8601** format for datetime values in tool calls.\n- Never reformat YAML values returned by creation tools.\n- When passing `audiences` or `failure_audiences` to monitor creation tools, use the audience **name/label** (not UUID). The API accepts audience names.","tags":["monitoring","advisor","agent","toolkit","monte-carlo-data","agent-observability","agent-skills","ai-agents","claude-code","codex-skills","cursor","data-observability"],"capabilities":["skill","source-monte-carlo-data","skill-monitoring-advisor","topic-agent-observability","topic-agent-skills","topic-ai-agents","topic-claude-code","topic-codex-skills","topic-cursor","topic-data-observability","topic-data-quality","topic-mcp","topic-monte-carlo","topic-opencode","topic-skill-md"],"categories":["mc-agent-toolkit"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/monte-carlo-data/mc-agent-toolkit/monitoring-advisor","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add monte-carlo-data/mc-agent-toolkit","source_repo":"https://github.com/monte-carlo-data/mc-agent-toolkit","install_from":"skills.sh"}},"qualityScore":"0.492","qualityRationale":"deterministic score 0.49 from registry signals: · indexed on github topic:agent-skills · 84 github stars · SKILL.md body (15,468 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T18:56:43.581Z","embedding":null,"createdAt":"2026-04-18T22:12:51.913Z","updatedAt":"2026-05-18T18:56:43.581Z","lastSeenAt":"2026-05-18T18:56:43.581Z","tsv":"'-30':1357,1494 '0':1955,2015 '1':965,1210,1459,1585,1691 '14':1493 '2':985,1003,1234,1476,1599,1710 '3':357,1046,1258,1505,1580,1630,1723 '4':370,1287,1525 '5':1549 '7':1356 '8601':531,1361,2239 'accept':2273 'access':79,439,974,2141 'activ':114,117,264,328,333,349,1417,1558,1722,1964,2010 'add':196,203,252 'advisor':5,33 'affect':1921 'agent':16,28,48,90,269,270,272,276,284,292,301,303,307,311,320,323,773,779,783,785,793,801,803,812,824,836,846,900,901,903,905 'ai':15,47,268,782,899 'alert':282,305,350,844,1345 'all-nul':2018 'alreadi':1254,1318 'alway':931,1786,2184,2236 'analysi':23,42,153,871,914,1677,1747 'analyz':6,1208 'anomali':187,520,525,1302,1309,1326,1381,1408,1431,1480,1486,1501,1557,2027,2074,2081 'anyon':1346 'api':2272 'appear':1373 'ask':121,141,182,193,234,265,289,309,371,954,995,1259,1662,1700,1711,2207 'assert':853 'assess':360 'asset':502,1182,1532,1765,2214 'audienc':512,515,1694,1699,1704,1726,1729,1732,2114,2120,2192,2257,2260,2267,2274 'authent':399 'auto':1881 'auto-gener':1880 'automat':981 'avail':416,422,565,582,1061,1655,1697,2061 'avoid':1989 'back':1452,2052 'backend':1879 'bad':1897 'base':57,191,1042,1443,1456,2056,2092 'behavior':285,2046 'belong':1432 'best':2171 'bigqueri':406,1068,1608 'box':1325 'brief':1939 'broader':1277 'bullet':2230 'call':597,605,620,640,968,1007,1140,1211,1235,1245,1347,1586,1692,2202,2246 'candid':1412,1508,1552,1562,1597 'cannot':1887 'carlo':3,31,388,393,427,577,1335,1967,2024,2149 'case':22,144,147,152,181,445,451,454,465,476,479,874,1006,1010,1016,1023,1030,1036,1095,1104,1109,1121,1143,1191,1214,1233,1238,1294,1424,1437,1448,1738,1756,1792,1816,1915,1935,2049,2088,2096,2104,2112,2194 'catch':1917 'certain':1196 'chang':363,1393 'check':210,226,492,1047,1052,1513,2146 'chosen':1019 'clariti':2235 'claus':1629 'clear':1867 'code':247,362 'column':1622,2022 'come':860 'common':1743 'comparison':754,760 'complet':919 'concis':2226 'concret':1158 'configur':375,397,1343,1666,2122 'confirm':601 'connect':1193,1540,2219 'contain':1066 'content':344 'context':1671,1684 'contract':233 'control':1888 'convers':295,794,2157 'count':459,472 'cover':17,1291,1402,1875 'coverag':8,18,41,124,126,128,175,430,870,880,913,920,944,957,958,1209,1278,1281,1299,1330,1583,1673,1676,1746 'coverage-driven':1672 'creat':9,195,207,650,662,667,684,689,706,711,728,733,751,756,811,815,823,827,835,838,845,848,883,1717,1759,2127 'creation':26,45,83,92,588,918,926,1670,1681,1688,2253,2263 'critic':148,456,468,484,1112,1131,1225,1263,1273,1285,1371,1435,1527,1823,1835,1902,1908,1931 'cross':1419 'cross-refer':1418 'custom':737 'dashboard':1173,1922 'data':7,24,43,81,125,158,227,232,340,586,886,1303,1337,1425,1898,2223 'databas':402,1049,1058,1573,1602,1652,1772,2059 'databrick':408,1071 'dataset':242 'datetim':2242 'day':1358,1495 'deep':631 'default':608 'defin':1106,1450,2050 'definit':564 'degrad':2038 'delet':382 'depend':505,1207,1545 'deploy':624,679,701,723,746,768 'descript':457,1124,1863,1869,1892,1927 'detail':546,1515 'detect':1336,1389,1577,2025 'determin':862 'direct':379,510,1959,2011 'discov':966,1004,1014,1311 'discoveri':432,1458,2057 'distribut':469 'domain':549,574,578 'downstream':1544 'draft':1720 'dri':609,621,676,681,698,703,720,725,743,748,765,770 'driven':1674 'e.g':202,1200,1354,1605 'earli':1987 'edit':380 'either':639 'empti':1993,2031,2076,2116,2162 'enforc':231 'entir':1659 'entri':1800 'error':308,2152 'escal':1438 'estat':159 'evalu':312,825,832 'event':1382 'exampl':1159 'execut':287,806,842 'exist':373,383,644,1024,1222 'expect':2034 'explain':1126,1176,1185,1871,2164,2221 'explor':156,342,875,1001,1031,1096,2109 'expos':2175 'failur':1728,2259 'fall':1451,2051 'fallback':1043,1444 'fals':623,683,705,727,750,772,1468 'feed':1170 'fetch':2217 'field':221,547,562,568,1516 'file':56,64,70,89,98,111,930,943,1690 'filter':500,542,1774,1783 'financi':1924 'find':161,535,1460,1470,1477,1497 'first':442,604,1374,1403 'five':591 'flow':659,950,1101,2224 'follow':593,866,895,910 'format':2240 'found':1077,1088,2083 'frequent':1620 'fresh':209,1390,2026 'full':658,1280 'fulli':1973 'gap':19,129,176,959,1300,1331,1372,1649 'gather':1682 'generat':249,1882 'get':377,436,443,449,463,477,490,501,511,516,543,551,561,573,579,778,792,802,969,1008,1141,1181,1212,1236,1246,1305,1482,1510,1531,1587,1693,1814,2000,2070,2094,2113,2213 'golden':486,1146,1154,1160,1202 'golden-t':485,1153 'good':1905 'grace':1092,2037,2044 'guidelin':1864 'handl':37,2039 'happen':2166 'heavili':1639 'heavily-queri':1638 'high':1113,1227,1267,1276,1647,1827,1834,1839,1843,1846,1855,1901,1907,2008 'high-crit':1833 'high-prior':1646 'high/medium/low':470 'higher':1547 'human':2187 'human-read':2186 'id':448,1012 'identifi':1298,1614,2180,2199 'impact':359 'import':190,1041,1199,1367,1442,1455,1475,1522,1554,2055,2091 'importance-bas':189,1040,1441,1454,2054,2090 'includ':1282,1377 'inform':1633,2117,2135 'inspect':805,1506 'instead':648 'intent':62,868 'interactions/conversations':798 'intern':2179,2198 'investig':291 'iso':530,1360,2238 'issu':1338,1387,1918 'join':1626 'json':1771 'keep':2197 'key':1807 'known':890 'last':1164,1355,1492,2004 'latenc':271,304,902 'later':1085 'layer':1165 'lead':915,1678 'level':821,1132,1226,1824 'like':167,298 'lineag':503,1183,1529,1533,2215 'link':632 'list':438,452,513,575,781,972,1075,1696 'live':65,627 'llm':797,831 'llm-evalu':830 'load':2036 'log':556 'logic':257,852 'longer':2032 'look':1063 'low':1117,1229,1284,1829,1861 'low-crit':1283 'lowercas':1826 'mac':614 'mani':1205,1220,1252,1543 'matter':1139,1944 'may':1289,2143 'mc':2067 'mcon':489,499,509,789,1243,1248,2177 'mcp':76,389,394,403,417,428,1050,1059,1574,1603,1653,2060 'md':104,107 'meaning':1868 'medium':1115,1228,1275,1828,1842,1849,1858 'membership':550 'mention':216,319,1151,1929 'metadata':780,1968 'metric':223,563,566,687,693,813,822,834 'miss':2040 'ml':1171 'model':1172 'monitor':4,10,25,32,39,44,49,82,91,123,135,164,171,201,205,217,236,245,253,267,299,313,315,318,324,374,378,384,491,493,528,541,587,626,636,645,666,672,688,694,710,716,732,739,755,761,774,814,816,826,828,840,850,879,887,898,917,956,963,1247,1255,1269,1316,1341,1467,1504,1636,1644,1680,1714,1740,1751,1763,1793,1831,1841,1851,1862,1874,1884,1900,1904,1906,1943,2123,2262 'monitors-as-cod':244 'mont':2,30,387,392,426,576,1334,1966,2023,2148 'monte-carlo':425 'monte-carlo-mcp':391 'monte-carlo-monitoring-advisor':1 'multipl':987,1292 'must':395 'mute':523,1320 'name':462,538,786,991,1156,1812,1838,1845,1848,1854,1857,1860,1885,1936,2189,2275 'name/label':1733,2268 'need':163,441,2144 'never':992,2151,2174,2247 'new':255,652 'next':66,2170 'note':1078,2077,2101 'notif':514,1698,1707,2129 'null':2020 'observ':29,321 'obtain':1241 'offer':2168 'one':653,977,999,1296,1414,1667,2159 'ootb':524 'option':237,400,1051,1570 'out-of-the-box':1321 'output':1744,1817 'pagin':481 'paramet':1767 'pass':635,1725,2256 'path':938,2172 'pattern':288,415,602,843,1595,1983,1986 'per':100,567 'per-typ':99 'permiss':2150 'pipelin':1977 'place':647,1332 'point':2231 'pre':1669 'pre-creat':1668 'precomput':460,1810 'predic':581 'prefer':1266 'prerequisit':385 'present':989,1107,1559 'prevent':260,353,366 'preview':599,673,695,717,740,762 'preview-then-confirm':598 'primari':949,1100 'priorit':192,1397,1550,2093 'prioriti':1440,1548,1648 'procedur':84,93,897,912 'proceed':982,1025,1037,2084 'profil':411,1083,1091,1569,1611,2064 'purpos':435,661,777 'qualiti':228,277,833,904,1899 'quantit':818 'queri':339,552,555,1465,1588,1594,1607,1609,1618,1640,1958,1992,2013 'rang':533 'rank':1365,1551 'read':73,892,907,923,928,934,1686 'read/write':2009 'readabl':2188 'real':1329 'reason':1128,1567,1940 'recent':796,1351,1407,1489,1500,1593,1962,2003,2080 'recogn':1984 'redshift':407,1069 'refer':55,63,102,929,1420,1689 'references/agent-':106 'references/agent-monitor-creation.md':94,908 'references/data-':103 'references/data-monitor-creation.md':85,655,893,924 'refin':1635 'reformat':2248 'relat':86,95,108,939 'relationship':2209 'relev':1179 'reli':2065 'reload':1950,1982 'render':613 'replac':1974 'report':1175,1250,1913,1925 'request':40,243,859 'requir':386,446 'resourc':77 'respond':347 'result':1363,1376,2163 'retriev':795 'return':612,629,784,2014,2075,2098,2115,2161,2251 'reveal':1328 'revenu':1912 'review':617 'right':54 'rout':51,854,2130 'row':1956,2016 'rule':229,584,1782,2173 'run':358,610,622,677,682,699,704,721,726,744,749,766,771,1978 'sampl':1379 'say':165,296 'scenario':2045 'schema':1392,1773 'scope':1264,1752,1932 'score':1368,1555 'search':534,1464 'second':619 'see':654,1592,1896 'select':979,1766 'sent':1708 'server':390,404,429,1060,1575 'session':1297 'set':198,212,280 'show':177,1122,1218,1383,1954,2002 'sign':1995 'skill':34,36,69,116,261,330,354,367,942 'skill-monitoring-advisor' 'skip':1089,1656,2062 'snowflak':405,1067,1606 'sort':1110,1473 'sourc':790 'source-monte-carlo-data' 'source/destination':560 'span':809,820 'span-level':819 'specif':219,496,885,1152 'sql':410,731,738,1082,1090,1568,2012,2063 'stat':548,1518 'status':488,494 'stay':2030 'step':964,984,1002,1045,1084,1579,1658 'still':2125 'stop':2155 'stronger':1411 'structur':1770 'suggest':1290,1637,2108 'summari':467,1216 'support':539 'tabl':13,185,220,240,343,413,458,466,471,480,482,487,497,507,518,521,536,544,545,554,559,665,671,788,891,1144,1147,1155,1161,1187,1197,1203,1215,1221,1239,1242,1274,1286,1307,1312,1400,1405,1429,1457,1462,1472,1478,1484,1498,1511,1514,1524,1537,1541,1590,1598,1612,1616,1641,1750,1762,1776,1787,1836,1903,1909,1951,1953,1972,1994,1999,2001,2029,2072,2097,2100,2107,2196,2211,2233 'tabletag':1778,1802 'tabletagsoper':1779,1794 'tag':461,1739,1757,1777,1788,1806,1811,1837,1844,1847,1853,1856,1859 'take':508,529 'thing':166,297 'thorough':2228 'time':532,1352,1490,1991 'timestamp':1362,2006,2021 'token':273 'tool':74,418,420,433,434,589,592,660,775,776,935,1065,1074,1604,2043,2068,2160,2201,2245,2254,2264 'top':1507,1561 'topic-agent-observability' 'topic-agent-skills' 'topic-ai-agents' 'topic-claude-code' 'topic-codex-skills' 'topic-cursor' 'topic-data-observability' 'topic-data-quality' 'topic-mcp' 'topic-monte-carlo' 'topic-opencode' 'topic-skill-md' 'trace':293,787,804,807,906 'track':302 'trajectori':314,837,839 'transform':256 'transient':1945,1971,1998 'tree':810 'triag':345 'true':611,678,700,722,745,767,1149 'truncat':1948,1980 'truncate-and-reload':1947,1979 'two':596 'two-cal':595 'type':101,569,585,791,1385,1775,1784 'unavail':2042 'understand':132,1136,1526,1535 'unmonitor':184,517,1306,1399,1428,1461,1471,1483,1523,2071 'updat':642,664,669,686,691,708,713,730,735,753,758,1761 'upstream':1206 'upstream/downstream':504,2218 'usag':274,414,1613 'use':21,71,143,146,151,180,351,364,376,444,450,453,464,475,478,873,932,1005,1009,1015,1022,1029,1035,1094,1103,1108,1120,1142,1180,1190,1213,1232,1237,1293,1304,1359,1394,1423,1436,1447,1463,1481,1509,1530,1600,1624,1631,1730,1737,1755,1768,1791,1815,1914,1934,2048,2087,2095,2103,2111,2185,2193,2212,2229,2237,2265 'use-cas':20,145,150,872,1028,1093,1422,1736,1754,1790,2086 'user':60,120,336,857,867,953,997,1055,1135,1261,1565,1664,1702,1895,2118,2131,2136,2183,2206 'uuid':637,993,1735,2176,2270 'valid':214,317,580,583,709,715,847,849 'valu':1820,2243,2250 'via':423,498,1528,1758 'volum':1391 'vs':136,1256 'want':130,154,224,250,278,1706 'warehous':12,140,437,440,447,572,967,970,975,978,988,990,1011,1020,1168,2134,2139,2191 'wast':1990 'whether':1712 'window':1353,1491 'without':2128 'workflow':356,369,864,869,881,921,945,1584 'write':1865,1963,2005 'yaml':248,615,674,696,718,741,763,2249","prices":[{"id":"93ac2ff8-49ef-4d84-9c50-b20b0f028642","listingId":"e10b12ca-2a98-45cb-bcf8-80c7056f3c99","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"monte-carlo-data","category":"mc-agent-toolkit","install_from":"skills.sh"},"createdAt":"2026-04-18T22:12:51.913Z"}],"sources":[{"listingId":"e10b12ca-2a98-45cb-bcf8-80c7056f3c99","source":"github","sourceId":"monte-carlo-data/mc-agent-toolkit/monitoring-advisor","sourceUrl":"https://github.com/monte-carlo-data/mc-agent-toolkit/tree/main/skills/monitoring-advisor","isPrimary":false,"firstSeenAt":"2026-04-18T22:12:51.913Z","lastSeenAt":"2026-05-18T18:56:43.581Z"}],"details":{"listingId":"e10b12ca-2a98-45cb-bcf8-80c7056f3c99","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"monte-carlo-data","slug":"monitoring-advisor","github":{"repo":"monte-carlo-data/mc-agent-toolkit","stars":84,"topics":["agent-observability","agent-skills","ai-agents","claude-code","codex-skills","cursor","data-observability","data-quality","mcp","monte-carlo","opencode","skill-md","skillsmp","vscode"],"license":"apache-2.0","html_url":"https://github.com/monte-carlo-data/mc-agent-toolkit","pushed_at":"2026-05-15T17:55:40Z","description":"Official Monte Carlo toolkit for AI coding agents. Skills and plugins that bring data and agent observability — monitoring, triaging, troubleshooting, health checks  — into Claude Code, Cursor, and more.","skill_md_sha":"ce8e134c4b3f8e7f09c8a68c550d6e27009599bd","skill_md_path":"skills/monitoring-advisor/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/monte-carlo-data/mc-agent-toolkit/tree/main/skills/monitoring-advisor"},"layout":"multi","source":"github","category":"mc-agent-toolkit","frontmatter":{"name":"monte-carlo-monitoring-advisor","description":"Analyze data coverage, create monitors for warehouse tables and AI agents. Covers coverage gaps, use-case analysis, data monitor creation, and agent observability."},"skills_sh_url":"https://skills.sh/monte-carlo-data/mc-agent-toolkit/monitoring-advisor"},"updatedAt":"2026-05-18T18:56:43.581Z"}}