[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-aws-labs-aws-health-check":3,"mdc--d299ii-key":37,"related-org-aws-labs-aws-health-check":1439,"related-repo-aws-labs-aws-health-check":1617},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":26,"repoUrl":27,"updatedAt":28,"license":29,"forks":30,"topics":31,"repo":32,"sourceUrl":35,"mdContent":36},"aws-health-check","perform AWS account health checks","Quick health check on the current AWS account — security posture, cost waste, reliability gaps, and operational readiness. Lighter than a full Well-Architected review.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"aws-labs","AWS Labs","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Faws-labs.png","awslabs",[13,17,20,23],{"name":14,"slug":15,"type":16},"Security","security","tag",{"name":18,"slug":19,"type":16},"Operations","operations",{"name":21,"slug":22,"type":16},"Cost Optimization","cost-optimization",{"name":24,"slug":25,"type":16},"AWS","aws",14,"https:\u002F\u002Fgithub.com\u002Fawslabs\u002Fstartups","2026-07-12T08:40:26.737995",null,15,[],{"repoUrl":27,"stars":26,"forks":30,"topics":33,"description":34},[],"Official AWS Startups repository that hosts plugins, skills, tools and resources to support startup builders on AWS","https:\u002F\u002Fgithub.com\u002Fawslabs\u002Fstartups\u002Ftree\u002FHEAD\u002Fsolution-architecture\u002Fplugins\u002Faws-dev-toolkit\u002Fskills\u002Faws-health-check","---\nname: aws-health-check\ndescription: Quick health check on the current AWS account — security posture, cost waste, reliability gaps, and operational readiness. Lighter than a full Well-Architected review.\ndisable-model-invocation: true\nargument-hint: [region or \"all\"]\nallowed-tools: Read, Grep, Glob, Bash(aws *)\n---\n\nYou are running a quick AWS account health assessment. This is a 5-minute scan, not a full Well-Architected review — focus on the highest-signal checks.\n\n## Process\n\n1. Confirm identity: `aws sts get-caller-identity`\n2. Determine scope: use $ARGUMENTS for region, or default to the configured region\n3. Run the checks below in order\n4. Produce a summary report\n\n## Quick Checks\n\n### Security (Critical — check first)\n\n```bash\n# GuardDuty enabled?\naws guardduty list-detectors --region $REGION\n\n# CloudTrail multi-region?\naws cloudtrail describe-trails --query 'trailList[].{Name:Name,Multi:IsMultiRegionTrail}'\n\n# Public S3 buckets?\nfor bucket in $(aws s3api list-buckets --query 'Buckets[].Name' --output text); do\n  status=$(aws s3api get-public-access-block --bucket $bucket 2>\u002Fdev\u002Fnull | grep -c \"true\" || echo \"0\")\n  [ \"$status\" -lt 4 ] && echo \"WARNING: $bucket may have public access\"\ndone\n\n# Security groups with 0.0.0.0\u002F0 on non-HTTP ports\naws ec2 describe-security-groups --query 'SecurityGroups[?IpPermissions[?IpRanges[?CidrIp==`0.0.0.0\u002F0`]]]' \\\n  --output json | jq -r '.[] | select(.IpPermissions[] | select(.FromPort != 80 and .FromPort != 443 and .FromPort != null)) | .GroupId + \" \" + .GroupName'\n\n# Public RDS instances\naws rds describe-db-instances --query 'DBInstances[?PubliclyAccessible==`true`].{ID:DBInstanceIdentifier,Engine:Engine}'\n\n# IMDSv2 enforcement\naws ec2 describe-instances --query 'Reservations[].Instances[?MetadataOptions.HttpTokens!=`required`].{ID:InstanceId,Name:Tags[?Key==`Name`].Value|[0],IMDS:MetadataOptions.HttpTokens}'\n```\n\n### Cost Waste\n\n```bash\n# Unattached EBS volumes\naws ec2 describe-volumes --filters \"Name=status,Values=available\" --query 'Volumes[].{ID:VolumeId,Size:Size,Type:VolumeType}'\n\n# Unassociated Elastic IPs (charged when idle)\naws ec2 describe-addresses --query 'Addresses[?AssociationId==null].{IP:PublicIp}'\n\n# Stopped instances still incurring EBS charges\naws ec2 describe-instances --filters \"Name=instance-state-name,Values=stopped\" --query 'Reservations[].Instances[].{ID:InstanceId,Name:Tags[?Key==`Name`].Value|[0],Type:InstanceType}'\n```\n\n### Reliability\n\n```bash\n# Single-AZ RDS (risky for production)\naws rds describe-db-instances --query 'DBInstances[?MultiAZ==`false`].{ID:DBInstanceIdentifier,Engine:Engine}'\n\n# No auto-scaling groups (static capacity)\naws autoscaling describe-auto-scaling-groups --query 'AutoScalingGroups[?MinSize==MaxSize].{Name:AutoScalingGroupName,Size:MinSize}'\n```\n\n## Output Format\n\n```markdown\n# AWS Account Health Check\n\n**Account**: [ID] | **Region**: [region] | **Date**: [today]\n\n## Score: [X\u002F10]\n\n## Findings\n\n### Critical (fix now)\n\n- ...\n\n### Warning (fix soon)\n\n- ...\n\n### Good (keep doing this)\n\n- ...\n\n## Quick Wins\n\n1. [Easiest high-impact fix]\n2. [Next easiest]\n3. [...]\n\n## SCP Gaps\n\n[If no SCPs detected, recommend baseline guardrails per CLAUDE.md]\n```\n\n## Rules\n\n- Every finding must come from an actual CLI command output. Never guess.\n- Don't alarm on dev\u002Fsandbox accounts — ask about the account purpose first.\n- Keep it concise — this is a quick check, not a 50-page audit.\n",{"data":38,"body":43},{"name":4,"description":6,"disable-model-invocation":39,"argument-hint":40,"allowed-tools":42},true,[41],"region or \"all\"","Read, Grep, Glob, Bash(aws *)",{"type":44,"children":45},"root",[46,54,61,93,99,106,696,702,880,886,982,988,1408,1414,1433],{"type":47,"tag":48,"props":49,"children":50},"element","p",{},[51],{"type":52,"value":53},"text","You are running a quick AWS account health assessment. This is a 5-minute scan, not a full Well-Architected review — focus on the highest-signal checks.",{"type":47,"tag":55,"props":56,"children":58},"h2",{"id":57},"process",[59],{"type":52,"value":60},"Process",{"type":47,"tag":62,"props":63,"children":64},"ol",{},[65,78,83,88],{"type":47,"tag":66,"props":67,"children":68},"li",{},[69,71],{"type":52,"value":70},"Confirm identity: ",{"type":47,"tag":72,"props":73,"children":75},"code",{"className":74},[],[76],{"type":52,"value":77},"aws sts get-caller-identity",{"type":47,"tag":66,"props":79,"children":80},{},[81],{"type":52,"value":82},"Determine scope: use $ARGUMENTS for region, or default to the configured region",{"type":47,"tag":66,"props":84,"children":85},{},[86],{"type":52,"value":87},"Run the checks below in order",{"type":47,"tag":66,"props":89,"children":90},{},[91],{"type":52,"value":92},"Produce a summary report",{"type":47,"tag":55,"props":94,"children":96},{"id":95},"quick-checks",[97],{"type":52,"value":98},"Quick Checks",{"type":47,"tag":100,"props":101,"children":103},"h3",{"id":102},"security-critical-check-first",[104],{"type":52,"value":105},"Security (Critical — check first)",{"type":47,"tag":107,"props":108,"children":113},"pre",{"className":109,"code":110,"language":111,"meta":112,"style":112},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# GuardDuty enabled?\naws guardduty list-detectors --region $REGION\n\n# CloudTrail multi-region?\naws cloudtrail describe-trails --query 'trailList[].{Name:Name,Multi:IsMultiRegionTrail}'\n\n# Public S3 buckets?\nfor bucket in $(aws s3api list-buckets --query 'Buckets[].Name' --output text); do\n  status=$(aws s3api get-public-access-block --bucket $bucket 2>\u002Fdev\u002Fnull | grep -c \"true\" || echo \"0\")\n  [ \"$status\" -lt 4 ] && echo \"WARNING: $bucket may have public access\"\ndone\n\n# Security groups with 0.0.0.0\u002F0 on non-HTTP ports\naws ec2 describe-security-groups --query 'SecurityGroups[?IpPermissions[?IpRanges[?CidrIp==`0.0.0.0\u002F0`]]]' \\\n  --output json | jq -r '.[] | select(.IpPermissions[] | select(.FromPort != 80 and .FromPort != 443 and .FromPort != null)) | .GroupId + \" \" + .GroupName'\n\n# Public RDS instances\naws rds describe-db-instances --query 'DBInstances[?PubliclyAccessible==`true`].{ID:DBInstanceIdentifier,Engine:Engine}'\n\n# IMDSv2 enforcement\naws ec2 describe-instances --query 'Reservations[].Instances[?MetadataOptions.HttpTokens!=`required`].{ID:InstanceId,Name:Tags[?Key==`Name`].Value|[0],IMDS:MetadataOptions.HttpTokens}'\n","bash","",[114],{"type":47,"tag":72,"props":115,"children":116},{"__ignoreMap":112},[117,129,160,169,178,217,225,234,311,417,488,497,505,514,553,593,601,610,645,653,662],{"type":47,"tag":118,"props":119,"children":122},"span",{"class":120,"line":121},"line",1,[123],{"type":47,"tag":118,"props":124,"children":126},{"style":125},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[127],{"type":52,"value":128},"# GuardDuty enabled?\n",{"type":47,"tag":118,"props":130,"children":132},{"class":120,"line":131},2,[133,138,144,149,154],{"type":47,"tag":118,"props":134,"children":136},{"style":135},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[137],{"type":52,"value":25},{"type":47,"tag":118,"props":139,"children":141},{"style":140},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[142],{"type":52,"value":143}," guardduty",{"type":47,"tag":118,"props":145,"children":146},{"style":140},[147],{"type":52,"value":148}," list-detectors",{"type":47,"tag":118,"props":150,"children":151},{"style":140},[152],{"type":52,"value":153}," --region",{"type":47,"tag":118,"props":155,"children":157},{"style":156},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[158],{"type":52,"value":159}," $REGION\n",{"type":47,"tag":118,"props":161,"children":163},{"class":120,"line":162},3,[164],{"type":47,"tag":118,"props":165,"children":166},{"emptyLinePlaceholder":39},[167],{"type":52,"value":168},"\n",{"type":47,"tag":118,"props":170,"children":172},{"class":120,"line":171},4,[173],{"type":47,"tag":118,"props":174,"children":175},{"style":125},[176],{"type":52,"value":177},"# CloudTrail multi-region?\n",{"type":47,"tag":118,"props":179,"children":181},{"class":120,"line":180},5,[182,186,191,196,201,207,212],{"type":47,"tag":118,"props":183,"children":184},{"style":135},[185],{"type":52,"value":25},{"type":47,"tag":118,"props":187,"children":188},{"style":140},[189],{"type":52,"value":190}," cloudtrail",{"type":47,"tag":118,"props":192,"children":193},{"style":140},[194],{"type":52,"value":195}," describe-trails",{"type":47,"tag":118,"props":197,"children":198},{"style":140},[199],{"type":52,"value":200}," --query",{"type":47,"tag":118,"props":202,"children":204},{"style":203},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[205],{"type":52,"value":206}," '",{"type":47,"tag":118,"props":208,"children":209},{"style":140},[210],{"type":52,"value":211},"trailList[].{Name:Name,Multi:IsMultiRegionTrail}",{"type":47,"tag":118,"props":213,"children":214},{"style":203},[215],{"type":52,"value":216},"'\n",{"type":47,"tag":118,"props":218,"children":220},{"class":120,"line":219},6,[221],{"type":47,"tag":118,"props":222,"children":223},{"emptyLinePlaceholder":39},[224],{"type":52,"value":168},{"type":47,"tag":118,"props":226,"children":228},{"class":120,"line":227},7,[229],{"type":47,"tag":118,"props":230,"children":231},{"style":125},[232],{"type":52,"value":233},"# Public S3 buckets?\n",{"type":47,"tag":118,"props":235,"children":237},{"class":120,"line":236},8,[238,244,249,254,259,263,268,273,277,281,286,291,296,301,306],{"type":47,"tag":118,"props":239,"children":241},{"style":240},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[242],{"type":52,"value":243},"for",{"type":47,"tag":118,"props":245,"children":246},{"style":156},[247],{"type":52,"value":248}," bucket ",{"type":47,"tag":118,"props":250,"children":251},{"style":240},[252],{"type":52,"value":253},"in",{"type":47,"tag":118,"props":255,"children":256},{"style":203},[257],{"type":52,"value":258}," $(",{"type":47,"tag":118,"props":260,"children":261},{"style":135},[262],{"type":52,"value":25},{"type":47,"tag":118,"props":264,"children":265},{"style":140},[266],{"type":52,"value":267}," s3api",{"type":47,"tag":118,"props":269,"children":270},{"style":140},[271],{"type":52,"value":272}," list-buckets",{"type":47,"tag":118,"props":274,"children":275},{"style":140},[276],{"type":52,"value":200},{"type":47,"tag":118,"props":278,"children":279},{"style":203},[280],{"type":52,"value":206},{"type":47,"tag":118,"props":282,"children":283},{"style":140},[284],{"type":52,"value":285},"Buckets[].Name",{"type":47,"tag":118,"props":287,"children":288},{"style":203},[289],{"type":52,"value":290},"'",{"type":47,"tag":118,"props":292,"children":293},{"style":140},[294],{"type":52,"value":295}," --output",{"type":47,"tag":118,"props":297,"children":298},{"style":140},[299],{"type":52,"value":300}," text",{"type":47,"tag":118,"props":302,"children":303},{"style":203},[304],{"type":52,"value":305},");",{"type":47,"tag":118,"props":307,"children":308},{"style":240},[309],{"type":52,"value":310}," do\n",{"type":47,"tag":118,"props":312,"children":314},{"class":120,"line":313},9,[315,320,325,329,333,338,343,348,353,358,363,368,373,378,383,388,393,399,403,408,412],{"type":47,"tag":118,"props":316,"children":317},{"style":156},[318],{"type":52,"value":319},"  status",{"type":47,"tag":118,"props":321,"children":322},{"style":203},[323],{"type":52,"value":324},"=$(",{"type":47,"tag":118,"props":326,"children":327},{"style":135},[328],{"type":52,"value":25},{"type":47,"tag":118,"props":330,"children":331},{"style":140},[332],{"type":52,"value":267},{"type":47,"tag":118,"props":334,"children":335},{"style":140},[336],{"type":52,"value":337}," get-public-access-block",{"type":47,"tag":118,"props":339,"children":340},{"style":140},[341],{"type":52,"value":342}," --bucket",{"type":47,"tag":118,"props":344,"children":345},{"style":156},[346],{"type":52,"value":347}," $bucket ",{"type":47,"tag":118,"props":349,"children":350},{"style":203},[351],{"type":52,"value":352},"2>",{"type":47,"tag":118,"props":354,"children":355},{"style":140},[356],{"type":52,"value":357},"\u002Fdev\u002Fnull",{"type":47,"tag":118,"props":359,"children":360},{"style":203},[361],{"type":52,"value":362}," |",{"type":47,"tag":118,"props":364,"children":365},{"style":135},[366],{"type":52,"value":367}," grep",{"type":47,"tag":118,"props":369,"children":370},{"style":140},[371],{"type":52,"value":372}," -c",{"type":47,"tag":118,"props":374,"children":375},{"style":203},[376],{"type":52,"value":377}," \"",{"type":47,"tag":118,"props":379,"children":380},{"style":140},[381],{"type":52,"value":382},"true",{"type":47,"tag":118,"props":384,"children":385},{"style":203},[386],{"type":52,"value":387},"\"",{"type":47,"tag":118,"props":389,"children":390},{"style":203},[391],{"type":52,"value":392}," ||",{"type":47,"tag":118,"props":394,"children":396},{"style":395},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[397],{"type":52,"value":398}," echo",{"type":47,"tag":118,"props":400,"children":401},{"style":203},[402],{"type":52,"value":377},{"type":47,"tag":118,"props":404,"children":405},{"style":140},[406],{"type":52,"value":407},"0",{"type":47,"tag":118,"props":409,"children":410},{"style":203},[411],{"type":52,"value":387},{"type":47,"tag":118,"props":413,"children":414},{"style":203},[415],{"type":52,"value":416},")\n",{"type":47,"tag":118,"props":418,"children":420},{"class":120,"line":419},10,[421,426,430,435,439,444,450,455,460,464,468,473,478,483],{"type":47,"tag":118,"props":422,"children":423},{"style":203},[424],{"type":52,"value":425},"  [",{"type":47,"tag":118,"props":427,"children":428},{"style":203},[429],{"type":52,"value":377},{"type":47,"tag":118,"props":431,"children":432},{"style":156},[433],{"type":52,"value":434},"$status",{"type":47,"tag":118,"props":436,"children":437},{"style":203},[438],{"type":52,"value":387},{"type":47,"tag":118,"props":440,"children":441},{"style":203},[442],{"type":52,"value":443}," -lt",{"type":47,"tag":118,"props":445,"children":447},{"style":446},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[448],{"type":52,"value":449}," 4",{"type":47,"tag":118,"props":451,"children":452},{"style":203},[453],{"type":52,"value":454}," ]",{"type":47,"tag":118,"props":456,"children":457},{"style":203},[458],{"type":52,"value":459}," &&",{"type":47,"tag":118,"props":461,"children":462},{"style":395},[463],{"type":52,"value":398},{"type":47,"tag":118,"props":465,"children":466},{"style":203},[467],{"type":52,"value":377},{"type":47,"tag":118,"props":469,"children":470},{"style":140},[471],{"type":52,"value":472},"WARNING: ",{"type":47,"tag":118,"props":474,"children":475},{"style":156},[476],{"type":52,"value":477},"$bucket",{"type":47,"tag":118,"props":479,"children":480},{"style":140},[481],{"type":52,"value":482}," may have public access",{"type":47,"tag":118,"props":484,"children":485},{"style":203},[486],{"type":52,"value":487},"\"\n",{"type":47,"tag":118,"props":489,"children":491},{"class":120,"line":490},11,[492],{"type":47,"tag":118,"props":493,"children":494},{"style":240},[495],{"type":52,"value":496},"done\n",{"type":47,"tag":118,"props":498,"children":500},{"class":120,"line":499},12,[501],{"type":47,"tag":118,"props":502,"children":503},{"emptyLinePlaceholder":39},[504],{"type":52,"value":168},{"type":47,"tag":118,"props":506,"children":508},{"class":120,"line":507},13,[509],{"type":47,"tag":118,"props":510,"children":511},{"style":125},[512],{"type":52,"value":513},"# Security groups with 0.0.0.0\u002F0 on non-HTTP ports\n",{"type":47,"tag":118,"props":515,"children":516},{"class":120,"line":26},[517,521,526,531,535,539,544,548],{"type":47,"tag":118,"props":518,"children":519},{"style":135},[520],{"type":52,"value":25},{"type":47,"tag":118,"props":522,"children":523},{"style":140},[524],{"type":52,"value":525}," ec2",{"type":47,"tag":118,"props":527,"children":528},{"style":140},[529],{"type":52,"value":530}," describe-security-groups",{"type":47,"tag":118,"props":532,"children":533},{"style":140},[534],{"type":52,"value":200},{"type":47,"tag":118,"props":536,"children":537},{"style":203},[538],{"type":52,"value":206},{"type":47,"tag":118,"props":540,"children":541},{"style":140},[542],{"type":52,"value":543},"SecurityGroups[?IpPermissions[?IpRanges[?CidrIp==`0.0.0.0\u002F0`]]]",{"type":47,"tag":118,"props":545,"children":546},{"style":203},[547],{"type":52,"value":290},{"type":47,"tag":118,"props":549,"children":550},{"style":156},[551],{"type":52,"value":552}," \\\n",{"type":47,"tag":118,"props":554,"children":555},{"class":120,"line":30},[556,561,566,570,575,580,584,589],{"type":47,"tag":118,"props":557,"children":558},{"style":140},[559],{"type":52,"value":560},"  --output",{"type":47,"tag":118,"props":562,"children":563},{"style":140},[564],{"type":52,"value":565}," json",{"type":47,"tag":118,"props":567,"children":568},{"style":203},[569],{"type":52,"value":362},{"type":47,"tag":118,"props":571,"children":572},{"style":135},[573],{"type":52,"value":574}," jq",{"type":47,"tag":118,"props":576,"children":577},{"style":140},[578],{"type":52,"value":579}," -r",{"type":47,"tag":118,"props":581,"children":582},{"style":203},[583],{"type":52,"value":206},{"type":47,"tag":118,"props":585,"children":586},{"style":140},[587],{"type":52,"value":588},".[] | select(.IpPermissions[] | select(.FromPort != 80 and .FromPort != 443 and .FromPort != null)) | .GroupId + \" \" + .GroupName",{"type":47,"tag":118,"props":590,"children":591},{"style":203},[592],{"type":52,"value":216},{"type":47,"tag":118,"props":594,"children":596},{"class":120,"line":595},16,[597],{"type":47,"tag":118,"props":598,"children":599},{"emptyLinePlaceholder":39},[600],{"type":52,"value":168},{"type":47,"tag":118,"props":602,"children":604},{"class":120,"line":603},17,[605],{"type":47,"tag":118,"props":606,"children":607},{"style":125},[608],{"type":52,"value":609},"# Public RDS instances\n",{"type":47,"tag":118,"props":611,"children":613},{"class":120,"line":612},18,[614,618,623,628,632,636,641],{"type":47,"tag":118,"props":615,"children":616},{"style":135},[617],{"type":52,"value":25},{"type":47,"tag":118,"props":619,"children":620},{"style":140},[621],{"type":52,"value":622}," rds",{"type":47,"tag":118,"props":624,"children":625},{"style":140},[626],{"type":52,"value":627}," describe-db-instances",{"type":47,"tag":118,"props":629,"children":630},{"style":140},[631],{"type":52,"value":200},{"type":47,"tag":118,"props":633,"children":634},{"style":203},[635],{"type":52,"value":206},{"type":47,"tag":118,"props":637,"children":638},{"style":140},[639],{"type":52,"value":640},"DBInstances[?PubliclyAccessible==`true`].{ID:DBInstanceIdentifier,Engine:Engine}",{"type":47,"tag":118,"props":642,"children":643},{"style":203},[644],{"type":52,"value":216},{"type":47,"tag":118,"props":646,"children":648},{"class":120,"line":647},19,[649],{"type":47,"tag":118,"props":650,"children":651},{"emptyLinePlaceholder":39},[652],{"type":52,"value":168},{"type":47,"tag":118,"props":654,"children":656},{"class":120,"line":655},20,[657],{"type":47,"tag":118,"props":658,"children":659},{"style":125},[660],{"type":52,"value":661},"# IMDSv2 enforcement\n",{"type":47,"tag":118,"props":663,"children":665},{"class":120,"line":664},21,[666,670,674,679,683,687,692],{"type":47,"tag":118,"props":667,"children":668},{"style":135},[669],{"type":52,"value":25},{"type":47,"tag":118,"props":671,"children":672},{"style":140},[673],{"type":52,"value":525},{"type":47,"tag":118,"props":675,"children":676},{"style":140},[677],{"type":52,"value":678}," describe-instances",{"type":47,"tag":118,"props":680,"children":681},{"style":140},[682],{"type":52,"value":200},{"type":47,"tag":118,"props":684,"children":685},{"style":203},[686],{"type":52,"value":206},{"type":47,"tag":118,"props":688,"children":689},{"style":140},[690],{"type":52,"value":691},"Reservations[].Instances[?MetadataOptions.HttpTokens!=`required`].{ID:InstanceId,Name:Tags[?Key==`Name`].Value|[0],IMDS:MetadataOptions.HttpTokens}",{"type":47,"tag":118,"props":693,"children":694},{"style":203},[695],{"type":52,"value":216},{"type":47,"tag":100,"props":697,"children":699},{"id":698},"cost-waste",[700],{"type":52,"value":701},"Cost Waste",{"type":47,"tag":107,"props":703,"children":705},{"className":109,"code":704,"language":111,"meta":112,"style":112},"# Unattached EBS volumes\naws ec2 describe-volumes --filters \"Name=status,Values=available\" --query 'Volumes[].{ID:VolumeId,Size:Size,Type:VolumeType}'\n\n# Unassociated Elastic IPs (charged when idle)\naws ec2 describe-addresses --query 'Addresses[?AssociationId==null].{IP:PublicIp}'\n\n# Stopped instances still incurring EBS charges\naws ec2 describe-instances --filters \"Name=instance-state-name,Values=stopped\" --query 'Reservations[].Instances[].{ID:InstanceId,Name:Tags[?Key==`Name`].Value|[0],Type:InstanceType}'\n",[706],{"type":47,"tag":72,"props":707,"children":708},{"__ignoreMap":112},[709,717,768,775,783,816,823,831],{"type":47,"tag":118,"props":710,"children":711},{"class":120,"line":121},[712],{"type":47,"tag":118,"props":713,"children":714},{"style":125},[715],{"type":52,"value":716},"# Unattached EBS volumes\n",{"type":47,"tag":118,"props":718,"children":719},{"class":120,"line":131},[720,724,728,733,738,742,747,751,755,759,764],{"type":47,"tag":118,"props":721,"children":722},{"style":135},[723],{"type":52,"value":25},{"type":47,"tag":118,"props":725,"children":726},{"style":140},[727],{"type":52,"value":525},{"type":47,"tag":118,"props":729,"children":730},{"style":140},[731],{"type":52,"value":732}," describe-volumes",{"type":47,"tag":118,"props":734,"children":735},{"style":140},[736],{"type":52,"value":737}," --filters",{"type":47,"tag":118,"props":739,"children":740},{"style":203},[741],{"type":52,"value":377},{"type":47,"tag":118,"props":743,"children":744},{"style":140},[745],{"type":52,"value":746},"Name=status,Values=available",{"type":47,"tag":118,"props":748,"children":749},{"style":203},[750],{"type":52,"value":387},{"type":47,"tag":118,"props":752,"children":753},{"style":140},[754],{"type":52,"value":200},{"type":47,"tag":118,"props":756,"children":757},{"style":203},[758],{"type":52,"value":206},{"type":47,"tag":118,"props":760,"children":761},{"style":140},[762],{"type":52,"value":763},"Volumes[].{ID:VolumeId,Size:Size,Type:VolumeType}",{"type":47,"tag":118,"props":765,"children":766},{"style":203},[767],{"type":52,"value":216},{"type":47,"tag":118,"props":769,"children":770},{"class":120,"line":162},[771],{"type":47,"tag":118,"props":772,"children":773},{"emptyLinePlaceholder":39},[774],{"type":52,"value":168},{"type":47,"tag":118,"props":776,"children":777},{"class":120,"line":171},[778],{"type":47,"tag":118,"props":779,"children":780},{"style":125},[781],{"type":52,"value":782},"# Unassociated Elastic IPs (charged when idle)\n",{"type":47,"tag":118,"props":784,"children":785},{"class":120,"line":180},[786,790,794,799,803,807,812],{"type":47,"tag":118,"props":787,"children":788},{"style":135},[789],{"type":52,"value":25},{"type":47,"tag":118,"props":791,"children":792},{"style":140},[793],{"type":52,"value":525},{"type":47,"tag":118,"props":795,"children":796},{"style":140},[797],{"type":52,"value":798}," describe-addresses",{"type":47,"tag":118,"props":800,"children":801},{"style":140},[802],{"type":52,"value":200},{"type":47,"tag":118,"props":804,"children":805},{"style":203},[806],{"type":52,"value":206},{"type":47,"tag":118,"props":808,"children":809},{"style":140},[810],{"type":52,"value":811},"Addresses[?AssociationId==null].{IP:PublicIp}",{"type":47,"tag":118,"props":813,"children":814},{"style":203},[815],{"type":52,"value":216},{"type":47,"tag":118,"props":817,"children":818},{"class":120,"line":219},[819],{"type":47,"tag":118,"props":820,"children":821},{"emptyLinePlaceholder":39},[822],{"type":52,"value":168},{"type":47,"tag":118,"props":824,"children":825},{"class":120,"line":227},[826],{"type":47,"tag":118,"props":827,"children":828},{"style":125},[829],{"type":52,"value":830},"# Stopped instances still incurring EBS charges\n",{"type":47,"tag":118,"props":832,"children":833},{"class":120,"line":236},[834,838,842,846,850,854,859,863,867,871,876],{"type":47,"tag":118,"props":835,"children":836},{"style":135},[837],{"type":52,"value":25},{"type":47,"tag":118,"props":839,"children":840},{"style":140},[841],{"type":52,"value":525},{"type":47,"tag":118,"props":843,"children":844},{"style":140},[845],{"type":52,"value":678},{"type":47,"tag":118,"props":847,"children":848},{"style":140},[849],{"type":52,"value":737},{"type":47,"tag":118,"props":851,"children":852},{"style":203},[853],{"type":52,"value":377},{"type":47,"tag":118,"props":855,"children":856},{"style":140},[857],{"type":52,"value":858},"Name=instance-state-name,Values=stopped",{"type":47,"tag":118,"props":860,"children":861},{"style":203},[862],{"type":52,"value":387},{"type":47,"tag":118,"props":864,"children":865},{"style":140},[866],{"type":52,"value":200},{"type":47,"tag":118,"props":868,"children":869},{"style":203},[870],{"type":52,"value":206},{"type":47,"tag":118,"props":872,"children":873},{"style":140},[874],{"type":52,"value":875},"Reservations[].Instances[].{ID:InstanceId,Name:Tags[?Key==`Name`].Value|[0],Type:InstanceType}",{"type":47,"tag":118,"props":877,"children":878},{"style":203},[879],{"type":52,"value":216},{"type":47,"tag":100,"props":881,"children":883},{"id":882},"reliability",[884],{"type":52,"value":885},"Reliability",{"type":47,"tag":107,"props":887,"children":889},{"className":109,"code":888,"language":111,"meta":112,"style":112},"# Single-AZ RDS (risky for production)\naws rds describe-db-instances --query 'DBInstances[?MultiAZ==`false`].{ID:DBInstanceIdentifier,Engine:Engine}'\n\n# No auto-scaling groups (static capacity)\naws autoscaling describe-auto-scaling-groups --query 'AutoScalingGroups[?MinSize==MaxSize].{Name:AutoScalingGroupName,Size:MinSize}'\n",[890],{"type":47,"tag":72,"props":891,"children":892},{"__ignoreMap":112},[893,901,933,940,948],{"type":47,"tag":118,"props":894,"children":895},{"class":120,"line":121},[896],{"type":47,"tag":118,"props":897,"children":898},{"style":125},[899],{"type":52,"value":900},"# Single-AZ RDS (risky for production)\n",{"type":47,"tag":118,"props":902,"children":903},{"class":120,"line":131},[904,908,912,916,920,924,929],{"type":47,"tag":118,"props":905,"children":906},{"style":135},[907],{"type":52,"value":25},{"type":47,"tag":118,"props":909,"children":910},{"style":140},[911],{"type":52,"value":622},{"type":47,"tag":118,"props":913,"children":914},{"style":140},[915],{"type":52,"value":627},{"type":47,"tag":118,"props":917,"children":918},{"style":140},[919],{"type":52,"value":200},{"type":47,"tag":118,"props":921,"children":922},{"style":203},[923],{"type":52,"value":206},{"type":47,"tag":118,"props":925,"children":926},{"style":140},[927],{"type":52,"value":928},"DBInstances[?MultiAZ==`false`].{ID:DBInstanceIdentifier,Engine:Engine}",{"type":47,"tag":118,"props":930,"children":931},{"style":203},[932],{"type":52,"value":216},{"type":47,"tag":118,"props":934,"children":935},{"class":120,"line":162},[936],{"type":47,"tag":118,"props":937,"children":938},{"emptyLinePlaceholder":39},[939],{"type":52,"value":168},{"type":47,"tag":118,"props":941,"children":942},{"class":120,"line":171},[943],{"type":47,"tag":118,"props":944,"children":945},{"style":125},[946],{"type":52,"value":947},"# No auto-scaling groups (static capacity)\n",{"type":47,"tag":118,"props":949,"children":950},{"class":120,"line":180},[951,955,960,965,969,973,978],{"type":47,"tag":118,"props":952,"children":953},{"style":135},[954],{"type":52,"value":25},{"type":47,"tag":118,"props":956,"children":957},{"style":140},[958],{"type":52,"value":959}," autoscaling",{"type":47,"tag":118,"props":961,"children":962},{"style":140},[963],{"type":52,"value":964}," describe-auto-scaling-groups",{"type":47,"tag":118,"props":966,"children":967},{"style":140},[968],{"type":52,"value":200},{"type":47,"tag":118,"props":970,"children":971},{"style":203},[972],{"type":52,"value":206},{"type":47,"tag":118,"props":974,"children":975},{"style":140},[976],{"type":52,"value":977},"AutoScalingGroups[?MinSize==MaxSize].{Name:AutoScalingGroupName,Size:MinSize}",{"type":47,"tag":118,"props":979,"children":980},{"style":203},[981],{"type":52,"value":216},{"type":47,"tag":55,"props":983,"children":985},{"id":984},"output-format",[986],{"type":52,"value":987},"Output Format",{"type":47,"tag":107,"props":989,"children":993},{"className":990,"code":991,"language":992,"meta":112,"style":112},"language-markdown shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# AWS Account Health Check\n\n**Account**: [ID] | **Region**: [region] | **Date**: [today]\n\n## Score: [X\u002F10]\n\n## Findings\n\n### Critical (fix now)\n\n- ...\n\n### Warning (fix soon)\n\n- ...\n\n### Good (keep doing this)\n\n- ...\n\n## Quick Wins\n\n1. [Easiest high-impact fix]\n2. [Next easiest]\n3. [...]\n\n## SCP Gaps\n\n[If no SCPs detected, recommend baseline guardrails per CLAUDE.md]\n","markdown",[994],{"type":47,"tag":72,"props":995,"children":996},{"__ignoreMap":112},[997,1010,1017,1126,1133,1159,1166,1178,1185,1198,1205,1218,1225,1237,1244,1255,1262,1274,1281,1292,1299,1311,1319,1333,1347,1370,1378,1391,1399],{"type":47,"tag":118,"props":998,"children":999},{"class":120,"line":121},[1000,1005],{"type":47,"tag":118,"props":1001,"children":1002},{"style":203},[1003],{"type":52,"value":1004},"# ",{"type":47,"tag":118,"props":1006,"children":1007},{"style":135},[1008],{"type":52,"value":1009},"AWS Account Health Check\n",{"type":47,"tag":118,"props":1011,"children":1012},{"class":120,"line":131},[1013],{"type":47,"tag":118,"props":1014,"children":1015},{"emptyLinePlaceholder":39},[1016],{"type":52,"value":168},{"type":47,"tag":118,"props":1018,"children":1019},{"class":120,"line":162},[1020,1026,1032,1036,1041,1046,1051,1056,1061,1065,1070,1074,1078,1082,1087,1091,1095,1099,1104,1108,1112,1116,1121],{"type":47,"tag":118,"props":1021,"children":1023},{"style":1022},"--shiki-light:#39ADB5;--shiki-light-font-weight:bold;--shiki-default:#89DDFF;--shiki-default-font-weight:bold;--shiki-dark:#89DDFF;--shiki-dark-font-weight:bold",[1024],{"type":52,"value":1025},"**",{"type":47,"tag":118,"props":1027,"children":1029},{"style":1028},"--shiki-light:#E53935;--shiki-light-font-weight:bold;--shiki-default:#F07178;--shiki-default-font-weight:bold;--shiki-dark:#F07178;--shiki-dark-font-weight:bold",[1030],{"type":52,"value":1031},"Account",{"type":47,"tag":118,"props":1033,"children":1034},{"style":1022},[1035],{"type":52,"value":1025},{"type":47,"tag":118,"props":1037,"children":1038},{"style":156},[1039],{"type":52,"value":1040},": ",{"type":47,"tag":118,"props":1042,"children":1043},{"style":203},[1044],{"type":52,"value":1045},"[",{"type":47,"tag":118,"props":1047,"children":1048},{"style":140},[1049],{"type":52,"value":1050},"ID",{"type":47,"tag":118,"props":1052,"children":1053},{"style":203},[1054],{"type":52,"value":1055},"]",{"type":47,"tag":118,"props":1057,"children":1058},{"style":156},[1059],{"type":52,"value":1060}," | ",{"type":47,"tag":118,"props":1062,"children":1063},{"style":1022},[1064],{"type":52,"value":1025},{"type":47,"tag":118,"props":1066,"children":1067},{"style":1028},[1068],{"type":52,"value":1069},"Region",{"type":47,"tag":118,"props":1071,"children":1072},{"style":1022},[1073],{"type":52,"value":1025},{"type":47,"tag":118,"props":1075,"children":1076},{"style":156},[1077],{"type":52,"value":1040},{"type":47,"tag":118,"props":1079,"children":1080},{"style":203},[1081],{"type":52,"value":1045},{"type":47,"tag":118,"props":1083,"children":1084},{"style":140},[1085],{"type":52,"value":1086},"region",{"type":47,"tag":118,"props":1088,"children":1089},{"style":203},[1090],{"type":52,"value":1055},{"type":47,"tag":118,"props":1092,"children":1093},{"style":156},[1094],{"type":52,"value":1060},{"type":47,"tag":118,"props":1096,"children":1097},{"style":1022},[1098],{"type":52,"value":1025},{"type":47,"tag":118,"props":1100,"children":1101},{"style":1028},[1102],{"type":52,"value":1103},"Date",{"type":47,"tag":118,"props":1105,"children":1106},{"style":1022},[1107],{"type":52,"value":1025},{"type":47,"tag":118,"props":1109,"children":1110},{"style":156},[1111],{"type":52,"value":1040},{"type":47,"tag":118,"props":1113,"children":1114},{"style":203},[1115],{"type":52,"value":1045},{"type":47,"tag":118,"props":1117,"children":1118},{"style":140},[1119],{"type":52,"value":1120},"today",{"type":47,"tag":118,"props":1122,"children":1123},{"style":203},[1124],{"type":52,"value":1125},"]\n",{"type":47,"tag":118,"props":1127,"children":1128},{"class":120,"line":171},[1129],{"type":47,"tag":118,"props":1130,"children":1131},{"emptyLinePlaceholder":39},[1132],{"type":52,"value":168},{"type":47,"tag":118,"props":1134,"children":1135},{"class":120,"line":180},[1136,1141,1146,1150,1155],{"type":47,"tag":118,"props":1137,"children":1138},{"style":203},[1139],{"type":52,"value":1140},"## ",{"type":47,"tag":118,"props":1142,"children":1143},{"style":135},[1144],{"type":52,"value":1145},"Score: ",{"type":47,"tag":118,"props":1147,"children":1148},{"style":203},[1149],{"type":52,"value":1045},{"type":47,"tag":118,"props":1151,"children":1152},{"style":140},[1153],{"type":52,"value":1154},"X\u002F10",{"type":47,"tag":118,"props":1156,"children":1157},{"style":203},[1158],{"type":52,"value":1125},{"type":47,"tag":118,"props":1160,"children":1161},{"class":120,"line":219},[1162],{"type":47,"tag":118,"props":1163,"children":1164},{"emptyLinePlaceholder":39},[1165],{"type":52,"value":168},{"type":47,"tag":118,"props":1167,"children":1168},{"class":120,"line":227},[1169,1173],{"type":47,"tag":118,"props":1170,"children":1171},{"style":203},[1172],{"type":52,"value":1140},{"type":47,"tag":118,"props":1174,"children":1175},{"style":135},[1176],{"type":52,"value":1177},"Findings\n",{"type":47,"tag":118,"props":1179,"children":1180},{"class":120,"line":236},[1181],{"type":47,"tag":118,"props":1182,"children":1183},{"emptyLinePlaceholder":39},[1184],{"type":52,"value":168},{"type":47,"tag":118,"props":1186,"children":1187},{"class":120,"line":313},[1188,1193],{"type":47,"tag":118,"props":1189,"children":1190},{"style":203},[1191],{"type":52,"value":1192},"### ",{"type":47,"tag":118,"props":1194,"children":1195},{"style":135},[1196],{"type":52,"value":1197},"Critical (fix now)\n",{"type":47,"tag":118,"props":1199,"children":1200},{"class":120,"line":419},[1201],{"type":47,"tag":118,"props":1202,"children":1203},{"emptyLinePlaceholder":39},[1204],{"type":52,"value":168},{"type":47,"tag":118,"props":1206,"children":1207},{"class":120,"line":490},[1208,1213],{"type":47,"tag":118,"props":1209,"children":1210},{"style":203},[1211],{"type":52,"value":1212},"-",{"type":47,"tag":118,"props":1214,"children":1215},{"style":156},[1216],{"type":52,"value":1217}," ...\n",{"type":47,"tag":118,"props":1219,"children":1220},{"class":120,"line":499},[1221],{"type":47,"tag":118,"props":1222,"children":1223},{"emptyLinePlaceholder":39},[1224],{"type":52,"value":168},{"type":47,"tag":118,"props":1226,"children":1227},{"class":120,"line":507},[1228,1232],{"type":47,"tag":118,"props":1229,"children":1230},{"style":203},[1231],{"type":52,"value":1192},{"type":47,"tag":118,"props":1233,"children":1234},{"style":135},[1235],{"type":52,"value":1236},"Warning (fix soon)\n",{"type":47,"tag":118,"props":1238,"children":1239},{"class":120,"line":26},[1240],{"type":47,"tag":118,"props":1241,"children":1242},{"emptyLinePlaceholder":39},[1243],{"type":52,"value":168},{"type":47,"tag":118,"props":1245,"children":1246},{"class":120,"line":30},[1247,1251],{"type":47,"tag":118,"props":1248,"children":1249},{"style":203},[1250],{"type":52,"value":1212},{"type":47,"tag":118,"props":1252,"children":1253},{"style":156},[1254],{"type":52,"value":1217},{"type":47,"tag":118,"props":1256,"children":1257},{"class":120,"line":595},[1258],{"type":47,"tag":118,"props":1259,"children":1260},{"emptyLinePlaceholder":39},[1261],{"type":52,"value":168},{"type":47,"tag":118,"props":1263,"children":1264},{"class":120,"line":603},[1265,1269],{"type":47,"tag":118,"props":1266,"children":1267},{"style":203},[1268],{"type":52,"value":1192},{"type":47,"tag":118,"props":1270,"children":1271},{"style":135},[1272],{"type":52,"value":1273},"Good (keep doing this)\n",{"type":47,"tag":118,"props":1275,"children":1276},{"class":120,"line":612},[1277],{"type":47,"tag":118,"props":1278,"children":1279},{"emptyLinePlaceholder":39},[1280],{"type":52,"value":168},{"type":47,"tag":118,"props":1282,"children":1283},{"class":120,"line":647},[1284,1288],{"type":47,"tag":118,"props":1285,"children":1286},{"style":203},[1287],{"type":52,"value":1212},{"type":47,"tag":118,"props":1289,"children":1290},{"style":156},[1291],{"type":52,"value":1217},{"type":47,"tag":118,"props":1293,"children":1294},{"class":120,"line":655},[1295],{"type":47,"tag":118,"props":1296,"children":1297},{"emptyLinePlaceholder":39},[1298],{"type":52,"value":168},{"type":47,"tag":118,"props":1300,"children":1301},{"class":120,"line":664},[1302,1306],{"type":47,"tag":118,"props":1303,"children":1304},{"style":203},[1305],{"type":52,"value":1140},{"type":47,"tag":118,"props":1307,"children":1308},{"style":135},[1309],{"type":52,"value":1310},"Quick Wins\n",{"type":47,"tag":118,"props":1312,"children":1314},{"class":120,"line":1313},22,[1315],{"type":47,"tag":118,"props":1316,"children":1317},{"emptyLinePlaceholder":39},[1318],{"type":52,"value":168},{"type":47,"tag":118,"props":1320,"children":1322},{"class":120,"line":1321},23,[1323,1328],{"type":47,"tag":118,"props":1324,"children":1325},{"style":203},[1326],{"type":52,"value":1327},"1.",{"type":47,"tag":118,"props":1329,"children":1330},{"style":156},[1331],{"type":52,"value":1332}," [Easiest high-impact fix]\n",{"type":47,"tag":118,"props":1334,"children":1336},{"class":120,"line":1335},24,[1337,1342],{"type":47,"tag":118,"props":1338,"children":1339},{"style":203},[1340],{"type":52,"value":1341},"2.",{"type":47,"tag":118,"props":1343,"children":1344},{"style":156},[1345],{"type":52,"value":1346}," [Next easiest]\n",{"type":47,"tag":118,"props":1348,"children":1350},{"class":120,"line":1349},25,[1351,1356,1361,1366],{"type":47,"tag":118,"props":1352,"children":1353},{"style":203},[1354],{"type":52,"value":1355},"3.",{"type":47,"tag":118,"props":1357,"children":1358},{"style":203},[1359],{"type":52,"value":1360}," [",{"type":47,"tag":118,"props":1362,"children":1363},{"style":140},[1364],{"type":52,"value":1365},"...",{"type":47,"tag":118,"props":1367,"children":1368},{"style":203},[1369],{"type":52,"value":1125},{"type":47,"tag":118,"props":1371,"children":1373},{"class":120,"line":1372},26,[1374],{"type":47,"tag":118,"props":1375,"children":1376},{"emptyLinePlaceholder":39},[1377],{"type":52,"value":168},{"type":47,"tag":118,"props":1379,"children":1381},{"class":120,"line":1380},27,[1382,1386],{"type":47,"tag":118,"props":1383,"children":1384},{"style":203},[1385],{"type":52,"value":1140},{"type":47,"tag":118,"props":1387,"children":1388},{"style":135},[1389],{"type":52,"value":1390},"SCP Gaps\n",{"type":47,"tag":118,"props":1392,"children":1394},{"class":120,"line":1393},28,[1395],{"type":47,"tag":118,"props":1396,"children":1397},{"emptyLinePlaceholder":39},[1398],{"type":52,"value":168},{"type":47,"tag":118,"props":1400,"children":1402},{"class":120,"line":1401},29,[1403],{"type":47,"tag":118,"props":1404,"children":1405},{"style":156},[1406],{"type":52,"value":1407},"[If no SCPs detected, recommend baseline guardrails per CLAUDE.md]\n",{"type":47,"tag":55,"props":1409,"children":1411},{"id":1410},"rules",[1412],{"type":52,"value":1413},"Rules",{"type":47,"tag":1415,"props":1416,"children":1417},"ul",{},[1418,1423,1428],{"type":47,"tag":66,"props":1419,"children":1420},{},[1421],{"type":52,"value":1422},"Every finding must come from an actual CLI command output. Never guess.",{"type":47,"tag":66,"props":1424,"children":1425},{},[1426],{"type":52,"value":1427},"Don't alarm on dev\u002Fsandbox accounts — ask about the account purpose first.",{"type":47,"tag":66,"props":1429,"children":1430},{},[1431],{"type":52,"value":1432},"Keep it concise — this is a quick check, not a 50-page audit.",{"type":47,"tag":1434,"props":1435,"children":1436},"style",{},[1437],{"type":52,"value":1438},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":1440,"total":1616},[1441,1460,1481,1491,1504,1517,1527,1537,1556,1571,1586,1601],{"slug":1442,"name":1442,"fn":1443,"description":1444,"org":1445,"tags":1446,"stars":1457,"repoUrl":1458,"updatedAt":1459},"agentcore-investigation","investigate Bedrock AgentCore runtime sessions","Investigate Bedrock AgentCore runtime sessions via CloudWatch Logs Insights — resolve session\u002Ftrace IDs, query OTEL spans, filter noise, build timelines. Use when debugging AgentCore agent sessions, tracing tool calls, or analyzing latency.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1447,1448,1451,1454],{"name":24,"slug":25,"type":16},{"name":1449,"slug":1450,"type":16},"Debugging","debugging",{"name":1452,"slug":1453,"type":16},"Logs","logs",{"name":1455,"slug":1456,"type":16},"Observability","observability",9427,"https:\u002F\u002Fgithub.com\u002Fawslabs\u002Fmcp","2026-07-12T08:37:22.601527",{"slug":1461,"name":1462,"fn":1463,"description":1464,"org":1465,"tags":1466,"stars":1457,"repoUrl":1458,"updatedAt":1480},"amazon-aurora-dsql","amazon aurora dsql","build applications with Aurora DSQL","Build with Aurora DSQL — manage schemas, execute queries, handle migrations, diagnose query plans, load data, and develop applications with a serverless, distributed SQL database. Covers IAM auth, multi-tenant patterns, MySQL-to-DSQL and PostgreSQL-to-DSQL schema conversion, FK replacement code generation, OCC retry patterns, ORM migration (Django\u002FHibernate\u002FRails), DDL operations, query plan explainability, SQL compatibility validation, and bulk data loading. Triggers on phrases like: DSQL, Aurora DSQL, create DSQL table, DSQL schema, migrate to DSQL, distributed SQL database, serverless PostgreSQL-compatible database, DSQL query plan, DSQL EXPLAIN ANALYZE, why is my DSQL query slow, DSQL foreign key, DSQL OCC retry, DSQL multi-region, load into DSQL, load CSV into DSQL, bulk load DSQL, aurora-dsql-loader.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1467,1470,1471,1474,1477],{"name":1468,"slug":1469,"type":16},"Aurora","aurora",{"name":24,"slug":25,"type":16},{"name":1472,"slug":1473,"type":16},"Database","database",{"name":1475,"slug":1476,"type":16},"Serverless","serverless",{"name":1478,"slug":1479,"type":16},"SQL","sql","2026-07-12T08:36:45.053393",{"slug":1482,"name":1483,"fn":1463,"description":1464,"org":1484,"tags":1485,"stars":1457,"repoUrl":1458,"updatedAt":1490},"aurora-dsql","aurora dsql",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1486,1487,1488,1489],{"name":24,"slug":25,"type":16},{"name":1472,"slug":1473,"type":16},{"name":1475,"slug":1476,"type":16},{"name":1478,"slug":1479,"type":16},"2026-07-12T08:36:42.694299",{"slug":1492,"name":1493,"fn":1463,"description":1464,"org":1494,"tags":1495,"stars":1457,"repoUrl":1458,"updatedAt":1503},"aws-dsql","aws dsql",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1496,1497,1498,1501,1502],{"name":24,"slug":25,"type":16},{"name":1472,"slug":1473,"type":16},{"name":1499,"slug":1500,"type":16},"Migration","migration",{"name":1475,"slug":1476,"type":16},{"name":1478,"slug":1479,"type":16},"2026-07-12T08:36:38.584057",{"slug":1505,"name":1506,"fn":1463,"description":1464,"org":1507,"tags":1508,"stars":1457,"repoUrl":1458,"updatedAt":1516},"distributed-postgres","distributed postgres",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1509,1510,1511,1514,1515],{"name":24,"slug":25,"type":16},{"name":1472,"slug":1473,"type":16},{"name":1512,"slug":1513,"type":16},"PostgreSQL","postgresql",{"name":1475,"slug":1476,"type":16},{"name":1478,"slug":1479,"type":16},"2026-07-12T08:36:46.530743",{"slug":1518,"name":1519,"fn":1463,"description":1464,"org":1520,"tags":1521,"stars":1457,"repoUrl":1458,"updatedAt":1526},"distributed-sql","distributed sql",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1522,1523,1524,1525],{"name":24,"slug":25,"type":16},{"name":1472,"slug":1473,"type":16},{"name":1475,"slug":1476,"type":16},{"name":1478,"slug":1479,"type":16},"2026-07-12T08:36:48.104182",{"slug":1528,"name":1528,"fn":1463,"description":1464,"org":1529,"tags":1530,"stars":1457,"repoUrl":1458,"updatedAt":1536},"dsql",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1531,1532,1533,1534,1535],{"name":24,"slug":25,"type":16},{"name":1472,"slug":1473,"type":16},{"name":1499,"slug":1500,"type":16},{"name":1475,"slug":1476,"type":16},{"name":1478,"slug":1479,"type":16},"2026-07-12T08:36:36.374512",{"slug":1538,"name":1538,"fn":1539,"description":1540,"org":1541,"tags":1542,"stars":1553,"repoUrl":1554,"updatedAt":1555},"cost-efficiency-analyzer","analyze cost efficiency and expenses","Analyzes cost structure, cost efficiency, and expense management from P&L data. Use when the user asks about costs, expenses, COGS, operating expenses, cost ratios, cost control, spending efficiency, margin compression from cost side, or wants to understand where money is going. Also use for \"are we spending too much\", \"cost breakdown\", \"expense analysis\", or \"how efficient are our operations\". NOT for revenue or top-line analysis.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1543,1546,1549,1550],{"name":1544,"slug":1545,"type":16},"Accounting","accounting",{"name":1547,"slug":1548,"type":16},"Analytics","analytics",{"name":21,"slug":22,"type":16},{"name":1551,"slug":1552,"type":16},"Finance","finance",3176,"https:\u002F\u002Fgithub.com\u002Fawslabs\u002Fagentcore-samples","2026-07-12T08:40:03.29555",{"slug":1557,"name":1557,"fn":1558,"description":1559,"org":1560,"tags":1561,"stars":1553,"repoUrl":1554,"updatedAt":1570},"executive-financial-briefing","generate executive financial briefings","Generates a concise executive-level financial briefing or summary suitable for a CEO, CFO, or board presentation. Use when the user asks for a summary, briefing, executive summary, board update, financial overview, financial health check, or \"how is the business doing\". Covers the full P&L picture in one page. Also use for \"give me the highlights\", \"what do I need to know\", or \"quick financial update\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1562,1563,1564,1567],{"name":24,"slug":25,"type":16},{"name":1551,"slug":1552,"type":16},{"name":1565,"slug":1566,"type":16},"Management","management",{"name":1568,"slug":1569,"type":16},"Reporting","reporting","2026-07-12T08:40:02.066471",{"slug":1572,"name":1572,"fn":1573,"description":1574,"org":1575,"tags":1576,"stars":1553,"repoUrl":1554,"updatedAt":1585},"multi-quarter-trend-analysis","analyze multi-quarter financial trends","Analyzes financial trends across multiple quarters by comparing P&L metrics over time. Use when the user wants to see trends, patterns, trajectories, or directional movement across 3 or more quarters. Also use for \"how are we trending\", \"show me the trend\", \"track performance over time\", \"quarter over quarter comparison across all quarters\", or any multi-period longitudinal analysis.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1577,1578,1579,1582],{"name":1547,"slug":1548,"type":16},{"name":1551,"slug":1552,"type":16},{"name":1580,"slug":1581,"type":16},"Financial Statements","financial-statements",{"name":1583,"slug":1584,"type":16},"Variance Analysis","variance-analysis","2026-07-12T08:40:00.79141",{"slug":1587,"name":1587,"fn":1588,"description":1589,"org":1590,"tags":1591,"stars":1553,"repoUrl":1554,"updatedAt":1600},"pdf","process and manipulate PDF documents","Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text\u002Ftables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting\u002Fdecrypting PDFs, extracting images, and OCR on scanned PDFs to make them searchable. If the user mentions a .pdf file or asks to produce one, use this skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1592,1595,1598],{"name":1593,"slug":1594,"type":16},"Automation","automation",{"name":1596,"slug":1597,"type":16},"Documents","documents",{"name":1599,"slug":1587,"type":16},"PDF","2026-07-12T08:41:44.135656",{"slug":1602,"name":1602,"fn":1603,"description":1604,"org":1605,"tags":1606,"stars":1553,"repoUrl":1554,"updatedAt":1615},"quarterly-kpi-calculator","calculate quarterly financial KPIs","Calculates quarterly financial KPIs from P&L data. P&L figures can be provided directly by the user or fetched from the financial data MCP server. Use when the user wants KPI calculations such as Gross Margin %, EBITDA Margin %, Operating Expense Ratio, or Revenue Growth % QoQ. Also use for quarterly performance review, P&L analysis, or interpreting financial ratios against benchmarks.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1607,1608,1611,1612],{"name":1544,"slug":1545,"type":16},{"name":1609,"slug":1610,"type":16},"Data Analysis","data-analysis",{"name":1551,"slug":1552,"type":16},{"name":1613,"slug":1614,"type":16},"KPI","kpi","2026-07-12T08:39:59.54971",150,{"items":1618,"total":1711},[1619,1633,1648,1660,1672,1683,1696],{"slug":1620,"name":1620,"fn":1621,"description":1622,"org":1623,"tags":1624,"stars":26,"repoUrl":27,"updatedAt":1632},"agentcore","design Amazon Bedrock AgentCore architectures","Deep-dive into Amazon Bedrock AgentCore platform design, service selection, deployment, and production operations. This skill should be used when the user asks to \"design an AgentCore architecture\", \"deploy agents on AgentCore\", \"configure AgentCore Runtime\", \"set up AgentCore Memory\", \"use AgentCore Gateway\", \"configure AgentCore Identity\", \"set up AgentCore Policy\", \"plan agent observability\", \"evaluate agent quality\", \"move agent PoC to production\", or mentions AgentCore, AgentCore Runtime, AgentCore Memory, AgentCore Gateway, AgentCore Identity, AgentCore Policy, AgentCore Evaluations, AgentCore Code Interpreter, AgentCore Browser, A2A protocol, or multi-agent orchestration on AWS.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1625,1628,1631],{"name":1626,"slug":1627,"type":16},"Agents","agents",{"name":1629,"slug":1630,"type":16},"Architecture","architecture",{"name":24,"slug":25,"type":16},"2026-07-12T08:40:11.108951",{"slug":1634,"name":1634,"fn":1635,"description":1636,"org":1637,"tags":1638,"stars":26,"repoUrl":27,"updatedAt":1647},"aidlc-lite","develop AI applications on AWS","Lightweight AI development lifecycle for building on AWS. A simplified take on the AI-DLC philosophy — think together, then build fast. Acts as a design partner that understands intent, proposes alternatives with trade-offs, and ships working code without the ceremony of full requirements\u002Fdesign\u002Fspec documents. Use when a founder says \"build X on AWS\", \"add Y to my stack\", \"scaffold an API\", or \"write the CDK for Z\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1639,1640,1643,1644],{"name":1626,"slug":1627,"type":16},{"name":1641,"slug":1642,"type":16},"AI Infrastructure","ai-infrastructure",{"name":24,"slug":25,"type":16},{"name":1645,"slug":1646,"type":16},"Engineering","engineering","2026-07-12T08:40:40.204103",{"slug":1649,"name":1649,"fn":1650,"description":1651,"org":1652,"tags":1653,"stars":26,"repoUrl":27,"updatedAt":1659},"architect-for-startups","advise on AWS architecture for startups","AWS architecture advisor tailored specifically for startups. Alters AWS architecture recommendations based on startup stage (pre-revenue through Series B+), team size, runway, and credits. ALWAYS use when asked about building on AWS, choosing services, planning infrastructure, managing costs with credits, or preparing architecture for fundraising.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1654,1655,1656],{"name":1629,"slug":1630,"type":16},{"name":24,"slug":25,"type":16},{"name":1657,"slug":1658,"type":16},"Strategy","strategy","2026-07-12T08:41:33.557354",{"slug":1661,"name":1661,"fn":1662,"description":1663,"org":1664,"tags":1665,"stars":26,"repoUrl":27,"updatedAt":1671},"aws-architect","design and review AWS architectures","Design and review AWS architectures following Well-Architected Framework principles. Use when planning new infrastructure, reviewing existing architectures, evaluating trade-offs between AWS services, or when asked about AWS best practices.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1666,1667,1668],{"name":1629,"slug":1630,"type":16},{"name":24,"slug":25,"type":16},{"name":1669,"slug":1670,"type":16},"Infrastructure","infrastructure","2026-07-12T08:40:57.630086",{"slug":1673,"name":1673,"fn":1674,"description":1675,"org":1676,"tags":1677,"stars":26,"repoUrl":27,"updatedAt":1682},"aws-compare","compare AWS architecture options","Compare 2-3 AWS architecture options side-by-side across cost, complexity, performance, security, and operational burden. Use when evaluating trade-offs between approaches or when the user is deciding between options.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1678,1679,1680,1681],{"name":1629,"slug":1630,"type":16},{"name":24,"slug":25,"type":16},{"name":21,"slug":22,"type":16},{"name":14,"slug":15,"type":16},"2026-07-12T08:40:23.960287",{"slug":1684,"name":1684,"fn":1685,"description":1686,"org":1687,"tags":1688,"stars":26,"repoUrl":27,"updatedAt":1695},"aws-debug","debug AWS infrastructure and deployment failures","Debug AWS infrastructure issues, deployment failures, and runtime errors. Use when troubleshooting CloudFormation stack failures, Lambda errors, ECS task failures, permission issues, networking problems, or any AWS service misbehavior.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1689,1690,1691,1694],{"name":24,"slug":25,"type":16},{"name":1449,"slug":1450,"type":16},{"name":1692,"slug":1693,"type":16},"Deployment","deployment",{"name":1455,"slug":1456,"type":16},"2026-07-12T08:40:16.767171",{"slug":1697,"name":1697,"fn":1698,"description":1699,"org":1700,"tags":1701,"stars":26,"repoUrl":27,"updatedAt":1710},"aws-diagram","generate AWS architecture diagrams","Generate AWS architecture diagrams in Mermaid or ASCII from a description, existing IaC, or conversation context. Use when the user wants to visualize an architecture.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1702,1703,1704,1707],{"name":1629,"slug":1630,"type":16},{"name":24,"slug":25,"type":16},{"name":1705,"slug":1706,"type":16},"Diagrams","diagrams",{"name":1708,"slug":1709,"type":16},"Visualization","visualization","2026-07-12T08:40:43.26341",42]