Install
$ agentstack add skill-ricmmartins-azure-sre-agent-skills-04-finops-intelligence ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
FinOps Intelligence
Purpose
Unified cost intelligence skill that identifies savings opportunities, tracks cost trends, and generates chargeback/showback reports by team or project. Answers both "where can we save?" and "who spent what?"
When to use this skill
- User asks "why did our bill go up?"
- User asks for cost optimization or savings opportunities
- User asks "how much did team X spend this month?"
- User asks for chargeback, showback, or cost allocation report
- Monthly proactive cost review or FinOps cadence
Pre-check
Confirm with the user:
- Scope: Which subscriptions to scan (all or specific ones)
- Time range: For trend analysis (default: last 3 months)
- Allocation model (for chargeback): Which tag to use for cost splitting?
cost-centertag (most common)ownerorteamtagapplicationorprojecttag- Resource group naming convention (e.g.,
rg-teamname-*) - Exclusions: Dev/test subscriptions, sandbox resource groups
Analysis procedure
Step 1: Cost trend overview
Get the big picture using Azure Cost Management.
# Current month cost by service (last 30 days)
az costmanagement query --type ActualCost --timeframe MonthToDate \
--scope "subscriptions/" \
--dataset-aggregation '{"totalCost":{"name":"Cost","function":"Sum"}}' \
--dataset-grouping name="ServiceName" type="Dimension" \
-o table
# Previous month for comparison
az costmanagement query --type ActualCost --timeframe TheLastMonth \
--scope "subscriptions/" \
--dataset-aggregation '{"totalCost":{"name":"Cost","function":"Sum"}}' \
--dataset-grouping name="ServiceName" type="Dimension" \
-o table
If az costmanagement is unavailable, use the REST API:
az rest --method post \
--url "https://management.azure.com/subscriptions//providers/Microsoft.CostManagement/query?api-version=2023-11-01" \
--body '{"type":"ActualCost","timeframe":"MonthToDate","dataset":{"aggregation":{"totalCost":{"name":"Cost","function":"Sum"}},"grouping":[{"type":"Dimension","name":"ServiceName"}]}}'
Summarize:
- Total spend this month vs. last month (% change)
- Top 5 services by spend
- Top 5 resource groups by spend
- Any spending anomalies (day-over-day spikes > 20%)
Step 2: Orphaned resources (waste)
Find resources consuming cost with no active use.
| Check | Command | Savings signal | |-------|---------|----------------| | Unattached managed disks | az disk list --query "[?managedBy==null]" | Disk cost per month | | Unused public IPs | az network public-ip list --query "[?ipConfiguration==null]" | ~$3.65/month each | | Stopped but allocated VMs | az vm list -d --query "[?powerState=='VM deallocated']" | Disk + IP cost still billed | | Unused App Service plans | az appservice plan list --query "[?numberOfSites==0]" --resource-group | Full plan cost | | Old snapshots (>90 days) | `az snapshot list --query "[?timeCreated 30 days — candidates for Reserved Instances (up to 72% savings)
- List databases running 24/7 — candidates for reserved capacity
- Check if Azure Savings Plans could apply to compute spend
Step 5: Storage optimization
- Check storage accounts for access tier usage:
``bash az storage account list --query "[].{name:name, accessTier:accessTier, kind:kind}" -o table ``
- Identify blobs that haven't been accessed in 90+ days — candidates for Cool/Archive tier
- Check for lifecycle management policies — suggest if missing
- Check for redundancy over-provisioning (GRS when LRS would suffice for non-critical data)
Step 6: Cost allocation (chargeback/showback)
Group costs by the user's chosen allocation model.
By tag (preferred):
- Group all resources by the chosen tag value
- Aggregate costs per tag value
- Track untagged resources separately as "Unallocated"
By resource group (fallback):
- Parse resource group names for team/project identifiers
- Group and aggregate accordingly
Shared costs (identify and handle):
- Resources used by multiple teams (e.g., shared AKS cluster, shared networking)
- Flag these separately — suggest allocation keys (even split, usage-based, or headcount-based)
For each team/project:
- This period vs. previous period: $ change and % change
- Top cost driver (which service drove the change?)
- Flag anomalies (> 30% increase without known cause)
Step 7: Efficiency metrics
Calculate per-team efficiency indicators:
- Cost per resource: Total spend / number of resources
- Compute waste ratio: Cost of idle/underutilized resources / total compute cost
- Tag compliance: % of team's resources properly tagged
Expected output
Report header (mandatory — use this exact format)
FinOps Cost Optimization & Chargeback Report
| Field | Value | |-------|-------| | Subscription | (name + ID) | | Report Date | YYYY-MM-DD | | Total Spend (MTD) | $X,XXX | | Projected Full Month | $X,XXX | | Month-over-month Change | +/-$X (+/-X%) | | Waste Identified (recoverable) | ~$X/month | | Resource Groups Tracked | N (M with spend) | | Tag Compliance | X% | | Issues Found | X Critical, Y High, Z Medium |
Savings breakdown table
| Category | Finding | Current Cost/mo | Savings/mo | Priority | Action | |----------|---------|----------------|------------|----------|--------| | Orphaned | 3 unattached disks | $45 | $45 | High | Delete or snapshot+delete | | Rightsizing | 2 VMs at --tags team= cost-center=
### Remediation guidance
For each cost finding, include in the output:
1. The specific `az` CLI command to remediate (suggest only — do not execute)
2. Use `GetAzCliHelp` to validate the command syntax before suggesting
3. The official Microsoft Learn documentation link
### References
- Cost Management: https://learn.microsoft.com/en-us/azure/cost-management-billing/costs/overview-cost-management
- Azure Advisor Cost: https://learn.microsoft.com/en-us/azure/advisor/advisor-cost-recommendations
- Reserved Instances: https://learn.microsoft.com/en-us/azure/cost-management-billing/reservations/save-compute-costs-reservations
- Orphaned Resources: https://learn.microsoft.com/en-us/azure/advisor/advisor-reference-cost-recommendations
## Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- **Author:** [ricmmartins](https://github.com/ricmmartins)
- **Source:** [ricmmartins/azure-sre-agent-skills](https://github.com/ricmmartins/azure-sre-agent-skills)
- **License:** MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.