Generated banner for Azure Search Nav
Generated logo for Azure Search Nav

Azure Search Nav

MicrosoftOfficialCreated by Microsoft

  • Skill
  • Tool integration
  • Cloud and DevOps
  • MIT
  • Low risk
  • Has scripts

From the author

Builds an Azure portal deep link to a specific blade/menu item for supported Microsoft.ContainerService, Microsoft.Kubernetes, and Microsoft.Compute resources using the aks-search-direct-mid semantic search API. WHEN: 'find where in the Azure portal to do something', 'search the portal for an operation', 'construct a portal link from a search query and a resource'.
— the description by Microsoft

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

The azure-search-nav skill provides a PowerShell-based utility to generate direct deep links into the Azure portal. By leveraging the aks-search-direct-mid semantic search API, it allows users to translate natural-language queries into specific navigation paths for supported Microsoft.ContainerService, Microsoft.Kubernetes, and Microsoft.Compute resources. The tool handles authentication via Az.Accounts, parses resource identifiers, and constructs precise portal URLs, streamlining the process of locating specific configuration blades or menu items.

What it does

  • Parses Azure portal URLs and ARM resource IDs to extract necessary context.
  • Authenticates users via standard Azure PowerShell account modules.
  • Queries the semantic search API to map natural language to portal navigation paths.
  • Constructs and outputs direct deep links to specific resource blades.
  • Supports extensibility for additional resource types via a configuration file.
  • Provides options for both interactive browser-based and headless device-code authentication.

When to use it

  • When you need to find the exact location of a setting or operation within the Azure portal.
  • When you want to generate a shareable deep link for a specific resource blade.
  • When working with supported Container Service, Arc-enabled Kubernetes, or Compute resources.
  • When automating navigation tasks in a CLI or scripted environment.

Advantages

  • Reduces manual navigation time within the complex Azure portal interface.
  • Uses semantic search to interpret intent rather than requiring exact menu path knowledge.
  • Integrates directly with existing Azure PowerShell authentication workflows.
  • Provides a consistent, programmatic way to access deep links across different resource types.

Usage examples

“Find the image cleaner settings for my AKS cluster.”
The script queries the search API for 'image cleaner' relative to the provided cluster resource ID and returns a direct link to the corresponding portal blade.
“Generate a portal link to the virtual machine scale set networking blade.”
The tool parses the VMSS resource ID, queries the navigation index, and outputs a URL that opens the specific networking configuration page in the Azure portal.

Install

  1. Download the skill as a ZIP:

    https://autogineer.com/agent-skills/microsoft/azure-search-nav/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip azure-search-nav.zip -d .agents/skills

Documentation by Microsoft

Quick Reference

ItemValue
Scriptreferences/Invoke-PortalSearchNav.ps1
Resource mapreferences/resource-types.json
PrerequisiteAz.Accounts PowerShell module
AuthInteractive Microsoft sign-in (Connect-AzAccount), or device-code with -UseDeviceAuthentication

When to Use This Skill

  • User asks to find where in the Azure portal to perform an operation on a supported Container Service, Arc-enabled Kubernetes, or Compute resource.

  • User wants a portal deep link for a specific blade/menu item.

  • User provides a resource URL or ARM resource ID and a natural-language search query.

Workflow

  1. Collect resource link (portal URL or bare ARM resource ID) and search query from the user.

  2. Run references/Invoke-PortalSearchNav.ps1 -ResourceUrl '<link>' -Query '<query>'.

  3. The script signs in (browser by default; pass -UseDeviceAuthentication in headless/CLI environments), calls the search API, and prints portal deep links always rooted at https://portal.azure.com.

See references/README.md for full parameter reference and API details.

Error Handling

ErrorCauseFix
Resource type not enabledarmProvider not in references/resource-types.jsonConfirm the type is in the enabled-provider list
401 from APIInvalid token, or wrong tenant selectedRe-run and select the account with access to the target subscription's tenant
Empty resultsNo matching navigation item for the queryTry a different search term
Az.Accounts not foundModule not installedInstall-Module Az.Accounts -Scope CurrentUser
Browser sign-in fails (no window handle)Headless/CLI environmentRe-run with -UseDeviceAuthentication

