{"id":"1485c946-bfe7-48b0-89b1-1361dbff5a35","shortId":"G8uMnH","kind":"skill","title":"tune-monitor","tagline":"Analyze a Monte Carlo monitor and recommend config changes to reduce alert noise. Supports metric, custom SQL, validation, and table monitors. Fetches the report, identifies patterns, and suggests tuning.","description":"# Tune Monitor: Noise Reduction Analysis\n\nYou are a Monte Carlo monitor tuning agent. Your job is to fetch a monitor's report, dump it to\na file for reference, analyze the alert patterns, and recommend concrete configuration changes to\nreduce noise without sacrificing real signal.\n\n**Arguments:** $ARGUMENTS\n\nReference files live next to this skill file. **Use the Read tool** (not MCP resources) to access\nthem:\n\n- Metric monitor tuning: `references/metric-monitor.md` (relative to this file)\n- Custom SQL monitor tuning: `references/custom-sql-monitor.md` (relative to this file)\n- Validation monitor tuning: `references/validation-monitor.md` (relative to this file)\n- Table monitor tuning: `references/table-monitor.md` (relative to this file)\n\n---\n\n## Prerequisites\n\n- **Required:** Monte Carlo MCP server (`monte-carlo-mcp`) must be configured and authenticated\n\n---\n\n## Available MCP tools\n\n| Tool | Purpose |\n|---|---|\n| `get_monitor_report` | Fetch a monitor's alert history, incident details, and troubleshooting summaries |\n| `get_monitors` | Fetch monitor configuration (type, thresholds, schedule, segments) |\n| `create_or_update_metric_monitor` | Update a metric monitor in place (pass `monitor_uuid`; used in Phase 5) |\n| `create_or_update_sql_monitor` | Update a custom SQL monitor in place (pass `monitor_uuid`; used in Phase 5) |\n| `create_or_update_validation_monitor` | Update a validation monitor in place (pass `monitor_uuid`; used in Phase 5) |\n| `tune_freshness_table_monitor` | Tune freshness sensitivity/threshold for a table (used in Phase 5) |\n| `tune_volume_change_table_monitor` | Tune volume change sensitivity/threshold for a table (used in Phase 5) |\n| `tune_unchanged_size_table_monitor` | Tune unchanged size sensitivity/threshold for a table (used in Phase 5) |\n\nAll three `create_or_update_*_monitor` tools follow a **two-call preview-then-confirm pattern**: the first call (with the default `dry_run=True`) returns the rendered MaC YAML for review in `result.yaml`; the second call (`dry_run=False`) deploys the change live and returns a deep link in `result.instructions`. **Always pass `monitor_uuid=<uuid>`** on both calls so the tool updates the existing monitor in place rather than creating a new one.\n\n---\n\n## Phase 0: Validate Input\n\nExtract the monitor UUID from `$ARGUMENTS`. It must be a valid UUID (format:\n`xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`).\n\nIf no UUID is provided or it doesn't look like a UUID, stop and tell the user:\n\n> Please provide a monitor UUID. Example: `/tune-monitor 94c2dd3a-ef49-40f8-b1c1-741ba057cabf`\n\n---\n\n## Phase 1: Fetch Monitor Report\n\nCall `get_monitor_report` with:\n- `monitor_uuid`: the UUID from `$ARGUMENTS`\n- `max_incidents`: 50\n\nIf the tool returns an error or empty result, tell the user the monitor was not found and stop.\n\nAlso fetch the monitor's full config via `get_monitors` with:\n- `monitor_ids`: [`{monitor_uuid}`]\n- `include_fields`: [`config`]\n\nRun both calls in parallel.\n\n---\n\n## Phase 1.5: Determine Monitor Type and Load Reference\n\nFrom the `get_monitors` config response, determine the monitor type:\n\n| Config indicator | Type | Reference file |\n|---|---|---|\n| Monitor type is a metric monitor variant (e.g., metric, field health) | Metric | `references/metric-monitor.md` |\n| Monitor type is a custom SQL rule / custom monitor | Custom SQL | `references/custom-sql-monitor.md` |\n| Monitor type is a validation rule / validation monitor | Validation | `references/validation-monitor.md` |\n| Monitor type is a table monitor (freshness, volume, schema across tables) | Table | `references/table-monitor.md` |\n\n**Read** the appropriate reference file using the Read tool with the path relative to this skill\nfile. The reference contains type-specific config fields to extract, recommendation guidance, and\napply-changes instructions.\n\nIf the monitor type is not metric, custom SQL, validation, or table, stop and tell the user:\n\n> This skill supports tuning metric, custom SQL, validation, and table monitors. This monitor\n> is a {type} monitor, which is not supported.\n\n---\n\n## Phase 2: Analyze the Report\n\nAnalyze the monitor report and config together. Focus on:\n\n### 2a. Alert volume & frequency\n- How many incidents in the last 30 days? Last 7 days?\n- What is the firing cadence — multiple times per day? Daily? Sporadic?\n- Are incidents clustered in time (bursts) or spread evenly?\n\n### 2b. Anomaly patterns\n- Which segments (field values) are firing most? Are they the same segments repeatedly?\n- Are anomalies consistently marginal (just above threshold) or severe?\n- Are any anomalies from sparse/bursty event types that naturally spike?\n- Are anomalies caused by known operational events (deployments, batch jobs, bulk user actions)?\n- For validation monitors: how many invalid rows per incident? Is the count stable or growing?\n- For table monitors: which (table, metric) pairs are firing most? Are they the same repeatedly?\n\n### 2c. Current configuration\nExtract the current configuration. The specific fields to look for are documented in the per-type\nreference loaded in Phase 1.5. At minimum, extract:\n- Monitor type and what it measures\n- Schedule interval\n- Audiences / notification channels\n- Whether the monitor uses ML thresholds or explicit thresholds\n\n### 2d. Troubleshooting analysis (if available)\nLook at any troubleshooting TL;DRs in the report. Note:\n- Are most anomalies assessed as \"likely normal data variation\"?\n- Are there recurring root causes?\n- Is there a blind spot (e.g., no upstream metadata)?\n\n---\n\n## Phase 3: Generate Recommendations\n\nBased on the analysis, produce a prioritized list of recommendations. For each recommendation:\n- State the **problem** it solves\n- Give the **specific config change** (use exact field names from the MC config schema)\n- Explain the **trade-off** (what signal might be lost)\n\n### General recommendations (all monitor types)\n\n#### Sensitivity tuning (ML thresholds only)\nThis applies to any monitor that uses ML thresholds — both metric monitors and custom SQL monitors.\nSkip this section for validation monitors (they don't use ML thresholds), for table monitors\n(they have their own per-metric sensitivity — see the table monitor reference), and for monitors\nwith explicit thresholds (for custom SQL monitors, see threshold adjustment in the per-type\nreference instead).\n\n- If anomalies are consistently marginal (observed value just barely above threshold) AND assessed\n  as normal variation → recommend lowering sensitivity one step:\n  - If current sensitivity is `HIGH` → recommend `\"sensitivity\": \"medium\"`\n  - If current sensitivity is `MEDIUM` or `AUTO` → recommend `\"sensitivity\": \"low\"`\n- If current sensitivity is already `LOW` and still noisy → note this isn't a sensitivity issue\n\n#### Schedule / interval\n- If the monitor fires multiple times per day but anomalies always resolve within hours → recommend\n  increasing schedule interval (e.g., from 720 min to 1440 min) to reduce duplicate alerts\n- If anomalies are caused by data arriving late → recommend increasing `collection_lag`\n\n#### Snooze / training period\n- If the monitor was recently created (<30 days) and is still learning patterns → recommend\n  waiting for the model to stabilize before tuning\n\n#### Audience / notification routing\n- If the monitor has no audiences configured and is generating noise → recommend adding audiences\n  only for high-severity anomalies, or removing notifications entirely for known-noisy monitors\n\n### Type-specific recommendations\n\nFor type-specific recommendations (WHERE conditions, segment exclusion, aggregation changes,\nthreshold adjustment, SQL modifications, alert condition modifications, per-table-metric\nsensitivity tuning), follow the guidance in the per-type reference loaded in Phase 1.5.\n\n---\n\n## Phase 4: Present the Report\n\nOutput a structured analysis. **This is the primary output — include it in full.**\n\n```markdown\n## Monitor Tune Report: {monitor_uuid}\n\n**Monitor:** {display_name or mac_name}\n**Type:** {monitor type — metric, custom SQL, validation, or table}\n**Table:** {table}\n**What it monitors:** {metric and segments, SQL query summary, validation conditions, or table/metric coverage}\n**Current sensitivity:** {sensitivity or \"AUTO (default)\" or \"N/A (explicit thresholds)\"}\n**Schedule:** every {interval_minutes / 60}h\n\n### Alert Summary (last 30 days)\n- Total alerts: {count}\n- Firing frequency: {e.g., \"~twice daily\", \"daily\", \"sporadic\"}\n- Most noisy segments: {top 2-3 segment values by alert count, or N/A for custom SQL/validation}\n- Most noisy (table, metric) pairs: {for table monitors: top pairs by anomaly count}\n\n### Root Cause Pattern\n{1-3 sentence summary of what the alerts represent — operational events, bursty data, model\nmiscalibration, genuine issues, etc.}\n\n### Recommendations\n\n#### 1. {Highest-impact change} [RECOMMENDED]\n**Problem:** ...\n**Change:**\n```yaml\n{specific config field}: {new value}\n```\n**Trade-off:** ...\n\n#### 2. {Second change} [OPTIONAL]\n...\n\n#### 3. {Third change} [OPTIONAL]\n...\n\n### What NOT to change\n{Any configurations that look correct and should be left alone — avoid over-tuning.}\n\n### If these changes are made\n{Predict the expected outcome: estimated alert reduction, what genuine anomalies would still fire.}\n```\n\n**Next step:** \"Want me to apply any of these changes to the monitor config, or explore the alert\nhistory further?\"\n\n---\n\n## Phase 5: Apply Changes (if user requests)\n\nTo apply changes, follow the apply-changes instructions in the per-type reference loaded in\nPhase 1.5. Each reference specifies the correct tool and constraints for that monitor type.\n\nGeneral rules for all types:\n1. **Always preview first** — show the user what will change before applying.\n2. **Get explicit confirmation** before applying any change.\n\n---\n\n## Guidelines\n\n- **Be specific.** Generic advice like \"reduce sensitivity\" is less useful than exact config changes.\n- **Prefer surgical changes.** A targeted WHERE condition beats a blunt sensitivity reduction.\n- **Preserve signal.** Always explain what genuine anomalies would still be caught after tuning.\n- **Cite evidence.** Reference specific incident dates, segment values, and counts from the report.\n- **Degrade gracefully.** If troubleshooting runs are missing, note the limited context and\n  reason from alert patterns alone.","tags":["tune","monitor","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-tune-monitor","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/tune-monitor","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 (10,341 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:44.292Z","embedding":null,"createdAt":"2026-04-18T22:12:56.680Z","updatedAt":"2026-05-18T18:56:44.292Z","lastSeenAt":"2026-05-18T18:56:44.292Z","tsv":"'-3':1227,1255 '/tune-monitor':396 '0':350 '1':404,1254,1273,1397 '1.5':465,758,1135,1379 '1440':1020 '2':608,1226,1290,1409 '2a':621 '2b':656 '2c':734 '2d':782 '3':821,1294 '30':631,1047,1210 '4':1137 '40f8':400 '5':191,210,228,242,258,274,1355 '50':421 '60':1205 '7':634 '720':1017 '741ba057cabf':402 '94c2dd3a':398 '94c2dd3a-ef49-40f8-b1c1-741ba057cabf':397 'access':96 'across':531 'action':703 'ad':1078 'adjust':932,1111 'advic':1421 'agent':45 'aggreg':1108 'alert':15,64,158,622,1025,1114,1207,1213,1231,1261,1326,1351,1484 'alon':1311,1486 'alreadi':983 'also':441 'alway':327,1007,1398,1446 'analysi':37,784,827,1144 'analyz':4,62,609,612 'anomali':657,673,683,692,799,941,1006,1027,1085,1249,1330,1450 'appli':566,877,1339,1356,1362,1367,1408,1414 'apply-chang':565,1366 'appropri':537 'argument':78,79,358,418 'arriv':1032 'assess':800,952 'audienc':770,1063,1071,1079 'authent':145 'auto':975,1195 'avail':146,786 'avoid':1312 'b1c1':401 'bare':948 'base':824 'batch':699 'beat':1439 'blind':814 'blunt':1441 'bulk':701 'burst':652 'bursti':1265 'cadenc':640 'call':286,294,312,333,408,461 'carlo':7,42,134,139 'caught':1454 'caus':693,810,1029,1252 'chang':12,70,245,250,318,567,846,1109,1277,1280,1292,1296,1301,1318,1343,1357,1363,1368,1406,1416,1431,1434 'channel':772 'cite':1457 'cluster':649 'collect':1036 'concret':68 'condit':1105,1115,1187,1438 'config':11,447,458,476,482,558,617,845,854,1283,1347,1430 'configur':69,143,169,736,740,1072,1303 'confirm':290,1412 'consist':674,943 'constraint':1387 'contain':554 'context':1480 'correct':1306,1384 'count':715,1214,1232,1250,1466 'coverag':1190 'creat':174,192,211,277,345,1046 'current':735,739,962,970,980,1191 'custom':19,106,199,504,507,509,576,591,889,927,1170,1236 'daili':645,1219,1220 'data':804,1031,1266 'date':1462 'day':632,635,644,1004,1048,1211 'deep':323 'default':297,1196 'degrad':1470 'deploy':316,698 'detail':161 'determin':466,478 'display':1161 'document':748 'doesn':379 'dri':298,313 'drs':792 'dump':55 'duplic':1024 'e.g':494,816,1015,1217 'ef49':399 'empti':429 'entir':1089 'error':427 'estim':1325 'etc':1271 'even':655 'event':686,697,1264 'everi':1202 'evid':1458 'exact':848,1429 'exampl':395 'exclus':1107 'exist':339 'expect':1323 'explain':856,1447 'explicit':780,924,1199,1411 'explor':1349 'extract':353,561,737,761 'fals':315 'fetch':25,50,154,167,405,442 'field':457,496,559,661,743,849,1284 'file':59,81,87,105,114,122,130,486,539,551 'fire':639,664,727,1000,1215,1333 'first':293,1400 'focus':619 'follow':282,1123,1364 'format':365 'found':438 'frequenc':624,1216 'fresh':230,234,528 'full':446,1153 'general':866,1392 'generat':822,1075 'generic':1420 'genuin':1269,1329,1449 'get':151,165,409,449,474,1410 'give':842 'grace':1471 'grow':718 'guidanc':563,1125 'guidelin':1417 'h':1206 'health':497 'high':965,1083 'high-sever':1082 'highest':1275 'highest-impact':1274 'histori':159,1352 'hour':1010 'id':453 'identifi':28 'impact':1276 'incid':160,420,627,648,712,1461 'includ':456,1150 'increas':1012,1035 'indic':483 'input':352 'instead':939 'instruct':568,1369 'interv':769,996,1014,1203 'invalid':709 'isn':990 'issu':994,1270 'job':47,700 'known':695,1092 'known-noisi':1091 'lag':1037 'last':630,633,1209 'late':1033 'learn':1052 'left':1310 'less':1426 'like':382,802,1422 'limit':1479 'link':324 'list':831 'live':82,319 'load':470,755,1132,1376 'look':381,745,787,1305 'lost':865 'low':978,984 'lower':957 'mac':304,1164 'made':1320 'mani':626,708 'margin':675,944 'markdown':1154 'max':419 'mc':853 'mcp':93,135,140,147 'measur':767 'medium':968,973 'metadata':819 'metric':18,98,177,181,491,495,498,575,590,724,886,913,1120,1169,1180,1241 'might':863 'min':1018,1021 'minimum':760 'minut':1204 'miscalibr':1268 'miss':1476 'ml':777,873,883,902 'model':1058,1267 'modif':1113,1116 'monitor':3,8,24,34,43,52,99,108,116,124,152,156,166,168,178,182,186,196,201,205,215,219,223,232,247,263,280,329,340,355,393,406,410,413,435,444,450,452,454,467,475,480,487,492,500,508,512,519,522,527,571,596,598,602,614,706,721,762,775,869,880,887,891,897,906,918,922,929,999,1043,1068,1094,1155,1158,1160,1167,1179,1245,1346,1390 'mont':6,41,133,138 'monte-carlo-mcp':137 'multipl':641,1001 'must':141,360 'n/a':1198,1234 'name':850,1162,1165 'natur':689 'new':347,1285 'next':83,1334 'nois':16,35,73,1076 'noisi':987,1093,1223,1239 'normal':803,954 'note':796,988,1477 'notif':771,1064,1088 'observ':945 'one':348,959 'oper':696,1263 'option':1293,1297 'outcom':1324 'output':1141,1149 'over-tun':1313 'pair':725,1242,1247 'parallel':463 'pass':185,204,222,328 'path':546 'pattern':29,65,291,658,1053,1253,1485 'per':643,711,752,912,936,1003,1118,1129,1373 'per-metr':911 'per-table-metr':1117 'per-typ':751,935,1128,1372 'period':1040 'phase':190,209,227,241,257,273,349,403,464,607,757,820,1134,1136,1354,1378 'place':184,203,221,342 'pleas':390 'predict':1321 'prefer':1432 'prerequisit':131 'present':1138 'preserv':1444 'preview':288,1399 'preview-then-confirm':287 'primari':1148 'priorit':830 'problem':839,1279 'produc':828 'provid':376,391 'purpos':150 'queri':1184 'rather':343 'read':90,535,542 'real':76 'reason':1482 'recent':1045 'recommend':10,67,562,823,833,836,867,956,966,976,1011,1034,1054,1077,1098,1103,1272,1278 'recur':808 'reduc':14,72,1023,1423 'reduct':36,1327,1443 'refer':61,80,471,485,538,553,754,919,938,1131,1375,1381,1459 'references/custom-sql-monitor.md':110,511 'references/metric-monitor.md':101,499 'references/table-monitor.md':126,534 'references/validation-monitor.md':118,521 'relat':102,111,119,127,547 'remov':1087 'render':303 'repeat':671,733 'report':27,54,153,407,411,611,615,795,1140,1157,1469 'repres':1262 'request':1360 'requir':132 'resolv':1008 'resourc':94 'respons':477 'result':430 'result.instructions':326 'result.yaml':309 'return':301,321,425 'review':307 'root':809,1251 'rout':1065 'row':710 'rule':506,517,1393 'run':299,314,459,1474 'sacrif':75 'schedul':172,768,995,1013,1201 'schema':530,855 'second':311,1291 'section':894 'see':915,930 'segment':173,660,670,1106,1182,1224,1228,1463 'sensit':871,914,958,963,967,971,977,981,993,1121,1192,1193,1424,1442 'sensitivity/threshold':235,251,267 'sentenc':1256 'server':136 'sever':680,1084 'show':1401 'signal':77,862,1445 'size':261,266 'skill':86,550,587 'skill-tune-monitor' 'skip':892 'snooz':1038 'solv':841 'source-monte-carlo-data' 'sparse/bursty':685 'specif':557,742,844,1097,1102,1282,1419,1460 'specifi':1382 'spike':690 'sporad':646,1221 'spot':815 'spread':654 'sql':20,107,195,200,505,510,577,592,890,928,1112,1171,1183 'sql/validation':1237 'stabil':1060 'stabl':716 'state':837 'step':960,1335 'still':986,1051,1332,1452 'stop':385,440,581 'structur':1143 'suggest':31 'summari':164,1185,1208,1257 'support':17,588,606 'surgic':1433 'tabl':23,123,231,238,246,254,262,270,526,532,533,580,595,720,723,905,917,1119,1174,1175,1176,1240,1244 'table/metric':1189 'target':1436 'tell':387,431,583 'third':1295 'three':276 'threshold':171,678,778,781,874,884,903,925,931,950,1110,1200 'time':642,651,1002 'tl':791 'togeth':618 'tool':91,148,149,281,336,424,543,1385 'top':1225,1246 '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' 'total':1212 'trade':859,1288 'trade-off':858,1287 'train':1039 'troubleshoot':163,783,790,1473 'true':300 'tune':2,32,33,44,100,109,117,125,229,233,243,248,259,264,589,872,1062,1122,1156,1315,1456 'tune-monitor':1 'twice':1218 'two':285 'two-cal':284 'type':170,468,481,484,488,501,513,523,556,572,601,687,753,763,870,937,1096,1101,1130,1166,1168,1374,1391,1396 'type-specif':555,1095,1100 'unchang':260,265 'updat':176,179,194,197,213,216,279,337 'upstream':818 'use':88,188,207,225,239,255,271,540,776,847,882,901,1427 'user':389,433,585,702,1359,1403 'uuid':187,206,224,330,356,364,374,384,394,414,416,455,1159 'valid':21,115,214,218,351,363,516,518,520,578,593,705,896,1172,1186 'valu':662,946,1229,1286,1464 'variant':493 'variat':805,955 'via':448 'volum':244,249,529,623 'wait':1055 'want':1336 'whether':773 'within':1009 'without':74 'would':1331,1451 'xxxx':368,369,370 'xxxxxxxx':367 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx':366 'xxxxxxxxxxxx':371 'yaml':305,1281","prices":[{"id":"0f1b1ce1-2050-4f47-b032-e229309daff9","listingId":"1485c946-bfe7-48b0-89b1-1361dbff5a35","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:56.680Z"}],"sources":[{"listingId":"1485c946-bfe7-48b0-89b1-1361dbff5a35","source":"github","sourceId":"monte-carlo-data/mc-agent-toolkit/tune-monitor","sourceUrl":"https://github.com/monte-carlo-data/mc-agent-toolkit/tree/main/skills/tune-monitor","isPrimary":false,"firstSeenAt":"2026-04-18T22:12:56.680Z","lastSeenAt":"2026-05-18T18:56:44.292Z"}],"details":{"listingId":"1485c946-bfe7-48b0-89b1-1361dbff5a35","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"monte-carlo-data","slug":"tune-monitor","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":"95409056bb953c07c010e7ac55bc4c0ea2bc2322","skill_md_path":"skills/tune-monitor/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/monte-carlo-data/mc-agent-toolkit/tree/main/skills/tune-monitor"},"layout":"multi","source":"github","category":"mc-agent-toolkit","frontmatter":{"name":"tune-monitor","description":"Analyze a Monte Carlo monitor and recommend config changes to reduce alert noise. Supports metric, custom SQL, validation, and table monitors. Fetches the report, identifies patterns, and suggests tuning."},"skills_sh_url":"https://skills.sh/monte-carlo-data/mc-agent-toolkit/tune-monitor"},"updatedAt":"2026-05-18T18:56:44.292Z"}}