AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Azure Resource Lookup

skill-manu14357-zskills-azure-resource-lookup · by manu14357

>

No reviews yet
0 installs
26 views
0.0% view→install

Install

$ agentstack add skill-manu14357-zskills-azure-resource-lookup

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No 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.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-manu14357-zskills-azure-resource-lookup)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
4mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

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 →
Are you the author of Azure Resource Lookup? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Azure Resource Lookup

Find Azure resources efficiently across subscriptions and return concise, actionable metadata.

Use This Skill When

  • The user cannot find a resource in Azure
  • The user needs inventory by type, region, tag, or naming pattern
  • The user needs configuration details before making changes
  • The user needs to verify resource existence or validate naming conventions

Context: Lookup Maturity

Immature: Manual searches in portal, incomplete knowledge of resources Developing: CLI queries, some automation of common lookups Managed: Scripted queries with filtering, tags for organization → Target Optimized: Auto-indexing, graph-based discovery, dependency visualization

Required Inputs

  • Scope: Management group, subscription, resource group, or single app name?
  • Resource type: Specific type (VMs, databases) or keyword search?
  • Filters: Region, environment tag, owner, creation date range?
  • Required fields: Basic (id, name, location) or detailed (config, cost, status)?
  • Output format: Table, JSON, or filtered list?

Decision Tree

What are you looking for?
├─ Specific resource by name → Direct query: az resource show --name
├─ All resources of one type → Type filter: az resource list --resource-type
├─ Resources in a region → Location filter: az resource list --location
├─ Resources by tag → Tag filter: az resource list --query "[?tags.Environment=='Prod']"
└─ Unknown (keyword search) → Graph query with semantic search

How broad is the scope?
├─ Single resource group → Query is fast
├─ Single subscription → Query takes 5-10 seconds
├─ Multiple subscriptions → Use Azure Resource Graph (optimized)
└─ Entire organization → Use Azure Resource Graph with batch mode

Do you need real-time status or historical data?
├─ Real-time → CLI query (az resource list)
├─ Historical → Query resource logs (Activity logs)
├─ Cost-related → Query Cost Management API

Workflow

Phase 1: Query Resources

  1. Find by name:

```bash # Exact match az resource show --name "myappdb" --resource-type "Microsoft.Sql/servers/databases"

# Output { "id": "/subscriptions/abc123/resourceGroups/prod-rg/providers/Microsoft.Sql/servers/myserver/databases/myappdb", "name": "myappdb", "type": "Microsoft.Sql/servers/databases", "location": "eastus", "properties": { "status": "Online", "edition": "Standard", "serviceLevelObjective": "S0" } } ```

  1. Find by type (all VMs in subscription):

```bash az resource list --resource-type "Microsoft.Compute/virtualMachines" \ --query "[].{name:name, group:resourceGroup, location:location, vmSize:properties.hardwareProfile.vmSize}" \ -o table

# Output Name Group Location VmSize vm-prod-1 prod-rg eastus StandardD2sv3 vm-prod-2 prod-rg eastus StandardD2sv3 vm-dev-1 dev-rg eastus Standard_B2s ```

  1. Find by tag (all prod resources):

``bash az resource list --query "[?tags.Environment=='Prod']" \ --query "[].{name:name, type:type, group:resourceGroup}" \ -o table ``

  1. Find by region:

``bash az resource list --location "eastus" \ --query "[].{name:name, type:type, sku:sku.name}" \ -o table ``

  1. Find by naming pattern:

``bash # All resources starting with "api-" az graph query -q "resources | where name startswith 'api-'" \ -o table ``

Phase 2: Azure Resource Graph (advanced queries)

Why Resource Graph? Fast, parallel queries across subscriptions without hitting throttle limits.

  1. Query all subscriptions (as organization admin):

``bash # All databases across subscriptions az graph query -q "resources | where type == 'microsoft.sql/servers/databases' | project name, resourceGroup, location, properties.status" ``

  1. Find resources by partial name (fuzzy search):

``bash az graph query -q "resources | where name contains 'prod' and type contains 'compute'" ``

  1. Find orphaned resources (no tags, old creation date):

