Azure AI
MicrosoftOfficialCreated by Microsoft
- Skill
- Tool integration
- Cloud and DevOps
- MIT
- Low risk
- Has scripts
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
This skill provides a centralized reference for integrating and debugging Microsoft Azure AI services. It covers AI Search, Speech, OpenAI, and Document Intelligence, offering guidance on MCP tool usage, CLI commands, and SDK patterns. It includes specific troubleshooting resources for Speech SDK diagnostics and best practices for secure authentication across development and production environments.
What it does
- Provides MCP tool mappings for Azure AI Search and Speech services.
- Offers quick-reference guides for various Azure AI SDKs across multiple languages.
- Outlines best practices for secure authentication using managed identities.
- Includes troubleshooting patterns for Speech SDK logs and diagnostics.
- Summarizes capabilities for vector, hybrid, and semantic search.
- Details patterns for document intelligence and content safety implementations.
When to use it
- When integrating Azure AI Search, Speech, or OpenAI into an application.
- When troubleshooting Speech SDK connectivity or transcription issues.
- When setting up authentication for Azure services in production versus local environments.
- When looking for language-specific SDK patterns for Azure AI services.
- When needing to perform OCR or form extraction via Document Intelligence.
Advantages
- Centralizes documentation for multiple Azure AI services.
- Provides clear guidance on moving from local development to production security.
- Includes actionable MCP tool commands for rapid integration.
- Offers language-specific SDK snippets for quick implementation.
- Simplifies complex troubleshooting tasks like Speech SDK log analysis.
Usage examples
- “List the available search indexes in my Azure AI Search service.”
- The agent uses the azure__search MCP tool with the search_index_list command to retrieve and display the indexes.
- “How should I authenticate my Azure AI client in a production environment?”
- The agent provides the recommended pattern using ManagedIdentityCredential instead of DefaultAzureCredential to ensure secure, deterministic authentication.
- “Transcribe this audio file using Azure Speech.”
- The agent utilizes the azure__speech tool with the speech_transcribe command to process the audio file.
Install
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/microsoft/azure-ai/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip azure-ai.zip -d .agents/skills
Documentation by Microsoft
Azure AI Services
Services
| Service | Use When | MCP Tools | CLI |
|---|---|---|---|
| AI Search | Full-text, vector, hybrid search | azure__search | az search |
| Speech | Speech-to-text, text-to-speech, SDK logs | azure__speech | - |
| OpenAI | GPT models, embeddings, DALL-E | - | az cognitiveservices |
| Document Intelligence | Form extraction, OCR | - | - |
MCP Server (Preferred)
When Azure MCP is enabled:
AI Search
azure__searchwith commandsearch_index_list- List search indexesazure__searchwith commandsearch_index_get- Get index detailsazure__searchwith commandsearch_query- Query search index
Speech
azure__speechwith commandspeech_transcribe- Speech to textazure__speechwith commandspeech_synthesize- Text to speech
If Azure MCP is not enabled: In Copilot CLI or Claude Code, ask the user to run /mcp and enable Azure MCP; in other hosts, ask the user to enable Azure MCP through the host's MCP configuration.
AI Search Capabilities
| Feature | Description |
|---|---|
| Full-text search | Linguistic analysis, stemming |
| Vector search | Semantic similarity with embeddings |
| Hybrid search | Combined keyword + vector |
| AI enrichment | Entity extraction, OCR, sentiment |
Speech Capabilities
| Feature | Description |
|---|---|
| Speech-to-text | Real-time and batch transcription |
| Text-to-speech | Neural voices, SSML support |
| Speaker diarization | Identify who spoke when |
| Custom models | Domain-specific vocabulary |
| Client SDK diagnostics | Speech SDK client diagnostics for log collection, offline analysis, features, and session/result IDs (no MCP or login required) |
SDK Quick References
For programmatic access to these services, see the condensed SDK guides:
AI Search: Python | TypeScript | .NET
OpenAI: .NET
Transcription: Python
Translation: Python | TypeScript
Document Intelligence: .NET | TypeScript
Content Safety: Python | TypeScript | Java
Service Details
For deep documentation on specific services:
AI Search indexing and queries -> Azure AI Search documentation
Speech transcription patterns -> Azure AI Speech documentation
Speech SDK client logs and troubleshooting -> Speech SDK client diagnostics
Files
- ATTRIBUTION.mdAdded by AutoGineer956 B
- LICENSELicence file added by AutoGineer1.1 KiB
- SKILL.md3.6 KiB
- references/auth-best-practices.md6.1 KiB
- references/sdk/azure-ai-contentsafety-java.md1.4 KiB
- references/sdk/azure-ai-contentsafety-py.md1.3 KiB
- references/sdk/azure-ai-contentsafety-ts.md1.4 KiB
- references/sdk/azure-ai-document-intelligence-dotnet.md1.4 KiB
- references/sdk/azure-ai-document-intelligence-ts.md1.5 KiB
- references/sdk/azure-ai-openai-dotnet.md1.4 KiB
- references/sdk/azure-ai-transcription-py.md1.2 KiB
- references/sdk/azure-ai-translation-text-py.md1.3 KiB
- references/sdk/azure-ai-translation-ts.md1.3 KiB
- references/sdk/azure-ai-vision-imageanalysis-java.md1.3 KiB
- references/sdk/azure-ai-vision-imageanalysis-py.md1.3 KiB
- references/sdk/azure-search-documents-dotnet.md1.3 KiB
- references/sdk/azure-search-documents-py.md1.5 KiB
- references/sdk/azure-search-documents-ts.md1.2 KiB
- references/speech/azure-checks.md3.5 KiB
- references/speech/collection.md3.5 KiB
- references/speech/diagnostics.md3.9 KiB
- references/speech/interpretation.md3.8 KiB
- references/speech/logging-apis.md3.8 KiB
- references/speech/output.md3.5 KiB
- references/speech/source-contract.md3.8 KiB
- references/speech/without-node.md1.9 KiB
- scripts/analyze-speech-sdk-log.mjsScript17.7 KiB
- scripts/analyze-speech-sdk-log.ps1Script1.4 KiB
- scripts/analyze-speech-sdk-log.shScript1.3 KiB
references/auth-best-practices.md
Azure Authentication Best Practices
Source: Microsoft — Passwordless connections for Azure services and Azure Identity client libraries.
Golden Rule
Use managed identities and Azure RBAC in production. Reserve DefaultAzureCredential for local development only.
Authentication by Environment
| Environment | Recommended Credential | Why |
|---|---|---|
| Production (Azure-hosted) | ManagedIdentityCredential (system- or user-assigned) | No secrets to manage; auto-rotated by Azure |
| Production (on-premises) | ClientCertificateCredential or WorkloadIdentityCredential | Deterministic; no fallback chain overhead |
| CI/CD pipelines | AzurePipelinesCredential / WorkloadIdentityCredential | Scoped to pipeline identity |
| Local development | DefaultAzureCredential | Chains CLI, PowerShell, and VS Code credentials for convenience |
Why Not DefaultAzureCredential in Production?
Unpredictable fallback chain — walks through multiple credential types, adding latency and making failures harder to diagnose.
Broad surface area — checks environment variables, CLI tokens, and other sources that should not exist in production.
Non-deterministic — which credential actually authenticates depends on the environment, making behavior inconsistent across deployments.
Performance — each failed credential attempt adds network round-trips before falling back to the next.
Production Patterns
.NET
using Azure.Identity;
var credential = Environment.GetEnvironmentVariable("AZURE_FUNCTIONS_ENVIRONMENT") == "Development"
? new DefaultAzureCredential() // local dev — uses CLI/VS credentials
: new ManagedIdentityCredential(); // production — deterministic, no fallback chain
// For user-assigned identity: new ManagedIdentityCredential("<client-id>")TypeScript / JavaScript
import { DefaultAzureCredential, ManagedIdentityCredential } from "@azure/identity";
const credential = process.env.NODE_ENV === "development"
? new DefaultAzureCredential() // local dev — uses CLI/VS credentials
: new ManagedIdentityCredential(); // production — deterministic, no fallback chain
// For user-assigned identity: new ManagedIdentityCredential("<client-id>")Python
import os
from azure.identity import DefaultAzureCredential, ManagedIdentityCredential
credential = (
DefaultAzureCredential() # local dev — uses CLI/VS credentials
if os.getenv("AZURE_FUNCTIONS_ENVIRONMENT") == "Development"
else ManagedIdentityCredential() # production — deterministic, no fallback chain
)
# For user-assigned identity: ManagedIdentityCredential(client_id="<client-id>")Java
import com.azure.identity.DefaultAzureCredentialBuilder;
import com.azure.identity.ManagedIdentityCredentialBuilder;
var credential = "Development".equals(System.getenv("AZURE_FUNCTIONS_ENVIRONMENT"))
? new DefaultAzureCredentialBuilder().build() // local dev — uses CLI/VS credentials
: new ManagedIdentityCredentialBuilder().build(); // production — deterministic, no fallback chain
// For user-assigned identity: new ManagedIdentityCredentialBuilder().clientId("<client-id>").build()Local Development Setup
DefaultAzureCredential is ideal for local dev because it automatically picks up credentials from developer tools:
Azure CLI —
az loginAzure Developer CLI —
azd auth loginAzure PowerShell —
Connect-AzAccountVisual Studio / VS Code — sign in via Azure extension
import { DefaultAzureCredential } from "@azure/identity";
// Local development only — uses CLI/PowerShell/VS Code credentials
const credential = new DefaultAzureCredential();Environment-Aware Pattern
Detect the runtime environment and select the appropriate credential. The key principle: use DefaultAzureCredential only when running locally, and a specific credential in production.
Tip: Azure Functions sets
AZURE_FUNCTIONS_ENVIRONMENTto"Development"when running locally. For App Service or containers, use any environment variable you control (e.g.NODE_ENV,ASPNETCORE_ENVIRONMENT).
import { DefaultAzureCredential, ManagedIdentityCredential } from "@azure/identity";
function getCredential() {
if (process.env.NODE_ENV === "development") {
return new DefaultAzureCredential(); // picks up az login / VS Code creds
}
return process.env.AZURE_CLIENT_ID
? new ManagedIdentityCredential(process.env.AZURE_CLIENT_ID) // user-assigned
: new ManagedIdentityCredential(); // system-assigned
}Security Checklist
[ ] Use managed identity for all Azure-hosted apps
[ ] Never hardcode credentials, connection strings, or keys
[ ] Apply least-privilege RBAC roles at the narrowest scope
[ ] Use
ManagedIdentityCredential(notDefaultAzureCredential) in production[ ] Store any required secrets in Azure Key Vault
[ ] Rotate secrets and certificates on a schedule
[ ] Enable Microsoft Defender for Cloud on production resources
Further Reading
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.
Needs: Needs an MCP server, Needs Node.js
Security
What our scanner noticed· Low risk
- Instructions that use the network
- 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/azure-skills/skills/azure-ai · commit 0696600
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from .github/plugins/azure-skills/LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
- Also distributed in
- microsoft/azure-skills
AutoGineer is not affiliated with or endorsed by Microsoft.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download azure-ai.zip