Files

references/README.md

Invoke-PortalSearchNav.ps1 — Reference

Authentication and Data Flow

The azurefd.net endpoint this script calls fronts the PCNX Copilot Infrastructure service, owned by the Azure Kubernetes Service (AKS) team. It receives the signed-in user's ARM-audience (https://management.azure.com/) bearer token as the Authorization header, along with an App-Tenant-Id header derived from that token. This is the same authentication pattern Azure Copilot's in-portal search-and-navigation experience already uses against this service.

Prerequisites

Install-Module Az.Accounts -Scope CurrentUser

Usage

./references/Invoke-PortalSearchNav.ps1 `
  -ResourceUrl 'https://portal.azure.com/#@<tenant>/resource/subscriptions/<subscription-id>/resourceGroups/<rg>/providers/Microsoft.ContainerService/managedClusters/<cluster>/overview' `
  -Query 'image cleaner'

Parameters

ParameterRequiredDefaultDescription
-ResourceUrlYes—Portal URL or bare ARM resource ID
-QueryYes—Natural-language search query
-ArmProviderNoauto-derivedOverride the armProvider filter value
-AppTenantIdNoauto-derivedOverride the App-Tenant-Id header; also used to build the #@<tenant> portal link fragment
-LocaleNoen.en-usLocale for the search filter
-UseDeviceAuthenticationNo$falseUse device-code authentication when a browser window cannot be opened
-RawNo$falsePrint raw JSON response only

How It Works

  1. Parse — Extracts the ARM resource ID, subscription, provider, and tenant from -ResourceUrl.

  2. Validate — Looks up the resource type in resource-types.json to normalise armProvider casing and confirm the type is supported.

  3. Authenticate — Calls Connect-AzAccount (browser sign-in, or device-code with -UseDeviceAuthentication), scoped to the resource's subscription, then Get-AzAccessToken. The token's tid claim is used as the App-Tenant-Id header.

  4. Search — POSTs to the aks-search-direct-mid endpoint:

    {
      "search": "<query>",
      "count": "true",
      "filter": "armProvider eq '<armProvider>' and locale eq '<locale>'",
      "queryType": "semantic",
      "semanticConfiguration": "semantic"
    }

    Headers: Accept, User-Data-Boundary: Global, Authorization, App-Tenant-Id.

  5. Extract — Recursively scans the response for menuId / bladeName / blade properties.

  6. Build link — Rebuilds the link against https://portal.azure.com, appending each discovered menuId as the trailing blade segment.

Enabled Resource Types

The search service is enabled for these ARM resource types:

Microsoft.ContainerService
  • aiManagers

  • containerServices

  • deploymentSafeguards

  • fleets

  • maintenanceWindows

  • managedClusters

  • managedclustersnapshots

  • nodeCustomizations

  • openShiftManagedClusters

  • preparedImageSpecifications

  • snapshots

Microsoft.Kubernetes
  • connectedClusters

Microsoft.Compute
  • availabilitySets

  • capacityReservationGroups

  • cloudServices

  • diskAccesses

  • diskEncryptionSets

  • disks

  • galleries

  • hostGroups

  • images

  • interconnectBlocks

  • proximityPlacementGroups

  • restorePointCollections

  • snapshots

  • sshPublicKeys

  • virtualMachines

  • virtualMachineScaleSets

Enabling a New Resource Type

Add an entry to resource-types.json:

{
  "microsoft.network/virtualnetworks": {
    "armProvider": "Microsoft.Network/virtualNetworks",
    "extension": "Microsoft_Azure_Network"
  }
}

The key must be all-lowercase. armProvider must use the exact casing expected by the search index. Only add types enabled by the search service.

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Security

What our scanner noticed· Low risk

  • Scripts that your agent may run

This skill includes scripts that your agent may run. Read them before you use it.

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Created by
Microsoft
Publisher
Microsoft (Official)
Source
microsoft/skills · .github/plugins/aks-skills/skills/azure-search-nav · commit 0696600
Licence
MIT License (redistribution allowed)
  • LICENSE (added by AutoGineer from .github/plugins/aks-skills/LICENSE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by Microsoft or Microsoft.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download azure-search-nav.zip