option
HomeHome Skill Cloud Infrastructure aws-billing-and-cost-management

aws-billing-and-cost-management

aws/agent-toolkit-for-aws aws/agent-toolkit-for-aws

Analyze AWS costs, find savings, manage budgets, evaluate Savings Plans and Reserved Instances, right-size EC2/Lambda/RDS/EBS with Compute Optimizer, look up service pricing, query CUR with Athena, detect cost anomalies, scope costs to billing views, and monitor Free Tier usage. Triggers on: AWS bill, cost analysis, reduce spend, savings plan, reserved instance, right-size, budget alert, cost optimization, pricing, free tier, cost anomaly, CUR, cost audit, billing view, billing view ARN.

...Expand all
16
Updated time August 25, 2026

About aws-billing-and-cost-management

Analyzes, optimizes, and manages AWS costs, encoding domain expertise from AWS's cost management products including common gotchas, correct API usage patterns, and optimization workflows. It is used for analyzing spending and cost trends, setting up budget alerts, evaluating Savings Plans and Reserved Instances, right-sizing EC2, Lambda, RDS, and EBS resources with Compute Optimizer, looking up service pricing, running cost audits or investigating spikes, querying CUR data with Athena, scoping analysis to a billing view, and checking Free Tier usage. Core concepts span Cost Explorer, Budgets, Billing Views, Compute Optimizer, the Cost Optimization Hub, Savings Plans and Reserved Instances, and CUR 2.0 queried via Athena. The AWS MCP server is the recommended setup for sandboxed execution and audit logging, but commands also work with any agent that has standard AWS CLI access.

Two critical rules are emphasized. The current date must be determined with a tool before any Cost Explorer, Budgets, or Savings Plans call, because models frequently default to training-data years and analyze stale data. Numerical calculations such as sums, averages, percentages, comparisons, and counts must never be reasoned out in the response and must always be done with a script or calculator tool, since LLM arithmetic on cost data is unreliable.

A decision guide routes each question to the right tool and reference file, and a common-tasks section gives concrete commands. Costs by service are analyzed with aws ce get-cost-and-usage grouped by SERVICE, defaulting to UnblendedCost, excluding Credits and Refunds via a RECORD_TYPE filter, and treating the end date as exclusive. Compute Optimizer requires opt-in via update-enrollment-status with status Active. A Billing Views section explains scoping cost data to a slice of billing by adding --billing-view-arn to supported calls, lists billing views with aws billing list-billing-views, and shows including BillingViewArn in a budget JSON, along with a table of which Cost Explorer APIs do and do not support the billing-view ARN. A troubleshooting table maps errors such as ValidationException from a wrong dimension key, empty filtered results, AccessDenied on hourly data, and the Budgets requirement to run in us-east-1 to their fixes.

FAQ

Why must I check the current date before making cost API calls?

LLMs frequently default to dates from their training data instead of the actual current date, producing analyses of stale data that look correct but are wrong. A tool must be used to determine the current date before any Cost Explorer, Budgets, or Savings Plans call.

How should numerical calculations on cost data be done?

Never by reasoning in the response. Sums, averages, percentages, comparisons, counts, and min or max must always be computed with a script or calculator tool, such as a Python script that prints the result, because LLM arithmetic is unreliable on cost data.

How do I scope cost analysis to a specific billing view?

Add --billing-view-arn to supported API calls and discover available views with aws billing list-billing-views (requires the billing:ListBillingViews permission). Supported calls include ce get-cost-and-usage and get-cost-forecast, while reservation and savings-plans coverage and utilization calls do not support it.

What setup does Compute Optimizer require?

It requires opt-in first by running aws compute-optimizer update-enrollment-status with status Active. Without enrollment, calls fail with an Account not registered error.

Why might a Budgets API call fail outside us-east-1?

The Budgets API requires the us-east-1 region. The troubleshooting guidance is to set the region to us-east-1 for Budgets calls.

All Files

16 filesreferences/cost-explorer.md7.3 KBViewreferences/cost-audit.md3.2 KBViewreferences/cur-athena.md7.0 KBViewreferences/deterministic-calculations.md2.5 KBViewreferences/ebs-optimization.md2.7 KBViewreferences/ec2-rightsizing.md3.2 KBViewreferences/pricing-lookup.md3.8 KBViewreferences/rds-optimization.md1.8 KBViewreferences/service-optimization.md2.9 KBViewSKILL.md8.8 KBViewreferences/budgets.md2.3 KBViewreferences/cost-optimization-hub.md7.1 KBViewreferences/free-tier.md1.6 KBViewreferences/reserved-instances.md2.3 KBViewreferences/lambda-optimization.md2.1 KBViewreferences/savings-plans.md3.3 KBView
View on GitHub

