diff --git a/docs/README.plugins.md b/docs/README.plugins.md
index 1fad9760..095228f8 100644
--- a/docs/README.plugins.md
+++ b/docs/README.plugins.md
@@ -21,7 +21,7 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-plugins) for guidelines on how t
| Name | Description | Items | Tags |
| ---- | ----------- | ----- | ---- |
| [awesome-copilot](../plugins/awesome-copilot/README.md) | Meta prompts that help you discover and generate curated GitHub Copilot agents, instructions, prompts, and skills. | 5 items | github-copilot, discovery, meta, prompt-engineering, agents |
-| [azure-cloud-development](../plugins/azure-cloud-development/README.md) | Comprehensive Azure cloud development tools including Infrastructure as Code, serverless functions, architecture patterns, and cost optimization for building scalable cloud applications. | 10 items | azure, cloud, infrastructure, bicep, terraform, serverless, architecture, devops |
+| [azure-cloud-development](../plugins/azure-cloud-development/README.md) | Comprehensive Azure cloud development tools including Infrastructure as Code, serverless functions, architecture patterns, and cost optimization for building scalable cloud applications. | 11 items | azure, cloud, infrastructure, bicep, terraform, serverless, architecture, devops |
| [cast-imaging](../plugins/cast-imaging/README.md) | A comprehensive collection of specialized agents for software analysis, impact assessment, structural quality advisories, and architectural review using CAST Imaging. | 3 items | cast-imaging, software-analysis, architecture, quality, impact-analysis, devops |
| [clojure-interactive-programming](../plugins/clojure-interactive-programming/README.md) | Tools for REPL-first Clojure workflows featuring Clojure instructions, the interactive programming chat mode and supporting guidance. | 2 items | clojure, repl, interactive-programming |
| [context-engineering](../plugins/context-engineering/README.md) | Tools and techniques for maximizing GitHub Copilot effectiveness through better context management. Includes guidelines for structuring code, an agent for planning multi-file changes, and prompts for context-aware development. | 4 items | context, productivity, refactoring, best-practices, architecture |
diff --git a/docs/README.skills.md b/docs/README.skills.md
index c350ad2b..7da25bdf 100644
--- a/docs/README.skills.md
+++ b/docs/README.skills.md
@@ -39,6 +39,7 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-skills) for guidelines on how to
| [az-cost-optimize](../skills/az-cost-optimize/SKILL.md) | Analyze Azure resources used in the app (IaC files and/or resources in a target rg) and optimize costs - creating GitHub issues for identified optimizations. | None |
| [azure-deployment-preflight](../skills/azure-deployment-preflight/SKILL.md) | Performs comprehensive preflight validation of Bicep deployments to Azure, including template syntax validation, what-if analysis, and permission checks. Use this skill before any deployment to Azure to preview changes, identify potential issues, and ensure the deployment will succeed. Activate when users mention deploying to Azure, validating Bicep files, checking deployment permissions, previewing infrastructure changes, running what-if, or preparing for azd provision. | `references/ERROR-HANDLING.md`
`references/REPORT-TEMPLATE.md`
`references/VALIDATION-COMMANDS.md` |
| [azure-devops-cli](../skills/azure-devops-cli/SKILL.md) | Manage Azure DevOps resources via CLI including projects, repos, pipelines, builds, pull requests, work items, artifacts, and service endpoints. Use when working with Azure DevOps, az commands, devops automation, CI/CD, or when user mentions Azure DevOps CLI. | `references/advanced-usage.md`
`references/boards-and-iterations.md`
`references/org-and-security.md`
`references/pipelines-and-builds.md`
`references/repos-and-prs.md`
`references/variables-and-agents.md`
`references/workflows-and-patterns.md` |
+| [azure-pricing](../skills/azure-pricing/SKILL.md) | Fetches real-time Azure retail pricing using the Azure Retail Prices API (prices.azure.com) and estimates Copilot Studio agent credit consumption. Use when the user asks about the cost of any Azure service, wants to compare SKU prices, needs pricing data for a cost estimate, mentions Azure pricing, Azure costs, Azure billing, or asks about Copilot Studio pricing, Copilot Credits, or agent usage estimation. Covers compute, storage, networking, databases, AI, Copilot Studio, and all other Azure service families. | `references/COPILOT-STUDIO-RATES.md`
`references/COST-ESTIMATOR.md`
`references/REGIONS.md`
`references/SERVICE-NAMES.md` |
| [azure-resource-health-diagnose](../skills/azure-resource-health-diagnose/SKILL.md) | Analyze Azure resource health, diagnose issues from logs and telemetry, and create a remediation plan for identified problems. | None |
| [azure-resource-visualizer](../skills/azure-resource-visualizer/SKILL.md) | Analyze Azure resource groups and generate detailed Mermaid architecture diagrams showing the relationships between individual resources. Use this skill when the user asks for a diagram of their Azure resources or help in understanding how the resources relate to each other. | `LICENSE.txt`
`assets/template-architecture.md` |
| [azure-role-selector](../skills/azure-role-selector/SKILL.md) | When user is asking for guidance for which role to assign to an identity given desired permissions, this agent helps them understand the role that will meet the requirements with least privilege access and how to apply that role. | `LICENSE.txt` |
diff --git a/plugins/azure-cloud-development/.github/plugin/plugin.json b/plugins/azure-cloud-development/.github/plugin/plugin.json
index 83b77213..9d25bcb8 100644
--- a/plugins/azure-cloud-development/.github/plugin/plugin.json
+++ b/plugins/azure-cloud-development/.github/plugin/plugin.json
@@ -29,6 +29,7 @@
"skills": [
"./skills/azure-resource-health-diagnose/",
"./skills/az-cost-optimize/",
- "./skills/import-infrastructure-as-code/"
+ "./skills/import-infrastructure-as-code/",
+ "./skills/azure-pricing/"
]
}
diff --git a/skills/azure-pricing/SKILL.md b/skills/azure-pricing/SKILL.md
new file mode 100644
index 00000000..056d4fe1
--- /dev/null
+++ b/skills/azure-pricing/SKILL.md
@@ -0,0 +1,189 @@
+---
+name: azure-pricing
+description: 'Fetches real-time Azure retail pricing using the Azure Retail Prices API (prices.azure.com) and estimates Copilot Studio agent credit consumption. Use when the user asks about the cost of any Azure service, wants to compare SKU prices, needs pricing data for a cost estimate, mentions Azure pricing, Azure costs, Azure billing, or asks about Copilot Studio pricing, Copilot Credits, or agent usage estimation. Covers compute, storage, networking, databases, AI, Copilot Studio, and all other Azure service families.'
+compatibility: Requires internet access to prices.azure.com and learn.microsoft.com. No authentication needed.
+metadata:
+ author: anthonychu
+ version: "1.2"
+---
+
+# Azure Pricing Skill
+
+Use this skill to retrieve real-time Azure retail pricing data from the public Azure Retail Prices API. No authentication is required.
+
+## When to Use This Skill
+
+- User asks about the cost of an Azure service (e.g., "How much does a D4s v5 VM cost?")
+- User wants to compare pricing across regions or SKUs
+- User needs a cost estimate for a workload or architecture
+- User mentions Azure pricing, Azure costs, or Azure billing
+- User asks about reserved instance vs. pay-as-you-go pricing
+- User wants to know about savings plans or spot pricing
+
+## API Endpoint
+
+```
+GET https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview
+```
+
+Append `$filter` as a query parameter using OData filter syntax. Always use `api-version=2023-01-01-preview` to ensure savings plan data is included.
+
+## Step-by-step Instructions
+
+If anything is unclear about the user's request, ask clarifying questions to identify the correct filter fields and values before calling the API.
+
+1. **Identify filter fields** from the user's request (service name, region, SKU, price type).
+2. **Resolve the region**: the API requires `armRegionName` values in lowercase with no spaces (e.g. "East US" → `eastus`, "West Europe" → `westeurope`, "Southeast Asia" → `southeastasia`). See [references/REGIONS.md](references/REGIONS.md) for a complete list.
+3. **Build the filter string** using the fields below and fetch the URL.
+4. **Parse the `Items` array** from the JSON response. Each item contains price and metadata.
+5. **Follow pagination** via `NextPageLink` if you need more than the first 1000 results (rarely needed).
+6. **Calculate cost estimates** using the formulas in [references/COST-ESTIMATOR.md](references/COST-ESTIMATOR.md) to produce monthly/annual estimates.
+7. **Present results** in a clear summary table with service, SKU, region, unit price, and monthly/annual estimates.
+
+## Filterable Fields
+
+| Field | Type | Example |
+|---|---|---|
+| `serviceName` | string (exact, case-sensitive) | `'Functions'`, `'Virtual Machines'`, `'Storage'` |
+| `serviceFamily` | string (exact, case-sensitive) | `'Compute'`, `'Storage'`, `'Databases'`, `'AI + Machine Learning'` |
+| `armRegionName` | string (exact, lowercase) | `'eastus'`, `'westeurope'`, `'southeastasia'` |
+| `armSkuName` | string (exact) | `'Standard_D4s_v5'`, `'Standard_LRS'` |
+| `skuName` | string (contains supported) | `'D4s v5'` |
+| `priceType` | string | `'Consumption'`, `'Reservation'`, `'DevTestConsumption'` |
+| `meterName` | string (contains supported) | `'Spot'` |
+
+Use `eq` for equality, `and` to combine, and `contains(field, 'value')` for partial matches.
+
+## Example Filter Strings
+
+```
+# All consumption prices for Functions in East US
+serviceName eq 'Functions' and armRegionName eq 'eastus' and priceType eq 'Consumption'
+
+# D4s v5 VMs in West Europe (consumption only)
+armSkuName eq 'Standard_D4s_v5' and armRegionName eq 'westeurope' and priceType eq 'Consumption'
+
+# All storage prices in a region
+serviceName eq 'Storage' and armRegionName eq 'eastus'
+
+# Spot pricing for a specific SKU
+armSkuName eq 'Standard_D4s_v5' and contains(meterName, 'Spot') and armRegionName eq 'eastus'
+
+# 1-year reservation pricing
+serviceName eq 'Virtual Machines' and priceType eq 'Reservation' and armRegionName eq 'eastus'
+
+# Azure AI / OpenAI pricing (now under Foundry Models)
+serviceName eq 'Foundry Models' and armRegionName eq 'eastus' and priceType eq 'Consumption'
+
+# Azure Cosmos DB pricing
+serviceName eq 'Azure Cosmos DB' and armRegionName eq 'eastus' and priceType eq 'Consumption'
+```
+
+## Full Example Fetch URL
+
+```
+https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview&$filter=serviceName eq 'Functions' and armRegionName eq 'eastus' and priceType eq 'Consumption'
+```
+
+URL-encode spaces as `%20` and quotes as `%27` when constructing the URL.
+
+## Key Response Fields
+
+```json
+{
+ "Items": [
+ {
+ "retailPrice": 0.000016,
+ "unitPrice": 0.000016,
+ "currencyCode": "USD",
+ "unitOfMeasure": "1 Execution",
+ "serviceName": "Functions",
+ "skuName": "Premium",
+ "armRegionName": "eastus",
+ "meterName": "vCPU Duration",
+ "productName": "Functions",
+ "priceType": "Consumption",
+ "isPrimaryMeterRegion": true,
+ "savingsPlan": [
+ { "unitPrice": 0.000012, "term": "1 Year" },
+ { "unitPrice": 0.000010, "term": "3 Years" }
+ ]
+ }
+ ],
+ "NextPageLink": null,
+ "Count": 1
+}
+```
+
+Only use items where `isPrimaryMeterRegion` is `true` unless the user specifically asks for non-primary meters.
+
+## Supported serviceFamily Values
+
+`Analytics`, `Compute`, `Containers`, `Data`, `Databases`, `Developer Tools`, `Integration`, `Internet of Things`, `Management and Governance`, `Networking`, `Security`, `Storage`, `Web`, `AI + Machine Learning`
+
+## Tips
+
+- `serviceName` values are case-sensitive. When unsure, filter by `serviceFamily` first to discover valid `serviceName` values in the results.
+- If results are empty, try broadening the filter (e.g., remove `priceType` or region constraints first).
+- Prices are always in USD unless `currencyCode` is specified in the request.
+- For savings plan prices, look for the `savingsPlan` array on each item (only in `2023-01-01-preview`).
+- See [references/SERVICE-NAMES.md](references/SERVICE-NAMES.md) for a catalog of common service names and their correct casing.
+- See [references/COST-ESTIMATOR.md](references/COST-ESTIMATOR.md) for cost estimation formulas and patterns.
+- See [references/COPILOT-STUDIO-RATES.md](references/COPILOT-STUDIO-RATES.md) for Copilot Studio billing rates and estimation formulas.
+
+## Troubleshooting
+
+| Issue | Solution |
+|-------|----------|
+| Empty results | Broaden the filter — remove `priceType` or `armRegionName` first |
+| Wrong service name | Use `serviceFamily` filter to discover valid `serviceName` values |
+| Missing savings plan data | Ensure `api-version=2023-01-01-preview` is in the URL |
+| URL errors | Check URL encoding — spaces as `%20`, quotes as `%27` |
+| Too many results | Add more filter fields (region, SKU, priceType) to narrow down |
+
+---
+
+# Copilot Studio Agent Usage Estimation
+
+Use this section when the user asks about Copilot Studio pricing, Copilot Credits, or agent usage costs.
+
+## When to Use This Section
+
+- User asks about Copilot Studio pricing or costs
+- User asks about Copilot Credits or agent credit consumption
+- User wants to estimate monthly costs for a Copilot Studio agent
+- User mentions agent usage estimation or the Copilot Studio estimator
+- User asks how much an agent will cost to run
+
+## Key Facts
+
+- **1 Copilot Credit = $0.01 USD**
+- Credits are pooled across the entire tenant
+- Employee-facing agents with M365 Copilot licensed users get classic answers, generative answers, and tenant graph grounding at zero cost
+- Overage enforcement triggers at 125% of prepaid capacity
+
+## Step-by-step Estimation
+
+1. **Gather inputs** from the user: agent type (employee/customer), number of users, interactions/month, knowledge %, tenant graph %, tool usage per session.
+2. **Fetch live billing rates** — use the built-in web fetch tool to download the latest rates from the source URLs listed below. This ensures the estimate always uses the most current Microsoft pricing.
+3. **Parse the fetched content** to extract the current billing rates table (credits per feature type).
+4. **Calculate the estimate** using the rates and formulas from the fetched content:
+ - `total_sessions = users × interactions_per_month`
+ - Knowledge credits: apply tenant graph grounding rate, generative answer rate, and classic answer rate
+ - Agent tools credits: apply agent action rate per tool call
+ - Agent flow credits: apply flow rate per 100 actions
+ - Prompt modifier credits: apply basic/standard/premium rates per 10 responses
+5. **Present results** in a clear table with breakdown by category, total credits, and estimated USD cost.
+
+## Source URLs to Fetch
+
+When answering Copilot Studio pricing questions, fetch the latest content from these URLs to use as context:
+
+| URL | Content |
+|---|---|
+| https://learn.microsoft.com/en-us/microsoft-copilot-studio/requirements-messages-management | Billing rates table, billing examples, overage enforcement rules |
+| https://learn.microsoft.com/en-us/microsoft-copilot-studio/billing-licensing | Licensing options, M365 Copilot inclusions, prepaid vs pay-as-you-go |
+
+Fetch at least the first URL (billing rates) before calculating. The second URL provides supplementary context for licensing questions.
+
+See [references/COPILOT-STUDIO-RATES.md](references/COPILOT-STUDIO-RATES.md) for a cached snapshot of rates, formulas, and billing examples (use as fallback if web fetch is unavailable).
diff --git a/skills/azure-pricing/references/COPILOT-STUDIO-RATES.md b/skills/azure-pricing/references/COPILOT-STUDIO-RATES.md
new file mode 100644
index 00000000..841fcada
--- /dev/null
+++ b/skills/azure-pricing/references/COPILOT-STUDIO-RATES.md
@@ -0,0 +1,135 @@
+# Copilot Studio — Billing Rates & Estimation
+
+> Source: [Billing rates and management](https://learn.microsoft.com/en-us/microsoft-copilot-studio/requirements-messages-management)
+> Estimator: [Microsoft agent usage estimator](https://microsoft.github.io/copilot-studio-estimator/)
+> Licensing Guide: [Copilot Studio Licensing Guide](https://go.microsoft.com/fwlink/?linkid=2320995)
+
+## Copilot Credit Rate
+
+**1 Copilot Credit = $0.01 USD**
+
+## Billing Rates (cached snapshot — last updated March 2026)
+
+**IMPORTANT: Always prefer fetching live rates from the source URLs below. Use this table only as a fallback if web fetch is unavailable.**
+
+| Feature | Rate | Unit |
+|---|---|---|
+| Classic answer | 1 | per response |
+| Generative answer | 2 | per response |
+| Agent action | 5 | per action (triggers, deep reasoning, topic transitions, computer use) |
+| Tenant graph grounding | 10 | per message |
+| Agent flow actions | 13 | per 100 flow actions |
+| Text & gen AI tools (basic) | 1 | per 10 responses |
+| Text & gen AI tools (standard) | 15 | per 10 responses |
+| Text & gen AI tools (premium) | 100 | per 10 responses |
+| Content processing tools | 8 | per page |
+
+### Notes
+
+- **Classic answers**: Predefined, manually authored responses. Static — don't change unless updated by the maker.
+- **Generative answers**: Dynamically generated using AI models (GPTs). Adapt based on context and knowledge sources.
+- **Tenant graph grounding**: RAG over tenant-wide Microsoft Graph, including external data via connectors. Optional per agent.
+- **Agent actions**: Steps like triggers, deep reasoning, topic transitions visible in the activity map. Includes Computer-Using Agents.
+- **Text & gen AI tools**: Prompt tools embedded in agents. Three tiers (basic/standard/premium) based on the underlying language model.
+- **Agent flow actions**: Predefined flow action sequences executed without agent reasoning/orchestration at each step.
+
+### Reasoning Model Billing
+
+When using a reasoning-capable model:
+
+```
+Total cost = feature rate for operation + text & gen AI tools (premium) per 10 responses
+```
+
+Example: A generative answer using a reasoning model costs **2 credits** (generative answer) **+ 10 credits** (premium per response, prorated from 100/10).
+
+## Estimation Formula
+
+### Inputs
+
+| Parameter | Description |
+|---|---|
+| `users` | Number of end users |
+| `interactions_per_month` | Average interactions per user per month |
+| `knowledge_pct` | % of responses from knowledge sources (0-100) |
+| `tenant_graph_pct` | Of knowledge responses, % using tenant graph grounding (0-100) |
+| `tool_prompt` | Average Prompt tool calls per session |
+| `tool_agent_flow` | Average Agent flow calls per session |
+| `tool_computer_use` | Average Computer use calls per session |
+| `tool_custom_connector` | Average Custom connector calls per session |
+| `tool_mcp` | Average MCP (Model Context Protocol) calls per session |
+| `tool_rest_api` | Average REST API calls per session |
+| `prompts_basic` | Average basic AI prompt uses per session |
+| `prompts_standard` | Average standard AI prompt uses per session |
+| `prompts_premium` | Average premium AI prompt uses per session |
+
+### Calculation
+
+```
+total_sessions = users × interactions_per_month
+
+── Knowledge Credits ──
+tenant_graph_credits = total_sessions × (knowledge_pct/100) × (tenant_graph_pct/100) × 10
+generative_answer_credits = total_sessions × (knowledge_pct/100) × (1 - tenant_graph_pct/100) × 2
+classic_answer_credits = total_sessions × (1 - knowledge_pct/100) × 1
+
+── Agent Tools Credits ──
+tool_calls = total_sessions × (prompt + computer_use + custom_connector + mcp + rest_api)
+tool_credits = tool_calls × 5
+
+── Agent Flow Credits ──
+flow_calls = total_sessions × tool_agent_flow
+flow_credits = ceil(flow_calls / 100) × 13
+
+── Prompt Modifier Credits ──
+basic_credits = ceil(total_sessions × prompts_basic / 10) × 1
+standard_credits = ceil(total_sessions × prompts_standard / 10) × 15
+premium_credits = ceil(total_sessions × prompts_premium / 10) × 100
+
+── Total ──
+total_credits = knowledge + tools + flows + prompts
+cost_usd = total_credits × 0.01
+```
+
+## Billing Examples (from Microsoft Docs)
+
+### Customer Support Agent
+
+- 4 classic answers + 2 generative answers per session
+- 900 customers/day
+- **Daily**: `[(4×1) + (2×2)] × 900 = 7,200 credits`
+- **Monthly (30d)**: ~216,000 credits = **~$2,160**
+
+### Sales Performance Agent (Tenant Graph Grounded)
+
+- 4 generative answers + 4 tenant graph grounded responses per session
+- 100 unlicensed users
+- **Daily**: `[(4×2) + (4×10)] × 100 = 4,800 credits`
+- **Monthly (30d)**: ~144,000 credits = **~$1,440**
+
+### Order Processing Agent
+
+- 4 action calls per trigger (autonomous)
+- **Per trigger**: `4 × 5 = 20 credits`
+
+## Employee vs Customer Agent Types
+
+| Agent Type | Included with M365 Copilot? |
+|---|---|
+| Employee-facing (BtoE) | Classic answers, generative answers, and tenant graph grounding are included at zero cost when the user has a Microsoft 365 Copilot license |
+| Customer/partner-facing | All usage is billed normally |
+
+## Overage Enforcement
+
+- Triggered at **125%** of prepaid capacity
+- Custom agents are disabled (ongoing conversations continue)
+- Email notification sent to tenant admin
+- Resolution: reallocate capacity, purchase more, or enable pay-as-you-go
+
+## Live Source URLs
+
+For the latest rates, fetch content from these pages:
+
+- [Billing rates and management](https://learn.microsoft.com/en-us/microsoft-copilot-studio/requirements-messages-management)
+- [Copilot Studio licensing](https://learn.microsoft.com/en-us/microsoft-copilot-studio/billing-licensing)
+- [Copilot Studio Licensing Guide (PDF)](https://go.microsoft.com/fwlink/?linkid=2320995)
diff --git a/skills/azure-pricing/references/COST-ESTIMATOR.md b/skills/azure-pricing/references/COST-ESTIMATOR.md
new file mode 100644
index 00000000..79a281f0
--- /dev/null
+++ b/skills/azure-pricing/references/COST-ESTIMATOR.md
@@ -0,0 +1,142 @@
+# Cost Estimator Reference
+
+Formulas and patterns for converting Azure unit prices into monthly and annual cost estimates.
+
+## Standard Time-Based Calculations
+
+### Hours per Month
+
+Azure uses **730 hours/month** as the standard billing period (365 days × 24 hours / 12 months).
+
+```
+Monthly Cost = Unit Price per Hour × 730
+Annual Cost = Monthly Cost × 12
+```
+
+### Common Multipliers
+
+| Period | Hours | Calculation |
+|--------|-------|-------------|
+| 1 Hour | 1 | Unit price |
+| 1 Day | 24 | Unit price × 24 |
+| 1 Week | 168 | Unit price × 168 |
+| 1 Month | 730 | Unit price × 730 |
+| 1 Year | 8,760 | Unit price × 8,760 |
+
+## Service-Specific Formulas
+
+### Virtual Machines (Compute)
+
+```
+Monthly Cost = hourly price × 730
+```
+
+For VMs that run only business hours (8h/day, 22 days/month):
+```
+Monthly Cost = hourly price × 176
+```
+
+### Azure Functions
+
+```
+Execution Cost = price per execution × number of executions
+Compute Cost = price per GB-s × (memory in GB × execution time in seconds × number of executions)
+Total Monthly = Execution Cost + Compute Cost
+```
+
+Free grant: 1M executions and 400,000 GB-s per month.
+
+### Azure Blob Storage
+
+```
+Storage Cost = price per GB × storage in GB
+Transaction Cost = price per 10,000 ops × (operations / 10,000)
+Egress Cost = price per GB × egress in GB
+Total Monthly = Storage Cost + Transaction Cost + Egress Cost
+```
+
+### Azure Cosmos DB
+
+#### Provisioned Throughput
+```
+Monthly Cost = (RU/s / 100) × price per 100 RU/s × 730
+```
+
+#### Serverless
+```
+Monthly Cost = (total RUs consumed / 1,000,000) × price per 1M RUs
+```
+
+### Azure SQL Database
+
+#### DTU Model
+```
+Monthly Cost = price per DTU × DTUs × 730
+```
+
+#### vCore Model
+```
+Monthly Cost = vCore price × vCores × 730 + storage price per GB × storage GB
+```
+
+### Azure Kubernetes Service (AKS)
+
+```
+Monthly Cost = node VM price × 730 × number of nodes
+```
+
+Control plane is free for standard tier.
+
+### Azure App Service
+
+```
+Monthly Cost = plan price × 730 (for hourly-priced plans)
+```
+
+Or flat monthly price for fixed-tier plans.
+
+### Azure OpenAI
+
+```
+Monthly Cost = (input tokens / 1000) × input price per 1K tokens
+ + (output tokens / 1000) × output price per 1K tokens
+```
+
+## Reservation vs. Pay-As-You-Go Comparison
+
+When presenting pricing options, always show the comparison:
+
+```
+| Pricing Model | Monthly Cost | Annual Cost | Savings vs. PAYG |
+|---------------|-------------|-------------|------------------|
+| Pay-As-You-Go | $X | $Y | — |
+| 1-Year Reserved | $A | $B | Z% |
+| 3-Year Reserved | $C | $D | W% |
+| Savings Plan (1yr) | $E | $F | V% |
+| Savings Plan (3yr) | $G | $H | U% |
+| Spot (if available) | $I | N/A | T% |
+```
+
+Savings percentage formula:
+```
+Savings % = ((PAYG Price - Reserved Price) / PAYG Price) × 100
+```
+
+## Cost Summary Table Template
+
+Always present results in this format:
+
+```markdown
+| Service | SKU | Region | Unit Price | Unit | Monthly Est. | Annual Est. |
+|---------|-----|--------|-----------|------|-------------|-------------|
+| Virtual Machines | Standard_D4s_v5 | East US | $0.192/hr | 1 Hour | $140.16 | $1,681.92 |
+```
+
+## Tips
+
+- Always clarify the **usage pattern** before estimating (24/7 vs. business hours vs. sporadic).
+- For **storage**, ask about expected data volume and access patterns.
+- For **databases**, ask about throughput requirements (RU/s, DTUs, or vCores).
+- For **serverless** services, ask about expected invocation count and duration.
+- Round to 2 decimal places for display.
+- Note that prices are in **USD** unless otherwise specified.
diff --git a/skills/azure-pricing/references/REGIONS.md b/skills/azure-pricing/references/REGIONS.md
new file mode 100644
index 00000000..7e46131d
--- /dev/null
+++ b/skills/azure-pricing/references/REGIONS.md
@@ -0,0 +1,84 @@
+# Azure Region Names Reference
+
+The Azure Retail Prices API requires `armRegionName` values in lowercase with no spaces. Use this table to map common region names to their API values.
+
+## Region Mapping
+
+| Display Name | armRegionName |
+|-------------|---------------|
+| East US | `eastus` |
+| East US 2 | `eastus2` |
+| Central US | `centralus` |
+| North Central US | `northcentralus` |
+| South Central US | `southcentralus` |
+| West Central US | `westcentralus` |
+| West US | `westus` |
+| West US 2 | `westus2` |
+| West US 3 | `westus3` |
+| Canada Central | `canadacentral` |
+| Canada East | `canadaeast` |
+| Brazil South | `brazilsouth` |
+| North Europe | `northeurope` |
+| West Europe | `westeurope` |
+| UK South | `uksouth` |
+| UK West | `ukwest` |
+| France Central | `francecentral` |
+| France South | `francesouth` |
+| Germany West Central | `germanywestcentral` |
+| Germany North | `germanynorth` |
+| Switzerland North | `switzerlandnorth` |
+| Switzerland West | `switzerlandwest` |
+| Norway East | `norwayeast` |
+| Norway West | `norwaywest` |
+| Sweden Central | `swedencentral` |
+| Italy North | `italynorth` |
+| Poland Central | `polandcentral` |
+| Spain Central | `spaincentral` |
+| East Asia | `eastasia` |
+| Southeast Asia | `southeastasia` |
+| Japan East | `japaneast` |
+| Japan West | `japanwest` |
+| Australia East | `australiaeast` |
+| Australia Southeast | `australiasoutheast` |
+| Australia Central | `australiacentral` |
+| Korea Central | `koreacentral` |
+| Korea South | `koreasouth` |
+| Central India | `centralindia` |
+| South India | `southindia` |
+| West India | `westindia` |
+| UAE North | `uaenorth` |
+| UAE Central | `uaecentral` |
+| South Africa North | `southafricanorth` |
+| South Africa West | `southafricawest` |
+| Qatar Central | `qatarcentral` |
+
+## Conversion Rules
+
+1. Remove all spaces
+2. Convert to lowercase
+3. Examples:
+ - "East US" → `eastus`
+ - "West Europe" → `westeurope`
+ - "Southeast Asia" → `southeastasia`
+ - "South Central US" → `southcentralus`
+
+## Common Aliases
+
+Users may refer to regions informally. Map these to the correct `armRegionName`:
+
+| User Says | Maps To |
+|-----------|---------|
+| "US East", "Virginia" | `eastus` |
+| "US West", "California" | `westus` |
+| "Europe", "EU" | `westeurope` (default) |
+| "UK", "London" | `uksouth` |
+| "Asia", "Singapore" | `southeastasia` |
+| "Japan", "Tokyo" | `japaneast` |
+| "Australia", "Sydney" | `australiaeast` |
+| "India", "Mumbai" | `centralindia` |
+| "Korea", "Seoul" | `koreacentral` |
+| "Brazil", "São Paulo" | `brazilsouth` |
+| "Canada", "Toronto" | `canadacentral` |
+| "Germany", "Frankfurt" | `germanywestcentral` |
+| "France", "Paris" | `francecentral` |
+| "Sweden", "Stockholm" | `swedencentral` |
diff --git a/skills/azure-pricing/references/SERVICE-NAMES.md b/skills/azure-pricing/references/SERVICE-NAMES.md
new file mode 100644
index 00000000..b093a7d7
--- /dev/null
+++ b/skills/azure-pricing/references/SERVICE-NAMES.md
@@ -0,0 +1,106 @@
+# Azure Service Names Reference
+
+The `serviceName` field in the Azure Retail Prices API is **case-sensitive**. Use this reference to find the exact service name to use in filters.
+
+## Compute
+
+| Service | `serviceName` Value |
+|---------|-------------------|
+| Virtual Machines | `Virtual Machines` |
+| Azure Functions | `Functions` |
+| Azure App Service | `Azure App Service` |
+| Azure Container Apps | `Azure Container Apps` |
+| Azure Container Instances | `Container Instances` |
+| Azure Kubernetes Service | `Azure Kubernetes Service` |
+| Azure Batch | `Azure Batch` |
+| Azure Spring Apps | `Azure Spring Apps` |
+| Azure VMware Solution | `Azure VMware Solution` |
+
+## Storage
+
+| Service | `serviceName` Value |
+|---------|-------------------|
+| Azure Storage (Blob, Files, Queues, Tables) | `Storage` |
+| Azure NetApp Files | `Azure NetApp Files` |
+| Azure Backup | `Backup` |
+| Azure Data Box | `Data Box` |
+
+> **Note**: Blob Storage, Files, Disk Storage, and Data Lake Storage are all under the single `Storage` service name. Use `meterName` or `productName` to distinguish between them (e.g., `contains(meterName, 'Blob')`).
+
+## Databases
+
+| Service | `serviceName` Value |
+|---------|-------------------|
+| Azure Cosmos DB | `Azure Cosmos DB` |
+| Azure SQL Database | `SQL Database` |
+| Azure SQL Managed Instance | `SQL Managed Instance` |
+| Azure Database for PostgreSQL | `Azure Database for PostgreSQL` |
+| Azure Database for MySQL | `Azure Database for MySQL` |
+| Azure Cache for Redis | `Redis Cache` |
+
+## AI + Machine Learning
+
+| Service | `serviceName` Value |
+|---------|-------------------|
+| Azure AI Foundry Models (incl. OpenAI) | `Foundry Models` |
+| Azure AI Foundry Tools | `Foundry Tools` |
+| Azure Machine Learning | `Azure Machine Learning` |
+| Azure Cognitive Search (AI Search) | `Azure Cognitive Search` |
+| Azure Bot Service | `Azure Bot Service` |
+
+> **Note**: Azure OpenAI pricing is now under `Foundry Models`. Use `contains(productName, 'OpenAI')` or `contains(meterName, 'GPT')` to filter for OpenAI-specific models.
+
+## Networking
+
+| Service | `serviceName` Value |
+|---------|-------------------|
+| Azure Load Balancer | `Load Balancer` |
+| Azure Application Gateway | `Application Gateway` |
+| Azure Front Door | `Azure Front Door Service` |
+| Azure CDN | `Azure CDN` |
+| Azure DNS | `Azure DNS` |
+| Azure Virtual Network | `Virtual Network` |
+| Azure VPN Gateway | `VPN Gateway` |
+| Azure ExpressRoute | `ExpressRoute` |
+| Azure Firewall | `Azure Firewall` |
+
+## Analytics
+
+| Service | `serviceName` Value |
+|---------|-------------------|
+| Azure Synapse Analytics | `Azure Synapse Analytics` |
+| Azure Data Factory | `Azure Data Factory v2` |
+| Azure Stream Analytics | `Azure Stream Analytics` |
+| Azure Databricks | `Azure Databricks` |
+| Azure Event Hubs | `Event Hubs` |
+
+## Integration
+
+| Service | `serviceName` Value |
+|---------|-------------------|
+| Azure Service Bus | `Service Bus` |
+| Azure Logic Apps | `Logic Apps` |
+| Azure API Management | `API Management` |
+| Azure Event Grid | `Event Grid` |
+
+## Management & Monitoring
+
+| Service | `serviceName` Value |
+|---------|-------------------|
+| Azure Monitor | `Azure Monitor` |
+| Azure Log Analytics | `Log Analytics` |
+| Azure Key Vault | `Key Vault` |
+| Azure Backup | `Backup` |
+
+## Web
+
+| Service | `serviceName` Value |
+|---------|-------------------|
+| Azure Static Web Apps | `Azure Static Web Apps` |
+| Azure SignalR | `Azure SignalR Service` |
+
+## Tips
+
+- If you're unsure about a service name, **filter by `serviceFamily` first** to discover valid `serviceName` values in the response.
+- Example: `serviceFamily eq 'Databases' and armRegionName eq 'eastus'` will return all database service names.
+- Some services have multiple `serviceName` entries for different tiers or generations.