> **azure-advisor** — skill 8 of 53 in [microsoft/azure-skills](https://skillsdocs.com/microsoft/azure-skills).
>
> Book (all skills, one file): https://skillsdocs.com/microsoft/azure-skills.md
> Machine manifest: https://skillsdocs.com/microsoft/azure-skills/.well-known/agent-skills/index.json
> Install the book: `npx skills add microsoft/azure-skills`
> Upstream: https://github.com/microsoft/azure-skills/blob/main/.github/plugins/azure-advisor/skills/azure-advisor/SKILL.md @ `main`
> Raw bytes, no header: https://raw.githubusercontent.com/microsoft/azure-skills/main/.github/plugins/azure-advisor/skills/azure-advisor/SKILL.md
> Base for relative paths: https://raw.githubusercontent.com/microsoft/azure-skills/main/.github/plugins/azure-advisor/skills/azure-advisor/
> Licence: MIT — https://spdx.org/licenses/MIT.html
>
> Content © its authors, served unmodified. Takedown: https://github.com/DreambaseAI/skillsdocs/issues/new?labels=takedown&title=Takedown+request

<!-- Verbatim upstream SKILL.md follows, YAML frontmatter included. -->

---
name: azure-advisor
description: "Use Azure Advisor. WHEN: \"show recommendations\", \"top Advisor actions\", \"prioritize recommendations\", \"service retirements\", \"update status\". DO NOT USE FOR: fixes (use azure-advisor-actionability)."
license: MIT
metadata:
  author: Microsoft
  version: "1.0.2"
---

# Azure Advisor

## Quick reference

Prefer Azure Advisor MCP tools. Use their current schemas for parameters and limits; discover unfamiliar parameters rather than inventing them.

| Intent | Tool |
|---|---|
| Counts, totals, breakdowns, or distributions | `advisor_recommendation_summary`; non-prioritized, with the requested `group-by` |
| Broad priorities: top recommendations/actions, most important, critical, or fix-first advice | `advisor_recommendation_summary`; `prioritized: true` (automatically groups by recommendation type) |
| Individual recommendations or affected resources, including status-filtered records | `advisor_recommendation_list`; no prior summary required; for priority ordering within a known type, pass `recommendation-type-id` and `prioritized: true` |
| Complete, dismiss, postpone, or reactivate | `advisor_recommendation_update` |
| Browse recommendation types | `advisor_metadata_list` |
| Get one type by ID | `advisor_metadata_get` |
| Fix or remediate a recommendation | `azure-advisor-actionability` skill; it owns remediation tool calls and safeguards |

## Workflow

1. Reuse known scope and identifiers. Pass the requested count as `top`: groups for summary, records for list. "Critical" means priority, not an `impact` value.
2. For savings priorities, use `category: "Cost"`. Top retirements use prioritized summary, not list, with `sub-category: "ServiceUpgradeAndRetirement"` and `retirement-date: "le:<yyyy-MM-dd>"` for on-or-before cutoffs.
3. For drill-downs, preserve scope and filters; pass the selected recommendation-type group's actual GUID `key` as list `recommendation-type-id`. Retain `prioritized: true` after a prioritized summary and add `category: "Cost"` for a Cost type. Do not copy summary `top` to list.
4. If broad priorities require `status` or `tracking-ids`, explain that cross-type ranking is unavailable. Use filtered, non-prioritized list and explicitly label results unranked, not "top". Never silently drop unsupported constraints.
5. Present returned data in server ranking order; disclose errors and truncation. Never count a capped list or filter capped results to simulate a server-side date query.

"Top actions" and "what should I fix first?" ask for prioritization advice, not permission to remediate.

## Safety

Ask for and wait for user confirmation before recommendation-state updates. The actionability skill owns remediation safeguards.
