About azure-finops
AzureFinOps is a skill for analyzing Azure costs through reservation coverage, waste discovery, and stakeholder reporting. Its Azure operations are read-only, and its workflows cover billing validation, savings analysis, and cost anomalies.
Key features
- 01Validates reservation and PAYG costs
- 02Finds orphaned and wasted resources
- 03Analyzes reservation coverage and gaps
- 04Drafts stakeholder cost summaries
- 05Uses a Python CLI fallback when MCP or CLI authentication is unavailable
Use cases
- 01Checking whether charges use reservations or PAYG
- 02Finding orphaned disks across subscriptions
- 03Assessing reservation gaps and potential savings
- 04Preparing a response to billing anomalies
MCP support
The skill includes a reference to MCP tools and uses MCP or CLI authentication when available. Azure operations are read-only.
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ julianobarbosa/ claude-code-skills --skill azure-finopsAfter installing, type/azure-finopsin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
AzureToolReference.mdPricingComparison.mdReservationInventory.mdWorkflows/CoverageAnalysis.mdDraftResponse.mdFindWaste.mdValidateCosts.mdDetails
From the project READMEAzureFinOps Skill
Azure cost optimization through reservation analysis, waste discovery, and stakeholder reporting.
Important
- All Azure operations are READ-ONLY — zero modifications to any resource
- Primary output language: Portuguese (BR) for stakeholder responses
- Python CLI fallback:
uv run python -m azure_finopswhen MCP/CLI auth unavailable
Context Files
AzureToolReference.md— MCP tools + CLI commands quick referenceReservationInventory.md— SKU matching and reservation interpretation SOPPricingComparison.md— PAYG vs RI pricing methodology and savings formulas
Workflow Routing
| Workflow | Trigger | File |
|---|---|---|
| ValidateCosts | "validate costs", "are these reservations or PAYG", "check billing" | Workflows/ValidateCosts.md |
| FindWaste | "find waste", "orphaned disks", "orphaned resources" | Workflows/FindWaste.md |
| CoverageAnalysis | "reservation coverage", "reservation gaps", "savings analysis" | Workflows/CoverageAnalysis.md |
| DraftResponse | "draft response for", "resposta para", "executive summary" | Workflows/DraftResponse.md |
Examples
Example 1 — Cost Validation:
"Are these January costs reservations or pay-as-you-go?" Routes to:
Workflows/ValidateCosts.md
Example 2 — Waste Discovery:
"Find orphaned disks and wasted resources across all subscriptions" Routes to:
Workflows/FindWaste.md
Example 3 — Executive Response:
"Draft a response for Jean about the January billing anomalies" Routes to:
Workflows/DraftResponse.md
Gotchas
- Reservation matching: SKU naming differs between usage data and purchase data —
Standard_D8s_v3in usage vsD8sv3in RI. A direct join misses 100%. - Savings Plan vs Reservation can stack — calculators that pick one ignore the combined savings.
- PAYG vs RI pricing: Marketplace listings are excluded from RI — surprise unreserved charges show up for SQL Server BYOL, etc.
- Cost data lag is 24-48 hours — same-day analyses miss recent activity entirely.
- RI scope (shared vs single-subscription): wrong scope means the RI applies to unintended workloads — and you discover it months later in an audit.
- Currency conversion in EA reports: exchange rate is locked at month close; mid-month estimates use a different rate than the final invoice.