Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
aws-samples avatar

Aws Health Check

  • 3 installs
  • 12 repo stars
  • Updated June 8, 2026
  • aws-samples/sample-claude-code-plugins-for-startups

AWS Health Check is a Claude skill that runs a quick scan of an AWS account for security posture, cost waste, reliability gaps, and operational readiness.

About

This skill runs a quick health check on an AWS account, covering security posture, cost waste, reliability gaps, and operational readiness. A developer uses it for a fast 5-minute scan rather than a full Well-Architected review. It runs concrete AWS CLI checks (GuardDuty, public S3, open security groups, public RDS, IMDSv2, unattached EBS) and produces a scored findings report.

  • Quick 5-minute AWS account health scan across security, cost, and reliability
  • Runs concrete AWS CLI checks for public buckets, open security groups, and public RDS
  • Produces a scored report with critical, warning, and quick-win findings

Aws Health Check by the numbers

  • 3 all-time installs (skills.sh)
  • Ranked #892 of 1,039 Cloud & Infrastructure skills by installs in the Skillselion catalog
  • Data as of Jul 28, 2026 (Skillselion catalog sync)
At a glance

aws-health-check capabilities & compatibility

Capabilities
security audit
Works with
aws
Use cases
security audit · devops
From the docs

What aws-health-check says it does

Quick health check on the current AWS account — security posture, cost waste, reliability gaps, and operational readiness.
SKILL.md
Every finding must come from an actual CLI command output. Never guess.
SKILL.md
npx skills add https://github.com/aws-samples/sample-claude-code-plugins-for-startups --skill aws-health-check

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs3
repo stars12
Last updatedJune 8, 2026
Repositoryaws-samples/sample-claude-code-plugins-for-startups

What it does

Run a quick AWS account health scan for security, cost, and reliability gaps.

Who is it for?

A fast, high-signal scan of an AWS account's security, cost, and reliability posture.

Skip if: A full Well-Architected review or a deep 50-page audit.

When should I use this skill?

A developer wants a quick health check of an AWS account's posture.

What you get

Produces a scored health report with critical, warning, and quick-win findings from actual CLI output.

  • Scored health check report
  • Critical, warning, and good findings
  • Quick wins list

By the numbers

  • 5-minute scan
  • scored X/10 health rating

Files

SKILL.mdMarkdownGitHub ↗

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.

Process

1. Confirm identity: aws sts get-caller-identity 2. Determine scope: use $ARGUMENTS for region, or default to the configured region 3. Run the checks below in order 4. Produce a summary report

Quick Checks

Security (Critical — check first)

# GuardDuty enabled?
aws guardduty list-detectors --region $REGION

# CloudTrail multi-region?
aws cloudtrail describe-trails --query 'trailList[].{Name:Name,Multi:IsMultiRegionTrail}'

# Public S3 buckets?
for bucket in $(aws s3api list-buckets --query 'Buckets[].Name' --output text); do
  status=$(aws s3api get-public-access-block --bucket $bucket 2>/dev/null | grep -c "true" || echo "0")
  [ "$status" -lt 4 ] && echo "WARNING: $bucket may have public access"
done

# Security groups with 0.0.0.0/0 on non-HTTP ports
aws ec2 describe-security-groups --query 'SecurityGroups[?IpPermissions[?IpRanges[?CidrIp==`0.0.0.0/0`]]]' \
  --output json | jq -r '.[] | select(.IpPermissions[] | select(.FromPort != 80 and .FromPort != 443 and .FromPort != null)) | .GroupId + " " + .GroupName'

# Public RDS instances
aws rds describe-db-instances --query 'DBInstances[?PubliclyAccessible==`true`].{ID:DBInstanceIdentifier,Engine:Engine}'

# IMDSv2 enforcement
aws ec2 describe-instances --query 'Reservations[].Instances[?MetadataOptions.HttpTokens!=`required`].{ID:InstanceId,Name:Tags[?Key==`Name`].Value|[0],IMDS:MetadataOptions.HttpTokens}'

Cost Waste

# Unattached EBS volumes
aws ec2 describe-volumes --filters "Name=status,Values=available" --query 'Volumes[].{ID:VolumeId,Size:Size,Type:VolumeType}'

# Unassociated Elastic IPs (charged when idle)
aws ec2 describe-addresses --query 'Addresses[?AssociationId==null].{IP:PublicIp}'

# Stopped instances still incurring EBS charges
aws ec2 describe-instances --filters "Name=instance-state-name,Values=stopped" --query 'Reservations[].Instances[].{ID:InstanceId,Name:Tags[?Key==`Name`].Value|[0],Type:InstanceType}'

Reliability

# Single-AZ RDS (risky for production)
aws rds describe-db-instances --query 'DBInstances[?MultiAZ==`false`].{ID:DBInstanceIdentifier,Engine:Engine}'

# No auto-scaling groups (static capacity)
aws autoscaling describe-auto-scaling-groups --query 'AutoScalingGroups[?MinSize==MaxSize].{Name:AutoScalingGroupName,Size:MinSize}'

Output Format

# AWS Account Health Check
**Account**: [ID] | **Region**: [region] | **Date**: [today]

## Score: [X/10]

## Findings

### Critical (fix now)
- ...

### Warning (fix soon)
- ...

### Good (keep doing this)
- ...

## Quick Wins
1. [Easiest high-impact fix]
2. [Next easiest]
3. [...]

## SCP Gaps
[If no SCPs detected, recommend baseline guardrails per CLAUDE.md]

Rules

  • Every finding must come from an actual CLI command output. Never guess.
  • Don't alarm on dev/sandbox accounts — ask about the account purpose first.
  • Keep it concise — this is a quick check, not a 50-page audit.

Related skills

FAQ

How long does the health check take?

It is designed as a 5-minute scan focused on the highest-signal checks, not a full Well-Architected review.

What does it check?

Security (GuardDuty, public S3, open security groups, public RDS, IMDSv2), cost waste (unattached EBS, idle Elastic IPs), and reliability (single-AZ RDS, static capacity).

Cloud & Infrastructuremonitoringinfra

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.