Summary of AWS and GCP cloud spending over the past month. Invoke when user asks about cloud costs, AWS/GCP spend, billing summary, or monthly cloud bill.
Fetch and summarize AWS and GCP cloud spending for the past calendar month.
gather.sh — Fetches data from AWS Cost Explorer and GCP BigQuery, populates a local cache, and prints plain-text tables for Claude to read and summarize.render-chart.sh — Reads the cached Bedrock data and renders an ANSI stacked bar chart directly to the terminal. Must be run as a Bash tool call (not echoed as text) so colors display correctly.render-vertex-chart.sh — Reads the cached Vertex AI daily data and renders an ANSI stacked bar chart by Gemini model. Must be run as a Bash tool call so colors display correctly.Check whether the user passed --no-cache as an argument to this skill. If they did, append --no-cache to the gather script invocation:
bash /Users/hubertchen/.claude/skills/cloud-spend/gather.sh [--no-cache]
--no-cache deletes all cached responses before fetching, forcing a full refresh from AWS Cost Explorer and GCP BigQuery.
Use the script output as the source of truth for all steps below. Do not re-run any CLI commands the script already ran.
Run the chart script as a separate Bash tool call so ANSI colors reach the terminal:
bash /Users/hubertchen/.claude/skills/cloud-spend/render-chart.sh
Do not summarize or describe its output — the chart is self-explanatory. If the script exits with "No cached Bedrock data found", the gather step did not produce any Bedrock data (no charges in the last 30 days).
Run the Vertex AI chart script as a separate Bash tool call:
bash /Users/hubertchen/.claude/skills/cloud-spend/render-vertex-chart.sh
Do not summarize or describe its output — the chart is self-explanatory. If the script exits with "No cached Vertex AI data found", the gather step did not produce Vertex AI data (GCP auth may have failed, or no Vertex AI charges in the last 30 days).
From the AWS section of the gather output:
From the GCP section of the gather output:
Produce a brief combined view: