{"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\n| Tool | Purpose |\n| --- | --- |\n| `create_table_monitor_mac` | Generate table monitor YAML (dry-run) |\n| `create_metric_monitor_mac` | Generate metric monitor YAML (dry-run) |\n| `create_validation_monitor_mac` | Generate validation monitor YAML (dry-run) |\n| `create_custom_sql_monitor_mac` | Generate custom SQL monitor YAML (dry-run) |\n| `create_comparison_monitor_mac` | Generate comparison monitor YAML (dry-run) |\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_table_monitor_mac`. 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.489","qualityRationale":"deterministic score 0.49 from registry signals: · indexed on github topic:agent-skills · 78 github stars · SKILL.md body (14,753 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-02T12:55:21.803Z","embedding":null,"createdAt":"2026-04-18T22:12:51.913Z","updatedAt":"2026-05-02T12:55:21.803Z","lastSeenAt":"2026-05-02T12:55:21.803Z","tsv":"'-30':1233,1370 '0':1830,1890 '1':841,1086,1335,1461,1567 '14':1369 '2':861,879,1110,1352,1475,1586 '3':357,922,1134,1381,1456,1506,1599 '4':370,1163,1401 '5':1425 '7':1232 '8601':531,1237,2114 'accept':2148 'access':79,439,850,2016 'activ':114,117,264,328,333,349,1293,1434,1598,1839,1885 'add':196,203,252 'advisor':5,33 'affect':1796 'agent':16,28,48,90,269,270,272,276,284,292,301,303,307,311,320,323,649,655,659,661,669,677,679,688,700,712,722,776,777,779,781 'ai':15,47,268,658,775 'alert':282,305,350,720,1221 'all-nul':1893 'alreadi':1130,1194 'alway':807,1661,2059,2111 'analysi':23,42,153,747,790,1553,1623 'analyz':6,1084 'anomali':187,520,525,1178,1185,1202,1257,1284,1307,1356,1362,1377,1433,1902,1949,1956 'anyon':1222 'api':2147 'appear':1249 'ask':121,141,182,193,234,265,289,309,371,830,871,1135,1538,1576,1587,2082 'assert':729 'assess':360 'asset':502,1058,1408,1640,2089 'audienc':512,515,1570,1575,1580,1602,1605,1608,1989,1995,2067,2132,2135,2142,2149 'authent':399 'auto':1756 'auto-gener':1755 'automat':857 'avail':416,422,565,582,937,1531,1573,1936 'avoid':1864 'back':1328,1927 'backend':1754 'bad':1772 'base':57,191,918,1319,1332,1931,1967 'behavior':285,1921 'belong':1308 'best':2046 'bigqueri':406,944,1484 'box':1201 'brief':1814 'broader':1153 'bullet':2105 'call':844,883,1016,1087,1111,1121,1223,1462,1568,2077,2121 'candid':1288,1384,1428,1438,1473 'cannot':1762 'carlo':3,31,388,393,427,577,1211,1842,1899,2024 'case':22,144,147,152,181,445,451,454,465,476,479,750,882,886,892,899,906,912,971,980,985,997,1019,1067,1090,1109,1114,1170,1300,1313,1324,1614,1632,1667,1691,1790,1810,1924,1963,1971,1979,1987,2069 'catch':1792 'certain':1072 'chang':363,1269 'check':210,226,492,923,928,1389,2021 'chosen':895 'clariti':2110 'claus':1505 'clear':1742 'code':247,362 'column':1498,1897 'come':736 'common':1619 'comparison':639,643 'complet':795 'concis':2101 'concret':1034 'configur':375,397,1219,1542,1997 'connect':1069,1416,2094 'contain':942 'content':344 'context':1547,1560 'contract':233 'control':1763 'convers':295,670,2032 'count':459,472 'cover':17,1167,1278,1750 'coverag':8,18,41,124,126,128,175,430,746,756,789,796,820,833,834,1085,1154,1157,1175,1206,1459,1549,1552,1622 'coverage-driven':1548 'creat':9,195,207,592,603,614,625,638,687,691,699,703,711,714,721,724,759,1593,1635,2002 'creation':26,45,83,92,588,794,802,1546,1557,1564,2128,2138 'critic':148,456,468,484,988,1007,1101,1139,1149,1161,1247,1311,1403,1698,1710,1777,1783,1806 'cross':1295 'cross-refer':1294 'custom':626,631 'dashboard':1049,1797 'data':7,24,43,81,125,158,227,232,340,586,762,1179,1213,1301,1773,2098 'databas':402,925,934,1449,1478,1528,1647,1934 'databrick':408,947 'dataset':242 'datetim':2117 'day':1234,1371 'defin':982,1326,1925 'definit':564 'degrad':1913 'delet':382 'depend':505,1083,1421 'descript':457,1000,1738,1744,1767,1802 'detail':546,1391 'detect':1212,1265,1453,1900 'determin':738 'direct':379,510,1834,1886 'discov':842,880,890,1187 'discoveri':432,1334,1932 'distribut':469 'domain':549,574,578 'downstream':1420 'draft':1596 'dri':601,612,623,636,647 'driven':1550 'dry-run':600,611,622,635,646 'e.g':202,1076,1230,1481 'earli':1862 'edit':380 'empti':1868,1906,1951,1991,2037 'enforc':231 'entir':1535 'entri':1675 'error':308,2027 'escal':1314 'estat':159 'evalu':312,701,708 'event':1258 'exampl':1035 'execut':287,682,718 'exist':373,383,900,1098 'expect':1909 'explain':1002,1052,1061,1746,2039,2096 'explor':156,342,751,877,907,972,1984 'expos':2050 'failur':1604,2134 'fall':1327,1926 'fallback':919,1320 'fals':1344 'feed':1046 'fetch':2092 'field':221,547,562,568,1392 'file':56,64,70,89,98,111,806,819,1566 'filter':500,542,1649,1658 'financi':1799 'find':161,535,1336,1346,1353,1373 'first':442,1250,1279 'flow':826,977,2099 'follow':742,771,786 'format':2115 'found':953,964,1958 'frequent':1496 'fresh':209,1266,1901 'full':1156 'fulli':1848 'gap':19,129,176,835,1176,1207,1248,1525 'gather':1558 'generat':249,596,607,618,630,642,1757 'get':377,436,443,449,463,477,490,501,511,516,543,551,561,573,579,654,668,678,845,884,1017,1057,1088,1112,1122,1181,1358,1386,1407,1463,1569,1689,1875,1945,1969,1988,2088 'golden':486,1022,1030,1036,1078 'golden-t':485,1029 'good':1780 'grace':968,1912,1919 'guidelin':1739 'handl':37,1914 'happen':2041 'heavili':1515 'heavily-queri':1514 'high':989,1103,1143,1152,1523,1702,1709,1714,1718,1721,1730,1776,1782,1883 'high-crit':1708 'high-prior':1522 'high/medium/low':470 'higher':1423 'human':2062 'human-read':2061 'id':448,888 'identifi':1174,1490,2055,2074 'impact':359 'import':190,917,1075,1243,1318,1331,1351,1398,1430,1930,1966 'importance-bas':189,916,1317,1330,1929,1965 'includ':1158,1253 'inform':1509,1992,2010 'inspect':681,1382 'intent':62,744 'interactions/conversations':674 'intern':2054,2073 'investig':291 'iso':530,1236,2113 'issu':1214,1263,1793 'join':1502 'json':1646 'keep':2072 'key':1682 'known':766 'last':1040,1231,1368,1879 'latenc':271,304,778 'later':961 'layer':1041 'lead':791,1554 'level':697,1008,1102,1699 'like':167,298 'lineag':503,1059,1405,1409,2090 'list':438,452,513,575,657,848,951,1572 'live':65 'llm':673,707 'llm-evalu':706 'load':1911 'log':556 'logic':257,728 'longer':1907 'look':939 'low':993,1105,1160,1704,1736 'low-crit':1159 'lowercas':1701 'mac':595,606,617,629,641,1638 'mani':1081,1096,1128,1419 'matter':1015,1819 'may':1165,2018 'mc':1942 'mcon':489,499,509,665,1119,1124,2052 'mcp':76,389,394,403,417,428,926,935,1450,1479,1529,1935 'md':104,107 'meaning':1743 'medium':991,1104,1151,1703,1717,1724,1733 'membership':550 'mention':216,319,1027,1804 'metadata':656,1843 'metric':223,563,566,604,608,689,698,710 'miss':1915 'ml':1047 'model':1048 '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,594,598,605,609,616,620,628,633,640,644,650,690,692,702,704,716,726,755,763,774,793,832,839,1123,1131,1145,1192,1217,1343,1380,1512,1520,1556,1590,1616,1627,1637,1668,1706,1716,1726,1737,1749,1759,1775,1779,1781,1818,1998,2137 'monitors-as-cod':244 'mont':2,30,387,392,426,576,1210,1841,1898,2023 'monte-carlo':425 'monte-carlo-mcp':391 'monte-carlo-monitoring-advisor':1 'multipl':863,1168 'must':395 'mute':523,1196 'name':462,538,662,867,1032,1687,1713,1720,1723,1729,1732,1735,1760,1811,2064,2150 'name/label':1609,2143 'need':163,441,2019 'never':868,2026,2049,2122 'new':255 'next':66,2045 'note':954,1952,1976 'notif':514,1574,1583,2004 'null':1895 'observ':29,321 'obtain':1117 'offer':2043 'one':853,875,1172,1290,1543,2034 'ootb':524 'option':237,400,927,1446 'out-of-the-box':1197 'output':1620,1692 'pagin':481 'paramet':1642 'pass':1601,2131 'path':814,2047 'pattern':288,415,719,1471,1858,1861 'per':100,567 'per-typ':99 'permiss':2025 'pipelin':1852 'place':1208 'point':2106 'pre':1545 'pre-creat':1544 'precomput':460,1685 'predic':581 'prefer':1142 'prerequisit':385 'present':865,983,1435 'prevent':260,353,366 'primari':825,976 'priorit':192,1273,1426,1968 'prioriti':1316,1424,1524 'procedur':84,93,773,788 'proceed':858,901,913,1959 'profil':411,959,967,1445,1487,1939 'purpos':435,591,653 'qualiti':228,277,709,780,1774 'quantit':694 'queri':339,552,555,1341,1464,1470,1483,1485,1494,1516,1833,1867,1888 'rang':533 'rank':1241,1427 'read':73,768,783,799,804,810,1562 'read/write':1884 'readabl':2063 'real':1205 'reason':1004,1443,1815 'recent':672,1227,1283,1365,1376,1469,1837,1878,1955 'recogn':1859 'redshift':407,945 'refer':55,63,102,805,1296,1565 'references/agent-':106 'references/agent-monitor-creation.md':94,784 'references/data-':103 'references/data-monitor-creation.md':85,769,800 'refin':1511 'reformat':2123 'relat':86,95,108,815 'relationship':2084 'relev':1055 'reli':1940 'reload':1825,1857 'replac':1849 'report':1051,1126,1788,1800 'request':40,243,735 'requir':386,446 'resourc':77 'respond':347 'result':1239,1252,2038 'retriev':671 'return':660,1889,1950,1973,1990,2036,2126 'reveal':1204 'revenu':1787 'right':54 'rout':51,730,2005 'row':1831,1891 'rule':229,584,1657,2048 'run':358,602,613,624,637,648,1853 'sampl':1255 'say':165,296 'scenario':1920 'schema':1268,1648 'scope':1140,1628,1807 'score':1244,1431 'search':534,1340 'see':1468,1771 'select':855,1641 'sent':1584 'server':390,404,429,936,1451 'session':1173 'set':198,212,280 'show':177,998,1094,1259,1829,1877 'sign':1870 'skill':34,36,69,116,261,330,354,367,818 'skill-monitoring-advisor' 'skip':965,1532,1937 'snowflak':405,943,1482 'sort':986,1349 'sourc':666 'source-monte-carlo-data' 'source/destination':560 'span':685,696 'span-level':695 'specif':219,496,761,1028 'sql':410,627,632,958,966,1444,1887,1938 'stat':548,1394 'status':488,494 'stay':1905 'step':840,860,878,921,960,1455,1534 'still':2000 'stop':2030 'stronger':1287 'structur':1645 'suggest':1166,1513,1983 'summari':467,1092 'support':539 'tabl':13,185,220,240,343,413,458,466,471,480,482,487,497,507,518,521,536,544,545,554,559,593,597,664,767,1020,1023,1031,1037,1063,1073,1079,1091,1097,1115,1118,1150,1162,1183,1188,1276,1281,1305,1333,1338,1348,1354,1360,1374,1387,1390,1400,1413,1417,1466,1474,1488,1492,1517,1626,1636,1651,1662,1711,1778,1784,1826,1828,1847,1869,1874,1876,1904,1947,1972,1975,1982,2071,2086,2108 'tabletag':1653,1677 'tabletagsoper':1654,1669 'tag':461,1615,1633,1652,1663,1681,1686,1712,1719,1722,1728,1731,1734 'take':508,529 'thing':166,297 'thorough':2103 'time':532,1228,1366,1866 'timestamp':1238,1881,1896 'token':273 'tool':74,418,420,433,434,589,590,651,652,811,941,950,1480,1918,1943,2035,2076,2120,2129,2139 'top':1383,1437 '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,663,680,683,782 'track':302 'trajectori':314,713,715 'transform':256 'transient':1820,1846,1873 'tree':686 'triag':345 'true':1025 'truncat':1823,1855 'truncate-and-reload':1822,1854 'type':101,569,585,667,1261,1650,1659 'unavail':1917 'understand':132,1012,1402,1411 'unmonitor':184,517,1182,1275,1304,1337,1347,1359,1399,1946 'upstream':1082 'upstream/downstream':504,2093 'usag':274,414,1489 'use':21,71,143,146,151,180,351,364,376,444,450,453,464,475,478,749,808,881,885,891,898,905,911,970,979,984,996,1018,1056,1066,1089,1108,1113,1169,1180,1235,1270,1299,1312,1323,1339,1357,1385,1406,1476,1500,1507,1606,1613,1631,1643,1666,1690,1789,1809,1923,1962,1970,1978,1986,2060,2068,2087,2104,2112,2140 'use-cas':20,145,150,748,904,969,1298,1612,1630,1665,1961 'user':60,120,336,733,743,829,873,931,1011,1137,1441,1540,1578,1770,1993,2006,2011,2058,2081 'uuid':869,1611,2051,2145 'valid':214,317,580,583,615,619,723,725 'valu':1695,2118,2125 'via':423,498,1404,1634 'volum':1267 'vs':136,1132 'want':130,154,224,250,278,1582 'warehous':12,140,437,440,447,572,843,846,851,854,864,866,887,896,1044,2009,2014,2066 'wast':1865 'whether':1588 'window':1229,1367 'without':2003 'workflow':356,369,740,745,757,797,821,1460 'write':1740,1838,1880 'yaml':248,599,610,621,634,645,2124","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-02T12:55:21.803Z"}],"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":78,"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-04-30T23:25:43Z","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":"573cc04476c7e8901f5b6d436a87ec3302057dc0","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-02T12:55:21.803Z"}}