Provides structured AWS cost optimization via five pillars (right-sizing, elasticity, pricing, storage, monitoring) and 12 best practices with AWS CLI examples. For reviewing spending, unused resources, FinOps.
From developer-kit-awsnpx claudepluginhub giuseppe-trisciuoglio/developer-kit --plugin developer-kit-awsThis skill is limited to using the following tools:
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Optimizes cloud costs on AWS, Azure, GCP via rightsizing, tagging strategies, reserved instances, spot usage, and spending analysis. Use for expense reduction and governance.
Guide a structured AWS cost review covering right-sizing, elasticity, pricing models, storage optimization, and continuous monitoring. References AWS native tools (Cost Explorer, Budgets, Compute Optimizer, Trusted Advisor, Cost Anomaly Detection) and delivers twelve prioritized best practices organized under five optimization pillars. All examples use the AWS CLI.
Trigger: "Optimize my AWS costs", "Review AWS spending", "Find unused AWS resources", "Help me with FinOps", "Reduce my EC2 bill", "Clean up unused EBS volumes", "Set up AWS Budgets"
Work through each pillar in order during a cost review.
Match provisioned resources to actual workload needs.
Schedule instance stop/start and leverage Auto Scaling Groups.
Choose the optimal mix of On-Demand, Spot, Reserved Instances, and Savings Plans.
Eliminate waste in EBS, S3, and snapshots.
available state) and recommend deletion after backup reviewEstablish continuous cost governance.
Environment, Team, Project, CostCenter)Follow this structured flow when the user asks for a cost review:
User: "Find unused EBS volumes in my account."
CLI commands to include in the response:
# List all EBS volumes in available (unattached) state
aws ec2 describe-volumes \
--filters Name=status,Values=available \
--query 'Volumes[*].{VolumeId:VolumeId,Size:Size,Type:VolumeType,Zone:AvailabilityZone,CreateTime:CreateTime}' \
--output table
# Get monthly cost estimate for unused volumes (approx $0.08/GB/mo for gp3)
aws ec2 describe-volumes \
--filters Name=status,Values=available \
--query 'length(Volumes[*].[VolumeId,Size])' \
--output text
# List orphaned snapshots (not linked to any AMI)
aws ec2 describe-snapshots \
--owner-ids self \
--query 'Snapshots[?!contains(Description, `ami-`)].[SnapshotId,VolumeId,StartTime,Size]'
User: "How can I reduce my EC2 bill?"
CLI commands to include in the response:
# Get Compute Optimizer right-sizing recommendations for EC2
aws compute-optimizer get-ec2-instance-recommendations \
--query 'instanceRecommendations[*].{InstanceArn:instanceArn,CurrentInstanceType:currentInstanceType,RecommendedInstanceType:recommendations[0].instanceType,MonthlySaving:recommendations[0].estimatedMonthlySavings.value}' \
--output table
# Pull average CPU utilization for an instance over 14 days
aws cloudwatch get-metric-statistics \
--namespace AWS/EC2 \
--metric-name CPUUtilization \
--dimensions Name=InstanceId,Value=i-1234567890abcdef0 \
--start-time 2026-03-09T00:00:00Z \
--end-time 2026-03-23T00:00:00Z \
--period 86400 \
--statistics Average \
--output table
# List all running instances by type for baseline analysis
aws ec2 describe-instances \
--filters Name=instance-state-name,Values=running \
--query 'Reservations[].Instances[].[InstanceId,InstanceType,Tags[?Key==`Name`].Value|[0],State.Name]' \
--output table
User: "Set up AWS Budgets and monitor my spend."
CLI commands to include in the response:
# Create a monthly cost budget with alert thresholds at 50%, 80%, 100%
aws budgets create-budget \
--account-id 123456789012 \
--budget '{
"BudgetName": "Monthly-Cost-Budget",
"BudgetLimit": {"Amount": "5000", "Unit": "USD"},
"TimeUnit": "MONTHLY",
"BudgetType": "COST"
}' \
--notifications-with-subscribers '[{"Notification": {"ComparisonOperator": "GREATER_THAN", "NotificationType": "ACTUAL", "Threshold": 80},"Subscribers": [{"Address": "email@example.com","SubscriptionType": "EMAIL"}]}]'
# Get top-5 cost drivers from Cost Explorer (last 30 days)
aws ce get-cost-and-usage \
--time-period Start=2026-02-23,End=2026-03-23 \
--granularity MONTHLY \
--metrics "BlendedCost" "UnblendedCost" \
--group-by Type=DIMENSION,Key=SERVICE \
--query 'ResultsByTime[0].Groups[*].{Service:Keys[0],BlendedCost:Metrics.BlendedCost.Amount}' \
--output table
# Enable Cost Anomaly Detection alert
aws ce create-anomaly-monitor \
--monitor-name "Daily-Cost-Anomaly" \
--monitor-arn "arn:aws:ce::123456789012:anomaly-monitor/cost-explorer"
User: "Optimize my S3 storage costs."
CLI commands to include in the response:
# List S3 buckets with size and storage class distribution
aws s3api list-buckets --query 'Buckets[*].Name'
aws s3api get-bucket-storage-type-aggregation --bucket YOUR-BUCKET-NAME
# Apply S3 Intelligent-Tiering lifecycle rule for objects older than 90 days
aws s3api put-bucket-lifecycle-configuration \
--bucket YOUR-BUCKET-NAME \
--lifecycle-configuration '{
"Rules": [{
"ID": "MoveToIntelligentTiering",
"Status": "Enabled",
"Filter": {},
"Transitions": [
{"Days": 30, "StorageClass": "INTELLIGENT_TIERING"},
{"Days": 90, "StorageClass": "GLACIER_IR"}
]
}]
}'
User: "Should I use Spot Instances or Savings Plans?"
CLI commands to include in the response:
# Check current RI and Savings Plans coverage
aws ce get-savings-plans-coverage \
--time-period Start=2026-01-01,End=2026-03-23 \
--granularity MONTHLY
# List available Spot price history for an instance type
aws ec2 describe-spot-price-history \
--instance-types t3.medium \
--product-description "Linux/UNIX" \
--availability-zone us-east-1a \
--query 'SpotPriceHistory[*].{Price:SpotPrice,Date:Timestamp}' \
--output table
# Estimate savings with Savings Plans vs On-Demand
aws savingsplans describe-savings-plans-rates \
--savings-plan-arn arn:aws:savingsplans::123456789012:savings-plan/SP-EXAMPLE
| Tool | Use Case |
|---|---|
| Cost Explorer | Visualize and filter AWS spend by service, account, or tag |
| AWS Budgets | Set custom spend budgets with threshold alerts |
| AWS Pricing Calculator | Model pricing for new or changed workloads |
| Compute Optimizer | ML-driven right-sizing recommendations for EC2, EBS, Lambda |
| Trusted Advisor | Automated cost optimization, security, performance checks |
| Data Lifecycle Manager | Automate EBS snapshot creation and retention |
| Cost Anomaly Detection | ML-powered spend anomaly alerts with root-cause analysis |
| # | Practice | Pillar |
|---|---|---|
| 1 | Choose appropriate AWS region (cost, latency, data sovereignty) | Right-Size |
| 2 | Schedule start/stop for non-production instances | Elasticity |
| 3 | Identify under-utilized EC2 instances | Right-Size |
| 4 | Reduce EC2 costs with Spot Instances | Pricing Model |
| 5 | Optimize Auto Scaling Group policies | Elasticity |
| 6 | Use or resell under-utilized Reserved Instances | Pricing Model |
| 7 | Leverage Compute Savings Plans | Pricing Model |
| 8 | Monitor and delete unused EBS volumes | Storage |
| 9 | Identify and clean up orphaned EBS snapshots | Storage |
| 10 | Remove idle load balancers; use CloudFront | Right-Size |
| 11 | Implement cost allocation tagging | Monitoring |
| 12 | Automate anomaly detection | Monitoring |