Analyze and optimize AWS costs with recommendations for Reserved Instances, right-sizing, and resource cleanup. Use when reducing AWS spending, analyzing costs, or optimizing cloud infrastructure expenses.
View on GitHubarmanzeroeight/fastagent-plugins
aws-toolkit
January 21, 2026
Select agents to install to:
npx add-skill https://github.com/armanzeroeight/fastagent-plugins/blob/main/plugins/aws-toolkit/skills/aws-cost-optimizer/SKILL.md -a claude-code --skill aws-cost-optimizerInstallation paths:
.claude/skills/aws-cost-optimizer/# AWS Cost Optimizer
Analyze and optimize AWS costs with actionable recommendations.
## Quick Start
Review Cost Explorer, identify top costs, right-size instances, use Reserved Instances, delete unused resources.
## Instructions
### Cost Analysis Process
1. **Identify cost drivers**
2. **Analyze usage patterns**
3. **Recommend optimizations**
4. **Estimate savings**
5. **Implement changes**
### Using AWS Cost Explorer
**Access Cost Explorer:**
- AWS Console → Billing → Cost Explorer
- View costs by service, region, tag
**Key metrics to check:**
- Monthly costs by service
- Cost trends over time
- Unused or underutilized resources
- Data transfer costs
### EC2 Cost Optimization
**Right-sizing instances:**
Check utilization:
```bash
# Get CloudWatch metrics
aws cloudwatch get-metric-statistics \
--namespace AWS/EC2 \
--metric-name CPUUtilization \
--dimensions Name=InstanceId,Value=i-1234567890abcdef0 \
--start-time 2024-01-01T00:00:00Z \
--end-time 2024-01-31T23:59:59Z \
--period 3600 \
--statistics Average
```
**Recommendations:**
- CPU < 20%: Downsize instance type
- CPU > 80%: Upsize or add instances
- Memory < 50%: Consider smaller instance
**Reserved Instances:**
- 1-year: ~30-40% savings
- 3-year: ~50-70% savings
- Best for predictable workloads
**Savings Plans:**
- More flexible than Reserved Instances
- Commit to $/hour usage
- Apply across instance families
**Spot Instances:**
- Up to 90% savings
- For fault-tolerant workloads
- Batch processing, CI/CD, testing
**Stop unused instances:**
```bash
# Find stopped instances
aws ec2 describe-instances \
--filters "Name=instance-state-name,Values=stopped" \
--query 'Reservations[].Instances[].[InstanceId,Tags[?Key==`Name`].Value|[0]]'
# Terminate if not needed
aws ec2 terminate-instances --instance-ids i-1234567890abcdef0
```
### S3 Cost Optimization
**Lifecycle policies:**
```json
{
"Rules": [{
"Id": "Archive old data",
"Status": "Enabled",
"Transitions": [