Awesome-copilot-agents azure-prices

Look up and compare Azure service pricing using the Azure Retail Prices API. Use this skill whenever the user asks about Azure costs, pricing, rates, or wants to compare prices across regions or services — even if they don't say "pricing" explicitly. Trigger for questions like "how much does a D2 v2 VM cost?", "cheapest region for Azure SQL", or "compare storage prices between eastus and westeurope".

install
source · Clone the upstream repo
git clone https://github.com/Code-and-Sorts/awesome-copilot-agents
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/Code-and-Sorts/awesome-copilot-agents "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/cloud/azure-prices" ~/.claude/skills/code-and-sorts-awesome-copilot-agents-azure-prices && rm -rf "$T"
manifest: skills/cloud/azure-prices/SKILL.md
source content

Azure Prices

Fetch and compare live Azure service pricing using the bundled scripts that call the Azure Retail Prices API.

Execution Rules

Always use the bundled npm script for price lookups and comparisons when terminal execution is available.

DO NOT call the Azure Retail Prices API directly. You can only use the script to call the API.

Scripts

All scripts live in

./scripts/
and run via npm:

# List sample service names (discover what's available)
npm run --prefix ./scripts get-prices

# Get prices for a service in a region (default region: eastus)
npm run --prefix ./scripts get-prices -- "Virtual Machines" eastus

The script accepts two positional arguments:

  1. Service name (required for price lookup) — e.g.
    "Virtual Machines"
    ,
    "SQL Database"
    ,
    "Storage"
    ,
    "Azure Cosmos DB"
  2. Region (optional, defaults to
    eastus
    ) — e.g.
    eastus
    ,
    westus2
    ,
    westeurope
    ,
    southeastasia

When called with no arguments, it prints a sample of available service names.

How to Use

The npm commands below are the preferred execution path for this skill and should be used instead of direct API calls whenever command execution is available.

Single region lookup

Run the script with the service name and region. Present results in a readable table.

Cross-region comparison

To compare prices across regions, run the script multiple times — once per region — then combine the results into a comparison table. For example, to compare Virtual Machines prices across three regions:

npm run --prefix ./scripts get-prices -- "Virtual Machines" eastus
npm run --prefix ./scripts get-prices -- "Virtual Machines" westus2
npm run --prefix ./scripts get-prices -- "Virtual Machines" westeurope

Then join the results by SKU name to show a side-by-side comparison table with columns for each region.

Finding the cheapest region

Run prices for the target service across several common regions and sort by price. Common Azure regions to compare:

  • eastus
    ,
    eastus2
    ,
    westus2
    ,
    centralus
    (US)
  • westeurope
    ,
    northeurope
    ,
    uksouth
    (Europe)
  • southeastasia
    ,
    eastasia
    ,
    japaneast
    (Asia-Pacific)

Service discovery

If the user isn't sure of the exact service name, run the script with no arguments first to get a sample of available names, then use the closest match.

Fallback Behavior

If command execution is unavailable, use the local script implementation as the behavioral reference, then fall back to public pricing sources only as needed. In that case, explicitly tell the user that script execution was unavailable before presenting results.

Output Format

Present pricing results as markdown tables. For comparisons, use a format like:

SKUEast USWest US 2West Europe
D2 v2$0.10/hr$0.11/hr$0.12/hr
D4 v2$0.20/hr$0.22/hr$0.24/hr

Highlight the cheapest option per row when doing comparisons. Include the currency and unit of measure.