Kipt

Your prompts and skills, one keystroke away.

Explore

Azure resource lookup skill: find and list Azure resources with Resource Graph

The Azure resource lookup skill lets coding agents list, count and audit Azure resources across subscriptions with Resource Graph. How to install and use it.

By the Kipt team · Updated 27 October 2026

Source: microsoft/azure-skills · Maintainer: Microsoft · License: MIT · Checked: 27 October 2026

What is the Azure resource lookup skill?

The Azure resource lookup skill teaches a coding agent how to answer "what do I have in Azure?" It lists, finds and counts resources of any type across subscriptions and resource groups, using a dedicated Azure MCP tool where one covers the resource type and an Azure Resource Graph query everywhere else.

Its description opens: "List, find, and show Azure resources across subscriptions or resource groups." It also spells out what it won't do: deploying or changing resources goes to azure-deploy, cost optimization goes to a skill in the optional azure-cost plugin, and other clouds are out of scope.

The skill ships in microsoft/azure-skills, the Azure Skills Plugin. The README lists it under "Troubleshoot, monitor, and govern" and says the repo is synced automatically from microsoft/GitHub-Copilot-for-Azure. The SKILL.md frontmatter gives version 1.2.3, author Microsoft and license MIT.

As of 27 October 2026, its skills.sh page listed about 566,300 installs (snapshot, 27 October 2026).

What does it do?

The folder holds two files: a SKILL.md of about 5.6 KB and references/azure-resource-graph.md, a library of Kusto Query Language (KQL) patterns. The workflow has three steps.

1. Check for a dedicated MCP tool. For a single resource type, the agent first looks at a routing table:

Resource type Azure MCP tool Coverage per the skill
Virtual machines, storage accounts, Cosmos DB, AKS, container registries compute, storage, cosmos, aks, acr Full
Event Hubs, Service Bus eventhubs, servicebus Full
Key Vault keyvault Partial: secrets and keys only, no vault listing
SQL databases sql Partial: needs a resource group name
App Service and web apps appservice No list command, use Resource Graph
Container Apps None Use Resource Graph

The skill flags the App Service gap in a warning: "App Service / Web Apps have no dedicated MCP list command." That's why prompts such as "list my web apps" are part of its trigger list.

2. Generate a Resource Graph query. Otherwise the agent calls the Azure MCP extension_cli_generate tool with an intent such as "query Azure Resource Graph to" plus your request, which returns an az graph query command.

3. Run it and shape the output. The skill's pattern is:

az graph query -q "<KQL>" --query "data[].{name:name, type:type, rg:resourceGroup}" -o table

It tells the agent to scope big tenants with --subscriptions or --first N, and to use =~ for case-insensitive type matching because resource types are stored in lowercase.

The query library. The reference file groups ready-made KQL by job:

  • Inventory: count resources by type, by type and location, across subscriptions with subscription names, or everything in one resource group.
  • Orphaned resources: unattached managed disks, public IPs with no IP configuration, network interfaces with no VM, load balancers with no backend pools.
  • Tags and exposure: resources missing an Environment or CostCenter tag, tag coverage by type, and resources with public network access enabled.
  • Health: resources that aren't Available, active service health incidents, and failed provisioning states.
  • Services: App Services with their plans, Container Apps, VNets and subnets, and Azure Advisor cost recommendations.

The commands match Microsoft's Resource Graph quickstart for the Azure CLI, which installs the extension with az extension add --name resource-graph and notes that the CLI prompts you to install it the first time you run az graph.

How do you install the Azure resource lookup skill?

The repo README documents several routes. The plugin is the closer fit, because steps 1 and 2 of the workflow call Azure MCP tools that the plugin wires in.

Claude Code: the Azure Skills Plugin. Run inside Claude Code:

/plugin install azure@claude-plugins-official

Or run /plugin and search for "azure". See Claude Code plugins and Claude Code MCP.

GitHub Copilot CLI:

/plugin marketplace add microsoft/azure-skills
/plugin install azure@azure-skills

Codex, Cursor and Gemini CLI. For Codex, the README says to run codex plugin marketplace add microsoft/azure-skills, then install azure from /plugins. For Cursor, use the Cursor Marketplace or Settings, then Plugins. For Gemini CLI, run gemini extensions install https://github.com/microsoft/azure-skills. See Codex skills and Cursor skills.

Skill only. The command on skills.sh copies just this folder:

npx skills add https://github.com/microsoft/azure-skills --skill azure-resource-lookup

