Comprehensive AWS cost analysis and optimization recommendations using AWS CLI and Cost Explorer
63%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./skills/antigravity-aws-cost-optimizer/SKILL.mdAnalyze AWS spending patterns, identify waste, and provide actionable cost reduction strategies.
Use this skill when you need to analyze AWS spending, identify cost optimization opportunities, or reduce cloud waste.
Cost Analysis
Resource Optimization
Savings Recommendations
Confirm AWS account/profile, regions and reporting dates. Examples use GNU date (-d), not macOS BSD date. Cost Explorer end dates are exclusive and usage data can lag. Low CPU or unattached state alone does not establish deletion safety; check owners, recovery retention, I/O/network/memory and business cycles. Deletion, termination, rightsizing and commitment purchases require explicit authorized scope and a recovery plan.
# Last 30 days cost by service
aws ce get-cost-and-usage \
--time-period Start=$(date -d '30 days ago' +%Y-%m-%d),End=$(date +%Y-%m-%d) \
--granularity MONTHLY \
--metrics BlendedCost \
--group-by Type=DIMENSION,Key=SERVICE
# Daily costs for current month
aws ce get-cost-and-usage \
--time-period Start=$(date +%Y-%m-01),End=$(date +%Y-%m-%d) \
--granularity DAILY \
--metrics UnblendedCost# Unattached EBS volumes
aws ec2 describe-volumes \
--filters Name=status,Values=available \
--query 'Volumes[*].[VolumeId,Size,VolumeType,CreateTime]' \
--output table
# Unused Elastic IPs
aws ec2 describe-addresses \
--query 'Addresses[?AssociationId==null].[PublicIp,AllocationId]' \
--output table
# Idle EC2 instances (requires CloudWatch)
aws cloudwatch get-metric-statistics \
--namespace AWS/EC2 \
--metric-name CPUUtilization \
--dimensions Name=InstanceId,Value=i-xxxxx \
--start-time $(date -u -d '7 days ago' +%Y-%m-%dT%H:%M:%S) \
--end-time $(date -u +%Y-%m-%dT%H:%M:%S) \
--period 86400 \
--statistics Average
# Old EBS snapshots (>90 days)
aws ec2 describe-snapshots \
--owner-ids self \
--query 'Snapshots[?StartTime<=`'$(date -d '90 days ago' --iso-8601)'`].[SnapshotId,StartTime,VolumeSize]' \
--output table# List EC2 instances with their types
aws ec2 describe-instances \
--query 'Reservations[*].Instances[*].[InstanceId,InstanceType,State.Name,Tags[?Key==`Name`].Value|[0]]' \
--output table
# Get RDS instance utilization
aws cloudwatch get-metric-statistics \
--namespace AWS/RDS \
--metric-name CPUUtilization \
--dimensions Name=DBInstanceIdentifier,Value=mydb \
--start-time $(date -u -d '30 days ago' +%Y-%m-%dT%H:%M:%S) \
--end-time $(date -u +%Y-%m-%dT%H:%M:%S) \
--period 86400 \
--statistics Average MaximumBaseline Assessment
Candidate savings requiring owner review
Strategic Optimization
Ongoing Monitoring
Analysis
Optimization
Implementation
This skill works seamlessly with Kiro CLI's AWS integration:
# Use Kiro to analyze costs
kiro-cli chat "Use aws-cost-optimizer to analyze my spending"
# Generate optimization report
kiro-cli chat "Create a cost optimization plan using aws-cost-optimizer"--dry-run flag when availableboisenoise/skills-collections
aa13ba9
Also appears in
last in sync Apr 14, 2026
last in sync Apr 14, 2026
last in sync Apr 14, 2026
last in sync Feb 24, 2026
last in sync Feb 24, 2026
last in sync Feb 24, 2026
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.