Agent skill

aws-cost-optimizer

Comprehensive AWS cost analysis and optimization recommendations using AWS CLI and Cost Explorer

Stars 232
Forks 15

Install this agent skill to your Project

npx add-skill https://github.com/aiskillstore/marketplace/tree/main/skills/sickn33/aws-cost-optimizer

SKILL.md

AWS Cost Optimizer

Analyze AWS spending patterns, identify waste, and provide actionable cost reduction strategies.

When to Use This Skill

Use this skill when you need to analyze AWS spending, identify cost optimization opportunities, or reduce cloud waste.

Core Capabilities

Cost Analysis

  • Parse AWS Cost Explorer data for trends and anomalies
  • Break down costs by service, region, and resource tags
  • Identify month-over-month spending increases

Resource Optimization

  • Detect idle EC2 instances (low CPU utilization)
  • Find unattached EBS volumes and old snapshots
  • Identify unused Elastic IPs
  • Locate underutilized RDS instances
  • Find old S3 objects eligible for lifecycle policies

Savings Recommendations

  • Suggest Reserved Instance/Savings Plans opportunities
  • Recommend instance rightsizing based on CloudWatch metrics
  • Identify resources in expensive regions
  • Calculate potential savings with specific actions

AWS CLI Commands

Get Cost and Usage

bash
# 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

Find Unused Resources

bash
# 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

Rightsizing Analysis

bash
# 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,Maximum

Optimization Workflow

  1. Baseline Assessment

    • Pull 3-6 months of cost data
    • Identify top 5 spending services
    • Calculate growth rate
  2. Quick Wins

    • Delete unattached EBS volumes
    • Release unused Elastic IPs
    • Stop/terminate idle EC2 instances
    • Delete old snapshots
  3. Strategic Optimization

    • Analyze Reserved Instance coverage
    • Review instance types vs. workload
    • Implement S3 lifecycle policies
    • Consider Spot instances for non-critical workloads
  4. Ongoing Monitoring

    • Set up AWS Budgets with alerts
    • Enable Cost Anomaly Detection
    • Tag resources for cost allocation
    • Monthly cost review meetings

Cost Optimization Checklist

  • Enable AWS Cost Explorer
  • Set up cost allocation tags
  • Create AWS Budget with alerts
  • Review and delete unused resources
  • Analyze Reserved Instance opportunities
  • Implement S3 Intelligent-Tiering
  • Review data transfer costs
  • Optimize Lambda memory allocation
  • Use CloudWatch Logs retention policies
  • Consider multi-region cost differences

Example Prompts

Analysis

  • "Show me AWS costs for the last 3 months broken down by service"
  • "What are my top 10 most expensive resources?"
  • "Compare this month's spending to last month"

Optimization

  • "Find all unattached EBS volumes and calculate savings"
  • "Identify EC2 instances with <5% CPU utilization"
  • "Suggest Reserved Instance purchases based on usage"
  • "Calculate savings from deleting snapshots older than 90 days"

Implementation

  • "Create a script to delete unattached volumes"
  • "Set up a budget alert for $1000/month"
  • "Generate a cost optimization report for leadership"

Best Practices

  • Always test in non-production first
  • Verify resources are truly unused before deletion
  • Document all cost optimization actions
  • Calculate ROI for optimization efforts
  • Automate recurring optimization tasks
  • Use AWS Trusted Advisor recommendations
  • Enable AWS Cost Anomaly Detection

Integration with Kiro CLI

This skill works seamlessly with Kiro CLI's AWS integration:

bash
# 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"

Safety Notes

  • Risk Level: Low - Read-only analysis is safe
  • Deletion Actions: Medium Risk - Always verify before deleting resources
  • Production Changes: High Risk - Test rightsizing in dev/staging first
  • Maintain backups before any deletion
  • Use --dry-run flag when available

Additional Resources

Expand your agent's capabilities with these related and highly-rated skills.

aiskillstore/marketplace

perigon-backend

Perigon ASP.NET Core + EF Core + Aspire conventions

232 15
Explore
aiskillstore/marketplace

perigon-agent

Pointers for Copilot/agents to apply Perigon conventions

232 15
Explore
aiskillstore/marketplace

perigon-angular

Angular 21+ standalone/Material/signal conventions for Perigon WebApp

232 15
Explore
aiskillstore/marketplace

fastapi-mastery

Comprehensive FastAPI development skill covering REST API creation, routing, request/response handling, validation, authentication, database integration, middleware, and deployment. Use when working with FastAPI projects, building APIs, implementing CRUD operations, setting up authentication/authorization, integrating databases (SQL/NoSQL), adding middleware, handling WebSockets, or deploying FastAPI applications. Triggered by requests involving .py files with FastAPI code, API endpoint creation, Pydantic models, or FastAPI-specific features.

232 15
Explore
aiskillstore/marketplace

context7-efficient

Token-efficient library documentation fetcher using Context7 MCP with 86.8% token savings through intelligent shell pipeline filtering. Fetches code examples, API references, and best practices for JavaScript, Python, Go, Rust, and other libraries. Use when users ask about library documentation, need code examples, want API usage patterns, are learning a new framework, need syntax reference, or troubleshooting with library-specific information. Triggers include questions like "Show me React hooks", "How do I use Prisma", "What's the Next.js routing syntax", or any request for library/framework documentation.

232 15
Explore
aiskillstore/marketplace

browser-use

Browser automation using Playwright MCP. Navigate websites, fill forms, click elements, take screenshots, and extract data. Use when tasks require web browsing, form submission, web scraping, UI testing, or any browser interaction.

232 15
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results