``bash az graph query -q "resources | where tags == '{}' and tostring(properties.timeCreated) < '2023-01-01'" ``

  1. Find underutilized resources (check costs):

``bash # App Service plans with low CPU az graph query -q "resources | where type == 'microsoft.web/serverfarms' | project name, resourceGroup, properties.workerCount, properties.sku" ``

Phase 3: Extract Configuration Details

  1. Database configuration:

``bash az sql db show --resource-group prod-rg --server myserver --name myappdb \ --query "{name:name, status:status, tier:edition, slo:serviceLevelObjective, backupRetention:longTermRetentionBackupResourceId}" ``

  1. VM configuration:

``bash az vm show --resource-group prod-rg --name vm-prod-1 \ --query "{name:name, vmSize:hardwareProfile.vmSize, osType:osProfile.osType, imageId:storageProfile.imageReference.id, powerState:powerState}" ``

  1. App Service configuration:

``bash az webapp config show --resource-group prod-rg --name myapp \ --query "{runtime:properties.runtime, ftpEnabled:properties.ftpsState, http20Enabled:properties.http20Enabled, minTlsVersion:properties.minTlsVersion}" ``

  1. Network configuration:

``bash az network nsg show --resource-group prod-rg --name prod-nsg \ --query "securityRules[].{name:name, protocol:protocol, sourcePort:sourcePortRange, destPort:destinationPortRange, access:access, direction:direction}" ``

Phase 4: Cost & Metrics Lookup

  1. Estimated monthly cost:

``bash # App Service pricing az vm show --resource-group prod-rg --name vm-prod-1 \ --query "hardwareProfile.vmSize" | xargs -I {} \ az vm list-prices --location eastus --vmImage UbuntuLTS --query "[?name=='{}'].prices[].value" -o table ``

  1. Resource usage metrics (for decisions):

``bash # Last 7 days average CPU az monitor metrics list --resource-group prod-rg --resource-type virtualMachines \ --name vm-prod-1 --metric Percentage\ CPU --start-time 2024-04-16T00:00:00Z \ --aggregation Average --interval PT1H ``

Phase 5: Validate & Deep Inspect

  1. Checklist before changes:

``` Resource: myappdb (SQL Database) ✓ Exists in: prod-rg / eastus ✓ Status: Online ✓ Backups enabled: Yes (35-day retention) ✓ Access: Private endpoint configured ✓ Monitoring: Application Insights connected ✓ Owner tag: team-database (found)

Safe to modify: YES (all prerequisites met) ```

  1. Dependencies (what breaks if we change this?):

```bash # Find all app services using this database az graph query -q "resources | where properties.connectionStrings contains 'myappdb'"

# Find who has access az role assignment list --resource-group prod-rg --resource-name myappdb ```

  1. Recent changes (who touched this?):

``bash az monitor activity-log list --resource-group prod-rg \ --query "[?resourceId contains 'myappdb']" \ --query "[].{time:eventTimestamp, caller:caller, operationName:operationName.value}" \ -o table ``

Output Contract

  1. Query Summary
  • What was searched?
  • How many results?
  • Time taken?
  1. Resource Table (matching results)
  • Name, Type, Location, Status
  • Resource Group, Tags
  • Relevant config fields
  1. Notable Findings
  • ⚠️ Untagged resources
  • ⚠️ Old/orphaned resources
  • ⚠️ Non-standard configurations
  • ✓ Best practices followed
  1. Configuration Details (if requested)
  • Current settings
  • Recent changes (Activity Log)
  • Dependencies (what uses this?)
  1. Suggested Next Steps
  • Inspect related resources
  • Check cost/metrics
  • Validate before changes

Guardrails

  • Always confirm scope before broad queries: Querying entire org can take time.
  • Check access first: Ensure you have permissions to view resources.
  • Avoid destructive commands in lookup workflows: This skill is read-only.
  • Mark stale data: If discovery is incomplete, flag assumptions.
  • Use Resource Graph for scale: CLI is faster for single subscriptions; Graph for multi-subscription.
  • Protect sensitive output: Don't expose API keys or connection strings from config lookups.
  • Validate query results: Don't assume 0 results = resource doesn't exist (could be permissions issue).

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.