Overview

Analyze, optimize, and manage AWS costs. This skill encodes domain expertise from AWS's cost management products — gotchas, correct API usage patterns, and optimization workflows that models frequently get wrong.

Usage

Use this skill when:

  • Analyzing AWS spending, cost trends, or cost breakdowns
  • Setting up or managing budget alerts
  • Evaluating Savings Plans or Reserved Instance purchases
  • Right-sizing EC2, Lambda, RDS, or EBS resources
  • Looking up AWS service pricing
  • Running cost audits or investigating cost spikes
  • Querying CUR data with Athena
  • Scoping cost analysis to a specific billing view
  • Checking Free Tier usage

Core Concepts

  • Cost Explorer — query cost/usage data by service, account, tag, or time range
  • Budgets — set spending thresholds with alerts; supports billing view scoping
  • Billing Views — scope cost data to a subset of billing (custom view, billing group, or primary)
  • Compute Optimizer — right-sizing recommendations for EC2, Lambda, EBS, RDS
  • Cost Optimization Hub — aggregated savings recommendations across services
  • Savings Plans / Reserved Instances — commitment-based discounts
  • CUR 2.0 — detailed line-item billing data queryable via Athena

Recommended setup: Use the AWS MCP server for sandboxed execution, audit logging, and enterprise controls. See: https://docs.aws.amazon.com/aws-mcp/

Without AWS MCP: All commands use standard AWS CLI syntax and work with any agent that has CLI access.

Critical Rule: Always Check the Current Date

Before making ANY Cost Explorer, Budgets, or Savings Plans API call, you MUST determine the current date. Use a tool to get the current date and time — do NOT assume or guess the year. LLMs frequently default to dates from their training data instead of the actual current date, producing analyses of stale data that appear correct but are completely wrong.

Critical Rule: Deterministic Calculations

You MUST NEVER perform numerical calculations (sums, averages, percentages, comparisons, counts, min/max) by reasoning in your response. LLM arithmetic is unreliable and produces wrong answers on cost data.

You MUST ALWAYS use a script or calculator tool for any math on data returned from API calls. Write a Python script that performs the calculation and prints the result. If the AWS MCP server's run_script tool is available, use it. Otherwise, run the script locally.

Read references/deterministic-calculations.md for patterns and examples.

Decision Guide

QuestionToolReference
What am I spending? Where are costs going up?Cost Explorerreferences/cost-explorer.md
How much does a service cost?Price List APIreferences/pricing-lookup.md
Where can I save money? (start here)Cost Optimization Hubreferences/cost-optimization-hub.md
Should I buy Savings Plans?CE SP Recommendationsreferences/savings-plans.md
Should I buy Reserved Instances?CE RI Recommendationsreferences/reserved-instances.md
Deep-dive on a specific EC2/Lambda/EBS/RDS rec?Compute Optimizerreferences/ec2-rightsizing.md, references/lambda-optimization.md, references/rds-optimization.md, references/ebs-optimization.md
How do I set up budget alerts?Budgetsreferences/budgets.md
What's causing a cost spike?Cost Anomaly Detectionreferences/cost-explorer.md
Am I within Free Tier?Free Tier APIreferences/free-tier.md
How do I reduce my bill?Cost Audit workflowreferences/cost-audit.md
How do I query detailed billing data?CUR 2.0 + Athenareferences/cur-athena.md
How do I optimize specific services?Per-service patternsreferences/service-optimization.md
How do I scope costs to a billing view?Billing ViewsSee Billing Views below

Common Tasks

Analyze costs by service

aws ce get-cost-and-usage \  --time-period Start=2026-03-01,End=2026-04-01 \  --granularity MONTHLY \  --metrics UnblendedCost \  --group-by Type=DIMENSION,Key=SERVICE

Default to UnblendedCost. Exclude Credits/Refunds with --filter '{"Not":{"Dimensions":{"Key":"RECORD_TYPE","Values":["Credit","Refund"]}}}'. End date is exclusive.

Run a cost audit

Read references/cost-audit.md for the full 7-step workflow: top cost drivers → month-over-month comparison → optimization recommendations → idle resources → commitment coverage → per-service quick wins → report.

