Govern Azure costs with budgets, alerts, tags, and policy restrictions. WHEN: \"Azure budget health\", \"configured budget overrun\", \"list Azure budgets\", \"create Azure budget\", \"budget alerts\"
The skill file stays in the publisher's repository.
Paste the copied command in a terminal. It installs this SKILL.md into that agent.
npx skills add microsoft/skills --skill cost-governance -a cursor -y
Govern Azure costs with budgets, alerts, tags, and policy restrictions. WHEN: \"Azure budget health\", \"configured budget overrun\", \"list Azure budgets\", \"create Azure budget\", \"budget alerts\", \"budget coverage\", \"missing CostCenter tags\", \"allowed VM SKUs\", \"allowed Azure regions\", \"would this SKU be denied\", \"cost guardrails\". DO NOT USE FOR: planning-target forecasts, bill investigations, pricing, rightsizing, or commitments.
Govern Azure costs with budgets, alerts, tags, and policy restrictions. WHEN: \"Azure budget health\", \"configured budget overrun\", \"list Azure budgets\", \"create Azure budget\", \"budget alerts\", \"budget coverage\", \"missing CostCenter tags\", \"allowed VM SKUs\", \"allowed Azure regions\", \"would this SKU be denied\", \"cost guardrails\". DO NOT USE FOR: planning-target forecasts, bill investigations, pricing, rightsizing, or commitments.
| Intent | Workflow | Primary tools |
|---|---|---|
| Check budget status | Budget health | list_budgets, forecast_costs, query_costs, list_alerts |
| Configure a budget | Budget setup | Cost tools, create_budget |
| Review guardrails | Guardrails | Resource Graph, list_budgets |
Use for budgets, alerts, tags, and policy.
Use cost tools for budgets; Resource Graph for guardrails. Writes need confirmed scope, amount, thresholds, and recipients. Fallback: API mappings.
| Error | Action |
|---|---|
| Access denied | Name missing permission. |
| No budget or forecast | Report unavailable data, not zero. |
| Multiple currencies | Never sum or compare across currencies. |
| Write conflict | Preserve the budget. |
| Server error | Retry once; then stop with the trace ID. |