Without Azure MCP, the agent can still run the az graph query commands directly, since the skill and its reference spell them out.

Prerequisites, per the README: an Azure account or subscription, Node.js 18 or later on your PATH (npx starts the MCP servers), and the Azure CLI signed in with az login. The skills CLI used for the skill-only route needs Node.js 22.20 or later, per its README. Microsoft's quickstart says the Resource Graph extension needs Azure CLI 2.22.0 or later.

How do you use it?

Ask in plain language. The skill is model-invoked, so the agent loads it when your request matches trigger phrases such as "what resources do I have", "list my VMs", "find resources by tag" and "unattached disks".

Example prompts (suggestions; the first is the README's MCP check):

  • List my Azure resource groups.
  • List the web apps in my subscription with their App Service plans.
  • Find unattached managed disks and unused public IPs across all my subscriptions.
  • Which resources are missing an Environment or CostCenter tag? Show coverage by type.
  • Count resources by type in the prod-eu resource group.

Expect a table. For a single resource type with full MCP coverage, such as storage accounts, the agent should use that tool instead of Resource Graph.

Tips and limits

From the repo, Microsoft Learn and skills.sh, not from testing:

  • It's read-only by design. The constraints say "Never attempt mutations through ARG (read-only)." Cleaning up the orphaned disks it finds is a separate task you approve yourself.
  • Data isn't live. The skill says never to use Resource Graph for real-time monitoring because "data has slight delay." For live metrics or logs, use azure-diagnostics.
  • Permissions limit results. A query returns only what your identity can read. The skill's error table says AuthorizationFailed means you need the Reader role, and empty results often mean a wrong --subscriptions scope.
  • Cost questions go elsewhere. It finds orphaned resources but says it is "not for cost analysis". The README lists azure-cost for cost work.
  • Treat resource metadata as untrusted. On skills.sh, Gen Agent Trust Hub rated the skill Pass (Safe) on 3 October 2026, noting that resource names and tags shown to the agent could carry instructions. Socket and Snyk both rated it Pass on 3 October 2026.
  • Telemetry. The README says to set AZURE_MCP_COLLECT_TELEMETRY=false to turn off Azure MCP telemetry.

The MIT License lets you copy and change the skill as long as you keep Microsoft's copyright and license notices.

Save it in your Kipt library

An edited copy pays off if your team has standard tags or subscriptions the stock queries don't know, such as a required Owner tag instead of CostCenter. In Kipt, open Skills and paste the skill's GitHub folder link into the import box, or drop the folder or a .zip. The copy carries the skill files, not the plugin's MCP setup. Skills in your private GitHub repo install into Claude Code or Codex with one command:

npx skills add https://github.com/<you>/<repo>.git --all -g

Kipt is not affiliated with Microsoft.

Similar skills

Questions

What is the Azure resource lookup skill?

azure-resource-lookup is an Agent Skill in Microsoft's microsoft/azure-skills repo. It teaches a coding agent to list, find and count Azure resources across subscriptions and resource groups, using a dedicated Azure MCP tool when one exists and Azure Resource Graph queries when it doesn't.

How do I install the Azure resource lookup skill in Claude Code?

Run /plugin install azure@claude-plugins-official inside Claude Code to get the Azure Skills Plugin, which bundles this skill with the Azure MCP Server. For the skill files alone, run npx skills add https://github.com/microsoft/azure-skills --skill azure-resource-lookup.

Can the Azure resource lookup skill change or delete resources?

No. The skill's constraints say never to attempt mutations through Azure Resource Graph, which is read-only, and its description sends deploying or changing resources to the azure-deploy skill. It lists and queries, nothing more.

What permissions does the skill need?

Read access to the subscriptions you query. The skill's error table says an AuthorizationFailed error means you lack read access and should check that you have the Reader role. You also need the Azure CLI signed in and the resource-graph extension, which the skill tells the agent to add if it is missing.

Can it find orphaned resources like unattached disks?

Yes. Its reference file includes Resource Graph queries for unattached managed disks, unused public IP addresses, network interfaces with no virtual machine, and load balancers with no backend pools, plus queries for missing tags and failed provisioning states.

More in Skill directory

All guides

Keep your prompts and skills in one place, in your own GitHub. Install every skill with one command.

Get started

Kipt is an independent product, not affiliated with or endorsed by Anthropic, OpenAI, Cursor or GitHub. Claude, ChatGPT, Codex, Cursor and GitHub are trademarks of their owners.