{"id":"73c87dab-d61b-41b1-9184-f9fb7f44bbcc","shortId":"787whj","kind":"skill","title":"cloudwatch","tagline":"AWS CloudWatch monitoring for logs, metrics, alarms, and dashboards. Use when setting up monitoring, creating alarms, querying logs with Insights, configuring metric filters, building dashboards, or troubleshooting application issues.","description":"# AWS CloudWatch\n\nAmazon CloudWatch provides monitoring and observability for AWS resources and applications. It collects metrics, logs, and events, enabling you to monitor, troubleshoot, and optimize your AWS environment.\n\n## Table of Contents\n\n- [Core Concepts](#core-concepts)\n- [Common Patterns](#common-patterns)\n- [CLI Reference](#cli-reference)\n- [Best Practices](#best-practices)\n- [Troubleshooting](#troubleshooting)\n- [References](#references)\n\n## Core Concepts\n\n### Metrics\n\nTime-ordered data points published to CloudWatch. Key components:\n- **Namespace**: Container for metrics (e.g., `AWS/Lambda`)\n- **Metric name**: Name of the measurement (e.g., `Invocations`)\n- **Dimensions**: Name-value pairs for filtering (e.g., `FunctionName=MyFunc`)\n- **Statistics**: Aggregations (Sum, Average, Min, Max, SampleCount, pN)\n\n### Logs\n\nLog data from AWS services and applications:\n- **Log groups**: Collections of log streams\n- **Log streams**: Sequences of log events from same source\n- **Log events**: Individual log entries with timestamp and message\n\n### Alarms\n\nAutomated actions based on metric thresholds:\n- **States**: OK, ALARM, INSUFFICIENT_DATA\n- **Actions**: SNS notifications, Auto Scaling, EC2 actions\n\n## Common Patterns\n\n### Create a Metric Alarm\n\n**AWS CLI:**\n\n```bash\n# CPU utilization alarm for EC2\naws cloudwatch put-metric-alarm \\\n  --alarm-name \"HighCPU-i-1234567890abcdef0\" \\\n  --metric-name CPUUtilization \\\n  --namespace AWS/EC2 \\\n  --statistic Average \\\n  --period 300 \\\n  --threshold 80 \\\n  --comparison-operator GreaterThanThreshold \\\n  --evaluation-periods 2 \\\n  --dimensions Name=InstanceId,Value=i-1234567890abcdef0 \\\n  --alarm-actions arn:aws:sns:us-east-1:123456789012:alerts \\\n  --ok-actions arn:aws:sns:us-east-1:123456789012:alerts\n```\n\n**boto3:**\n\n```python\nimport boto3\n\ncloudwatch = boto3.client('cloudwatch')\n\ncloudwatch.put_metric_alarm(\n    AlarmName='HighCPU-i-1234567890abcdef0',\n    MetricName='CPUUtilization',\n    Namespace='AWS/EC2',\n    Statistic='Average',\n    Period=300,\n    Threshold=80.0,\n    ComparisonOperator='GreaterThanThreshold',\n    EvaluationPeriods=2,\n    Dimensions=[\n        {'Name': 'InstanceId', 'Value': 'i-1234567890abcdef0'}\n    ],\n    AlarmActions=['arn:aws:sns:us-east-1:123456789012:alerts'],\n    OKActions=['arn:aws:sns:us-east-1:123456789012:alerts']\n)\n```\n\n### Lambda Error Rate Alarm\n\n```bash\naws cloudwatch put-metric-alarm \\\n  --alarm-name \"LambdaErrorRate-MyFunction\" \\\n  --metrics '[\n    {\n      \"Id\": \"errors\",\n      \"MetricStat\": {\n        \"Metric\": {\n          \"Namespace\": \"AWS/Lambda\",\n          \"MetricName\": \"Errors\",\n          \"Dimensions\": [{\"Name\": \"FunctionName\", \"Value\": \"MyFunction\"}]\n        },\n        \"Period\": 60,\n        \"Stat\": \"Sum\"\n      },\n      \"ReturnData\": false\n    },\n    {\n      \"Id\": \"invocations\",\n      \"MetricStat\": {\n        \"Metric\": {\n          \"Namespace\": \"AWS/Lambda\",\n          \"MetricName\": \"Invocations\",\n          \"Dimensions\": [{\"Name\": \"FunctionName\", \"Value\": \"MyFunction\"}]\n        },\n        \"Period\": 60,\n        \"Stat\": \"Sum\"\n      },\n      \"ReturnData\": false\n    },\n    {\n      \"Id\": \"errorRate\",\n      \"Expression\": \"errors/invocations*100\",\n      \"Label\": \"Error Rate\",\n      \"ReturnData\": true\n    }\n  ]' \\\n  --threshold 5 \\\n  --comparison-operator GreaterThanThreshold \\\n  --evaluation-periods 3 \\\n  --alarm-actions arn:aws:sns:us-east-1:123456789012:alerts\n```\n\n### Query Logs with Insights\n\n```bash\n# Find errors in Lambda logs\naws logs start-query \\\n  --log-group-name /aws/lambda/MyFunction \\\n  --start-time $(date -d '1 hour ago' +%s) \\\n  --end-time $(date +%s) \\\n  --query-string '\n    fields @timestamp, @message\n    | filter @message like /ERROR/\n    | sort @timestamp desc\n    | limit 50\n  '\n\n# Get query results\naws logs get-query-results --query-id <query-id>\n```\n\n**boto3:**\n\n```python\nimport boto3\nimport time\n\nlogs = boto3.client('logs')\n\n# Start query\nresponse = logs.start_query(\n    logGroupName='/aws/lambda/MyFunction',\n    startTime=int(time.time()) - 3600,\n    endTime=int(time.time()),\n    queryString='''\n        fields @timestamp, @message\n        | filter @message like /ERROR/\n        | sort @timestamp desc\n        | limit 50\n    '''\n)\n\nquery_id = response['queryId']\n\n# Wait for results\nwhile True:\n    result = logs.get_query_results(queryId=query_id)\n    if result['status'] == 'Complete':\n        break\n    time.sleep(1)\n\nfor row in result['results']:\n    print(row)\n```\n\n### Create Metric Filter\n\nExtract metrics from log patterns:\n\n```bash\n# Create metric filter for error count\naws logs put-metric-filter \\\n  --log-group-name /aws/lambda/MyFunction \\\n  --filter-name ErrorCount \\\n  --filter-pattern \"ERROR\" \\\n  --metric-transformations \\\n    metricName=ErrorCount,metricNamespace=MyApp,metricValue=1,defaultValue=0\n```\n\n### Publish Custom Metrics\n\n```python\nimport boto3\n\ncloudwatch = boto3.client('cloudwatch')\n\ncloudwatch.put_metric_data(\n    Namespace='MyApp',\n    MetricData=[\n        {\n            'MetricName': 'OrdersProcessed',\n            'Value': 1,\n            'Unit': 'Count',\n            'Dimensions': [\n                {'Name': 'Environment', 'Value': 'Production'},\n                {'Name': 'OrderType', 'Value': 'Standard'}\n            ]\n        }\n    ]\n)\n```\n\n### Create Dashboard\n\n```bash\ncat > dashboard.json << 'EOF'\n{\n  \"widgets\": [\n    {\n      \"type\": \"metric\",\n      \"x\": 0, \"y\": 0, \"width\": 12, \"height\": 6,\n      \"properties\": {\n        \"title\": \"Lambda Invocations\",\n        \"metrics\": [\n          [\"AWS/Lambda\", \"Invocations\", \"FunctionName\", \"MyFunction\"]\n        ],\n        \"period\": 60,\n        \"stat\": \"Sum\",\n        \"region\": \"us-east-1\"\n      }\n    },\n    {\n      \"type\": \"log\",\n      \"x\": 12, \"y\": 0, \"width\": 12, \"height\": 6,\n      \"properties\": {\n        \"title\": \"Recent Errors\",\n        \"query\": \"SOURCE '/aws/lambda/MyFunction' | filter @message like /ERROR/ | limit 20\",\n        \"region\": \"us-east-1\"\n      }\n    }\n  ]\n}\nEOF\n\naws cloudwatch put-dashboard \\\n  --dashboard-name MyAppDashboard \\\n  --dashboard-body file://dashboard.json\n```\n\n## CLI Reference\n\n### Metrics Commands\n\n| Command | Description |\n|---------|-------------|\n| `aws cloudwatch put-metric-data` | Publish custom metrics |\n| `aws cloudwatch get-metric-data` | Retrieve metric values |\n| `aws cloudwatch get-metric-statistics` | Get aggregated statistics |\n| `aws cloudwatch list-metrics` | List available metrics |\n\n### Alarms Commands\n\n| Command | Description |\n|---------|-------------|\n| `aws cloudwatch put-metric-alarm` | Create or update alarm |\n| `aws cloudwatch describe-alarms` | List alarms |\n| `aws cloudwatch set-alarm-state` | Manually set alarm state |\n| `aws cloudwatch delete-alarms` | Delete alarms |\n\n### Logs Commands\n\n| Command | Description |\n|---------|-------------|\n| `aws logs create-log-group` | Create log group |\n| `aws logs put-log-events` | Write log events |\n| `aws logs filter-log-events` | Search log events |\n| `aws logs start-query` | Start Insights query |\n| `aws logs put-metric-filter` | Create metric filter |\n| `aws logs put-retention-policy` | Set log retention |\n\n## Best Practices\n\n### Metrics\n\n- **Use dimensions wisely** — too many creates metric explosion\n- **Aggregate before publishing** — batch custom metrics\n- **Use high-resolution metrics** (1-second) only when needed\n- **Set meaningful units** for custom metrics\n\n### Alarms\n\n- **Use composite alarms** for complex conditions\n- **Set appropriate evaluation periods** to avoid flapping\n- **Include OK actions** to track recovery\n- **Use anomaly detection** for dynamic thresholds\n\n### Logs\n\n- **Set retention policies** — don't keep logs forever\n- **Use structured logging** (JSON) for better querying\n- **Create metric filters** for key events\n- **Use Contributor Insights** for top-N analysis\n\n### Cost Optimization\n\n- **Delete unused dashboards**\n- **Reduce log retention** for non-critical logs\n- **Avoid high-resolution metrics** unless necessary\n- **Use log subscription filters** instead of polling\n\n## Troubleshooting\n\n### Missing Metrics\n\n**Causes:**\n- Service not publishing yet (wait 1-5 minutes)\n- Wrong namespace/dimensions\n- Detailed monitoring not enabled (EC2)\n\n**Debug:**\n\n```bash\n# List metrics for a namespace\naws cloudwatch list-metrics \\\n  --namespace AWS/Lambda \\\n  --dimensions Name=FunctionName,Value=MyFunction\n```\n\n### Alarm Stuck in INSUFFICIENT_DATA\n\n**Causes:**\n- Metric not being published\n- Dimensions mismatch\n- Evaluation period too short\n\n**Debug:**\n\n```bash\n# Check if metric has data\naws cloudwatch get-metric-statistics \\\n  --namespace AWS/Lambda \\\n  --metric-name Invocations \\\n  --dimensions Name=FunctionName,Value=MyFunction \\\n  --start-time $(date -d '1 hour ago' -u +%Y-%m-%dT%H:%M:%SZ) \\\n  --end-time $(date -u +%Y-%m-%dT%H:%M:%SZ) \\\n  --period 60 \\\n  --statistics Sum\n```\n\n### Log Events Not Appearing\n\n**Causes:**\n- IAM permissions missing\n- CloudWatch Logs agent not running\n- Log group doesn't exist\n\n**Debug:**\n\n```bash\n# Check log streams\naws logs describe-log-streams \\\n  --log-group-name /aws/lambda/MyFunction \\\n  --order-by LastEventTime \\\n  --descending \\\n  --limit 5\n```\n\n### High CloudWatch Costs\n\n**Check usage:**\n\n```bash\n# Get PutLogEvents usage\naws cloudwatch get-metric-statistics \\\n  --namespace AWS/Logs \\\n  --metric-name IncomingBytes \\\n  --dimensions Name=LogGroupName,Value=/aws/lambda/MyFunction \\\n  --start-time $(date -d '7 days ago' -u +%Y-%m-%dT%H:%M:%SZ) \\\n  --end-time $(date -u +%Y-%m-%dT%H:%M:%SZ) \\\n  --period 86400 \\\n  --statistics Sum\n```\n\n## References\n\n- [CloudWatch User Guide](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/)\n- [CloudWatch Logs User Guide](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/)\n- [CloudWatch API Reference](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/)\n- [CloudWatch CLI Reference](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/)\n- [Logs Insights Query Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html)\n- [boto3 CloudWatch](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/cloudwatch.html)","tags":["cloudwatch","aws","agent","skills","itsmostafa","agent-skills","agentic-ai","claude-code","claude-skills","codex","coding-agents"],"capabilities":["skill","source-itsmostafa","skill-cloudwatch","topic-agent-skills","topic-agentic-ai","topic-aws","topic-claude-code","topic-claude-skills","topic-codex","topic-coding-agents"],"categories":["aws-agent-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/itsmostafa/aws-agent-skills/cloudwatch","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add itsmostafa/aws-agent-skills","source_repo":"https://github.com/itsmostafa/aws-agent-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 1085 github stars · SKILL.md body (10,112 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-03T00:52:58.242Z","embedding":null,"createdAt":"2026-04-18T21:55:37.824Z","updatedAt":"2026-05-03T00:52:58.242Z","lastSeenAt":"2026-05-03T00:52:58.242Z","tsv":"'-5':946 '/amazoncloudwatch/latest/apireference/)':1160 '/amazoncloudwatch/latest/logs/)':1154 '/amazoncloudwatch/latest/logs/cwl_querysyntax.html)':1173 '/amazoncloudwatch/latest/monitoring/)':1147 '/aws/lambda/myfunction':424,481,557,658,1077,1110 '/cli/latest/reference/cloudwatch/)':1166 '/error':448,496,662 '/v1/documentation/api/latest/reference/services/cloudwatch.html)':1178 '0':576,617,619,647 '1':246,258,304,314,402,430,524,574,595,641,669,842,945,1019 '100':377 '12':621,645,649 '123456789012':247,259,305,315,403 '1234567890abcdef0':209,236,275,296 '2':229,289 '20':664 '3':392 '300':219,283 '3600':485 '5':384,1084 '50':453,501 '6':623,651 '60':349,368,634,1041 '7':1116 '80':221 '80.0':285 '86400':1138 'action':166,176,182,239,251,395,869 'agent':1054 'aggreg':125,715,831 'ago':432,1021,1118 'alarm':8,17,164,173,188,194,202,204,238,270,320,327,329,394,725,734,738,743,745,750,754,760,762,853,856,974 'alarm-act':237,393 'alarm-nam':203,328 'alarmact':297 'alarmnam':271 'alert':248,260,306,316,404 'amazon':33 'analysi':908 'anomali':874 'api':1156 'appear':1047 'applic':29,43,139 'appropri':861 'arn':240,252,298,308,396 'auto':179 'autom':165 'avail':723 'averag':127,217,281 'avoid':865,922 'aw':2,31,40,58,136,189,197,241,253,299,309,322,397,415,457,547,671,690,699,708,717,729,739,746,756,767,776,785,794,802,811,962,997,1067,1094 'aws/ec2':215,279 'aws/lambda':105,340,359,629,968,1004 'aws/logs':1101 'base':167 'bash':191,321,409,540,609,956,991,1063,1090 'batch':834 'best':78,81,820 'best-practic':80 'better':893 'bodi':682 'boto3':261,264,466,469,582,1174 'boto3.amazonaws.com':1177 'boto3.amazonaws.com/v1/documentation/api/latest/reference/services/cloudwatch.html)':1176 'boto3.client':266,473,584 'break':522 'build':25 'cat':610 'caus':939,979,1048 'check':992,1064,1088 'cli':73,76,190,684,1162 'cli-refer':75 'cloudwatch':1,3,32,34,97,198,265,267,323,583,585,672,691,700,709,718,730,740,747,757,963,998,1052,1086,1095,1142,1148,1155,1161,1175 'cloudwatch.put':268,586 'collect':45,142 'command':687,688,726,727,764,765 'common':68,71,183 'common-pattern':70 'comparison':223,386 'comparison-oper':222,385 'comparisonoper':286 'complet':521 'complex':858 'compon':99 'composit':855 'concept':64,67,88 'condit':859 'configur':22 'contain':101 'content':62 'contributor':902 'core':63,66,87 'core-concept':65 'cost':909,1087 'count':546,597 'cpu':192 'cpuutil':213,277 'creat':16,185,532,541,607,735,770,773,808,828,895 'create-log-group':769 'critic':920 'custom':578,697,835,851 'd':429,1018,1115 'dashboard':10,26,608,675,677,681,913 'dashboard-bodi':680 'dashboard-nam':676 'dashboard.json':611,683 'data':93,134,175,588,695,704,978,996 'date':428,437,1017,1032,1114,1129 'day':1117 'debug':955,990,1062 'defaultvalu':575 'delet':759,761,911 'delete-alarm':758 'desc':451,499 'descend':1082 'describ':742,1070 'describe-alarm':741 'describe-log-stream':1069 'descript':689,728,766 'detail':950 'detect':875 'dimens':114,230,290,343,362,598,824,969,984,1009,1106 'docs.aws.amazon.com':1146,1153,1159,1165,1172 'docs.aws.amazon.com/amazoncloudwatch/latest/apireference/)':1158 'docs.aws.amazon.com/amazoncloudwatch/latest/logs/)':1152 'docs.aws.amazon.com/amazoncloudwatch/latest/logs/cwl_querysyntax.html)':1171 'docs.aws.amazon.com/amazoncloudwatch/latest/monitoring/)':1145 'docs.aws.amazon.com/cli/latest/reference/cloudwatch/)':1164 'doesn':1059 'dt':1025,1036,1122,1133 'dynam':877 'e.g':104,112,121 'east':245,257,303,313,401,640,668 'ec2':181,196,954 'enabl':50,953 'end':435,1030,1127 'end-tim':434,1029,1126 'endtim':486 'entri':159 'environ':59,600 'eof':612,670 'error':318,336,342,379,411,545,565,655 'errorcount':561,570 'errorr':374 'errors/invocations':376 'evalu':227,390,862,986 'evaluation-period':226,389 'evaluationperiod':288 'event':49,151,156,781,784,790,793,900,1045 'exist':1061 'explos':830 'express':375 'extract':535 'fals':353,372 'field':442,490 'filter':24,120,445,493,534,543,552,559,563,659,788,807,810,897,932 'filter-log-ev':787 'filter-nam':558 'filter-pattern':562 'find':410 'flap':866 'forev':887 'functionnam':122,345,364,631,971,1011 'get':454,460,702,711,714,1000,1091,1097 'get-metric-data':701 'get-metric-statist':710,999,1096 'get-query-result':459 'greaterthanthreshold':225,287,388 'group':141,422,555,772,775,1058,1075 'guid':1144,1151 'h':1026,1037,1123,1134 'height':622,650 'high':839,924,1085 'high-resolut':838,923 'highcpu':207,273 'highcpu-i-1234567890abcdef0':206,272 'hour':431,1020 'i-1234567890abcdef0':234,294 'iam':1049 'id':335,354,373,465,503,517 'import':263,468,470,581 'includ':867 'incomingbyt':1105 'individu':157 'insight':21,408,800,903,1168 'instanceid':232,292 'instead':933 'insuffici':174,977 'int':483,487 'invoc':113,355,361,627,630,1008 'issu':30 'json':891 'keep':885 'key':98,899 'label':378 'lambda':317,413,626 'lambdaerrorr':332 'lambdaerrorrate-myfunct':331 'lasteventtim':1081 'like':447,495,661 'limit':452,500,663,1083 'list':720,722,744,957,965 'list-metr':719,964 'log':6,19,47,132,133,140,144,146,150,155,158,406,414,416,421,458,472,474,538,548,554,643,763,768,771,774,777,780,783,786,789,792,795,803,812,818,879,886,890,915,921,930,1044,1053,1057,1065,1068,1071,1074,1149,1167 'log-group-nam':420,553,1073 'loggroupnam':480,1108 'logs.get':512 'logs.start':478 'm':1024,1027,1035,1038,1121,1124,1132,1135 'mani':827 'manual':752 'max':129 'meaning':848 'measur':111 'messag':163,444,446,492,494,660 'metric':7,23,46,89,103,106,169,187,201,211,269,326,334,338,357,533,536,542,551,567,579,587,615,628,686,694,698,703,706,712,721,724,733,806,809,822,829,836,841,852,896,926,938,958,966,980,994,1001,1006,1098,1103 'metric-nam':210,1005,1102 'metric-transform':566 'metricdata':591 'metricnam':276,341,360,569,592 'metricnamespac':571 'metricstat':337,356 'metricvalu':573 'min':128 'minut':947 'mismatch':985 'miss':937,1051 'monitor':4,15,36,53,951 'myapp':572,590 'myappdashboard':679 'myfunc':123 'myfunct':333,347,366,632,973,1013 'n':907 'name':107,108,116,205,212,231,291,330,344,363,423,556,560,599,603,678,970,1007,1010,1076,1104,1107 'name-valu':115 'namespac':100,214,278,339,358,589,961,967,1003,1100 'namespace/dimensions':949 'necessari':928 'need':846 'non':919 'non-crit':918 'notif':178 'observ':38 'ok':172,250,868 'ok-act':249 'okact':307 'oper':224,387 'optim':56,910 'order':92,1079 'order-bi':1078 'ordersprocess':593 'ordertyp':604 'pair':118 'pattern':69,72,184,539,564 'period':218,228,282,348,367,391,633,863,987,1040,1137 'permiss':1050 'pn':131 'point':94 'polici':816,882 'poll':935 'practic':79,82,821 'print':530 'product':602 'properti':624,652 'provid':35 'publish':95,577,696,833,942,983 'put':200,325,550,674,693,732,779,805,814 'put-dashboard':673 'put-log-ev':778 'put-metric-alarm':199,324,731 'put-metric-data':692 'put-metric-filt':549,804 'put-retention-polici':813 'putlogev':1092 'python':262,467,580 'queri':18,405,419,440,455,461,464,476,479,502,513,516,656,798,801,894,1169 'query-id':463 'query-str':439 'queryid':505,515 'querystr':489 'rate':319,380 'recent':654 'recoveri':872 'reduc':914 'refer':74,77,85,86,685,1141,1157,1163 'region':637,665 'resolut':840,925 'resourc':41 'respons':477,504 'result':456,462,508,511,514,519,528,529 'retent':815,819,881,916 'retriev':705 'returndata':352,371,381 'row':526,531 'run':1056 'samplecount':130 'scale':180 'search':791 'second':843 'sequenc':148 'servic':137,940 'set':13,749,753,817,847,860,880 'set-alarm-st':748 'short':989 'skill' 'skill-cloudwatch' 'sns':177,242,254,300,310,398 'sort':449,497 'sourc':154,657 'source-itsmostafa' 'standard':606 'start':418,426,475,797,799,1015,1112 'start-queri':417,796 'start-tim':425,1014,1111 'starttim':482 'stat':350,369,635 'state':171,751,755 'statist':124,216,280,713,716,1002,1042,1099,1139 'status':520 'stream':145,147,1066,1072 'string':441 'structur':889 'stuck':975 'subscript':931 'sum':126,351,370,636,1043,1140 'syntax':1170 'sz':1028,1039,1125,1136 'tabl':60 'threshold':170,220,284,383,878 'time':91,427,436,471,1016,1031,1113,1128 'time-ord':90 'time.sleep':523 'time.time':484,488 'timestamp':161,443,450,491,498 'titl':625,653 'top':906 'top-n':905 'topic-agent-skills' 'topic-agentic-ai' 'topic-aws' 'topic-claude-code' 'topic-claude-skills' 'topic-codex' 'topic-coding-agents' 'track':871 'transform':568 'troubleshoot':28,54,83,84,936 'true':382,510 'type':614,642 'u':1022,1033,1119,1130 'unit':596,849 'unless':927 'unus':912 'updat':737 'us':244,256,302,312,400,639,667 'us-east':243,255,301,311,399,638,666 'usag':1089,1093 'use':11,823,837,854,873,888,901,929 'user':1143,1150 'util':193 'valu':117,233,293,346,365,594,601,605,707,972,1012,1109 'wait':506,944 'widget':613 'width':620,648 'wise':825 'write':782 'wrong':948 'x':616,644 'y':618,646,1023,1034,1120,1131 'yet':943","prices":[{"id":"5d6f7357-f964-4b8a-9e80-73fbb2cba844","listingId":"73c87dab-d61b-41b1-9184-f9fb7f44bbcc","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"itsmostafa","category":"aws-agent-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:55:37.824Z"}],"sources":[{"listingId":"73c87dab-d61b-41b1-9184-f9fb7f44bbcc","source":"github","sourceId":"itsmostafa/aws-agent-skills/cloudwatch","sourceUrl":"https://github.com/itsmostafa/aws-agent-skills/tree/main/skills/cloudwatch","isPrimary":false,"firstSeenAt":"2026-04-18T21:55:37.824Z","lastSeenAt":"2026-05-03T00:52:58.242Z"}],"details":{"listingId":"73c87dab-d61b-41b1-9184-f9fb7f44bbcc","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"itsmostafa","slug":"cloudwatch","github":{"repo":"itsmostafa/aws-agent-skills","stars":1085,"topics":["agent-skills","agentic-ai","aws","claude-code","claude-skills","codex","coding-agents"],"license":"mit","html_url":"https://github.com/itsmostafa/aws-agent-skills","pushed_at":"2026-04-27T09:45:24Z","description":"AWS Skills for Agents","skill_md_sha":"d0a48debb285d40604c3215110c7d442e966c274","skill_md_path":"skills/cloudwatch/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/itsmostafa/aws-agent-skills/tree/main/skills/cloudwatch"},"layout":"multi","source":"github","category":"aws-agent-skills","frontmatter":{"name":"cloudwatch","description":"AWS CloudWatch monitoring for logs, metrics, alarms, and dashboards. Use when setting up monitoring, creating alarms, querying logs with Insights, configuring metric filters, building dashboards, or troubleshooting application issues."},"skills_sh_url":"https://skills.sh/itsmostafa/aws-agent-skills/cloudwatch"},"updatedAt":"2026-05-03T00:52:58.242Z"}}