Get right-sizing recommendations

Compute Optimizer requires opt-in first: aws compute-optimizer update-enrollment-status --status Active. Then read references/ec2-rightsizing.md for EC2 or the relevant resource-specific reference.

Look up service pricing

Read references/pricing-lookup.md for service codes and attribute filters. Common trap: Price List API service codes differ from Cost Explorer service names.

Billing Views

A billing view scopes cost and usage data to a specific slice of an account's billing (e.g., a billing group, custom view, or the default primary view). When the user wants to analyze costs through a particular billing view, add --billing-view-arn to supported API calls.

Discover available billing views

aws billing list-billing-views \  --billing-view-types PRIMARY CUSTOM BILLING_GROUP

Requires billing:ListBillingViews permission.

Use a billing view with Cost Explorer

aws ce get-cost-and-usage \  --time-period Start=2026-03-01,End=2026-04-01 \  --granularity MONTHLY \  --metrics UnblendedCost \  --group-by Type=DIMENSION,Key=SERVICE \  --billing-view-arn arn:aws:billing::ACCOUNT_ID:billingview/BILLING_VIEW_ID

Create a budget scoped to a billing view

In the --budget JSON, include the BillingViewArn field:

aws budgets create-budget --account-id ACCOUNT_ID \  --budget '{    "BudgetName": "TeamX-Monthly",    "BudgetLimit": {"Amount": "1000", "Unit": "USD"},    "TimeUnit": "MONTHLY",    "BudgetType": "COST",    "BillingViewArn": "arn:aws:billing::ACCOUNT_ID:billingview/BILLING_VIEW_ID"  }'

API support for --billing-view-arn

Supports --billing-view-arnDoes NOT support it
ce get-cost-and-usagece get-reservation-coverage
ce get-cost-and-usage-with-resourcesce get-reservation-utilization
ce get-cost-forecastce get-savings-plans-coverage
ce get-usage-forecastce get-savings-plans-utilization
ce get-dimension-values
ce get-tags
ce get-cost-comparison-drivers
budgets create-budget (in budget JSON)

Troubleshooting

ErrorCauseFix
ValidationException on Cost ExplorerWrong dimension key (e.g., CHARGE_TYPE instead of RECORD_TYPE)Use RECORD_TYPE for charge type filtering
Empty results with filterFilter value doesn't match exactlyCall GetDimensionValues first to get valid values
AccessDeniedException on hourly dataHourly granularity not enabledEnable in Cost Explorer preferences
Account not registered on Compute OptimizerNot opted inRun update-enrollment-status --status Active
Budgets API fails outside us-east-1Budgets requires us-east-1Set --region us-east-1
Cost Explorer Total empty with GroupByBy design — totals excluded when groupingMake separate call without GroupBy, or sum grouped results using a script
AccessDeniedException on list-billing-viewsMissing permissionUser needs billing:ListBillingViews permissions
ValidationException with --billing-view-arnAPI doesn't support billing views, or malformed ARNCheck the API support table above; ARN format is arn:aws:billing::ACCOUNT_ID:billingview/VIEW_ID
Budget shows UNHEALTHY health statusBilling view access revoked or view deletedCheck HealthStatus.StatusReason in describe-budget output; ensure billing:GetBillingViewData is granted

Additional Resources

  • AWS Cost Management User Guide: https://docs.aws.amazon.com/cost-management/
  • AWS Pricing Calculator: https://calculator.aws/
  • Compute Optimizer User Guide: https://docs.aws.amazon.com/compute-optimizer/
  • Well-Architected Cost Optimization Pillar: https://docs.aws.amazon.com/wellarchitected/latest/cost-optimization-pillar/

All Files

0 files

Install aws-billing-and-cost-management

Download and extract the skill files to your .claude/skills/ directory.

Download ZIP

Clone the repository and copy the skill files to your project.

git clone https://github.com/aws/agent-toolkit-for-aws/blob/main/skills/core-skills/aws-billing-and-cost-management/SKILL.md # Copy SKILL.md to your .claude/skills/ directory

Copy Copy
Quick Setup: Copy the skill folder to .claude/skills/Claude will automatically detect and use the skill

Related Skills

Cloudflare Manager
Updated time June 29, 2026
pinecone
Updated time June 29, 2026
azure-setup-guide
Updated time June 29, 2026
sentry-architecture-variants
Updated time June 29, 2026
OR