Skill 08 · Azure Advisor Cost Optimization
Subchapter 8.10
references/workflow.mdMarkdown3 KBView on GitHub
Apply Scope resolution; preserve scope, tenant, filters and requested limits. This workflow covers only Advisor Cost/IdleResources.
| Intent | Existing operation |
|---|---|
| Unused-resource savings or highest-priority opportunities | Summary with prioritized=true |
| Counts, frequency or requested grouping | Normal summary with requested group-by, no prioritization |
| Named type, selected records or explicit list-all | List directly |
| Completed cleanup or historical savings | Lifecycle: resolve All/period, summary then details; honor totals-only |
| Completed/Postponed/Dismissed details | List with explicit status |
| State changes/remediation artifacts | Selection, direct-list flow |
| Explicit safety, dependency, lock, or pre-deletion checks | Read-only prevalidation |
Current summaries default to New except unfiltered status grouping, which includes all states.
Historical as-of/from/to default summaries to Completed. Explicit status always wins,
including New with historical inputs. Preserve the effective status for expansion; list defaults
to New and has no historical inputs. A status-breakdown drill-down must select its state.
Prevalidation is an explicit safety flow, not ordinary discovery or a savings estimate. When the exact type is already known, call prevalidation directly with preserved selections and scope; do not expand list/summary solely to produce another table.
group-by; retain requested filters
and limits. Do not introduce a family/threshold question.Expand all recommendation types shown is last, never first/recommended.
Unknown buckets get no invented IDs; no usable types means no expansion question.recommendation-type-ids array.
Expand-all covers shown types only, not hidden types.Preserve returned group order: priority order for discovery, count order for frequency.
Match summary.cost.typeTotals by ID for money; do not substitute its order for group rank.
Use returned total/remaining group counts to disclose hidden types.
Explicit list-all follows retrieval continuation.
Omit type filters only when the user requested all types; retain an already selected type.
Keep states and tenant partitions separate.
For friendly names/families and metadata fallback, read Tools and recovery.